亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種基于開源軟件缺陷代碼修改模式的缺陷信息提取方法

文檔序號:8380873閱讀:461來源:國知局
一種基于開源軟件缺陷代碼修改模式的缺陷信息提取方法
【技術領域】
[0001] 本發(fā)明應用于軟件缺陷分析領域,是一種基于開源軟件缺陷代碼修改模式的缺陷 ?目息提取方法。
【背景技術】
[0002] 隨著現(xiàn)代信息技術的發(fā)展,計算機軟件的應用已經(jīng)擴展到經(jīng)濟、國防的各個部門, 在航空、航天、核能、通訊等關鍵領域的應用也日益廣泛,這些部門或領域都需要日益復雜 的軟件來維持其正常的工作。軟件一旦產(chǎn)生失效,就會對這些工作帶來嚴重的后果,在某些 高危系統(tǒng)中甚至會導致災難性的后果。軟件缺陷是導致軟件失效的根本原因,對軟件缺陷 的研宄可以提升軟件質(zhì)量。由于缺陷的數(shù)目和種類都很多,需要采集足夠數(shù)量的軟件缺陷 數(shù)據(jù),采用合適的缺陷分析方法,才能對軟件缺陷進行深入研宄。
[0003] 近年來,開源軟件網(wǎng)站的發(fā)展匯集了大量的高水平編程人員,開源軟件的數(shù)量也 越來越多。這些開源軟件或通過個人努力或通過集體開發(fā)不斷更新,逐步完善,積累了大量 與軟件缺陷相關的歷史信息,即版本演化信息。這些信息通常包含軟件各版本的源代碼,更 改的文本記錄和變更代碼等,能一定程度上反映軟件的狀態(tài),為后續(xù)開發(fā)工作提供指導。因 此,開源軟件的演化過程信息可作為軟件缺陷分析研宄的數(shù)據(jù)來源,而現(xiàn)在對開源軟件缺 陷信息的分析還很少,因此可以借鑒相關的軟件缺陷分析方法對開源軟件信息進行分析, 并采集缺陷數(shù)據(jù)。
[0004] 軟件缺陷模式是對軟件中出現(xiàn)的重復或類似的缺陷進行抽象得出的規(guī)律描述。對 已有軟件缺陷的分析可知,很大數(shù)量的缺陷是重復的,或表現(xiàn)形式相同,或產(chǎn)生原因近似, 即缺陷及其產(chǎn)生過程遵循一定的規(guī)律。通過對其規(guī)律的總結與歸納,可獲取軟件的缺陷模 式。利用軟件缺陷模式可避免類似缺陷的引入及發(fā)現(xiàn)類似的缺陷。開源軟件演化過程的變 更代碼信息也遵循一定的更改規(guī)律,可以通過對這些規(guī)律的總結歸納得到其缺陷代碼修改 模式,從而獲取開源軟件中的缺陷信息。
[0005] 因此,可以對開源軟件演化過程信息進行分析,提取出其中的缺陷信息及缺陷代 碼樣例,一方面能夠為軟件缺陷分析提供數(shù)據(jù)基礎,另一方面提出了一種獲取軟件缺陷信 息的新途徑,在一定程度上促進了軟件缺陷研宄領域的研宄工作。

【發(fā)明內(nèi)容】

[0006] 本發(fā)明針對目前軟件缺陷數(shù)據(jù)較少,且開源軟件演化過程信息未得到充分利用的 情況,提出了一種基于開源軟件缺陷代碼修改模式的缺陷信息提取方法。
[0007] 本發(fā)明提出的一種基于開源軟件缺陷代碼修改模式的缺陷信息提取方法,包括以 下步驟:
[0008] 步驟1 :根據(jù)開源軟件演化過程信息,提取缺陷代碼修改模式;
[0009] 根據(jù)其變更代碼的增刪情況,歸納該類缺陷代碼修改模式的缺陷特征項,針對單 行語句的特征提出基礎缺陷特征項,針對多行語句間的關系提出對比缺陷特征項?;A缺 陷特征項包括代碼增刪標識、關鍵詞、操作符和語句類型;對比缺陷特征項包括語句操作數(shù) 變更、語句操作符變更、函數(shù)調(diào)用參數(shù)變更、以及控制語句內(nèi)容變更。將缺陷代碼修改模式 信息以xml形式存儲。
[0010] 步驟2 :分析待測的開源軟件的變更代碼信息,獲取各行代碼的信息,包括代碼編 號、增刪標志、關鍵詞、操作符、語句類型及語句內(nèi)容。
[0011] 步驟3 :將變更代碼信息與缺陷代碼修改模式進行匹配,包括基礎缺陷特征項匹 配和對比缺陷特征項進行匹配。根據(jù)匹配結果從變更代碼信息中提取出符合缺陷代碼修改 模式的缺陷代碼樣例。
[0012] 本發(fā)明與現(xiàn)有技術相比,具有以下明顯優(yōu)勢:
[0013] 本發(fā)明提出的缺陷信息提取方法,能夠針對開源軟件的演化過程,根據(jù)其缺陷信 息變更代碼的特征進行分析,是通過比較各版本間的變更差異進行直接分析,所提出的缺 陷代碼修改模式與傳統(tǒng)的軟件缺陷模式有一定區(qū)別;通過該方法能夠有效地提取出開源軟 件演化信息中的類似的缺陷信息,且能實現(xiàn)自動化的采集工作。能夠為軟件缺陷分析提供 數(shù)據(jù)支持。
【附圖說明】
[0014] 圖1是本發(fā)明開源軟件缺陷信息提取方法的整體步驟示意圖;
[0015] 圖2是本發(fā)明的缺陷代碼修改模式的xml表示示意圖;
[0016] 圖3是本發(fā)明的開源軟件變更代碼信息分析流程示意圖;
[0017] 圖4是本發(fā)明的缺陷代碼修改模式匹配流程示意圖。
【具體實施方式】
[0018] 為了便于本領域普通技術人員理解和實施本發(fā)明,下面結合附圖對本發(fā)明作進一 步的詳細描述。
[0019] 本發(fā)明針對軟件缺陷分析中缺陷數(shù)據(jù)不足,同時開源軟件演化過程包含大量缺陷 信息這一情況,在借鑒軟件缺陷分類,軟件缺陷模式等軟件缺陷分析方法的基礎上,提出了 基于開源軟件缺陷代碼修改模式的缺陷信息提取方法,根據(jù)對開源軟件演化過程中的缺陷 更改形式的歸納總結,得到其缺陷代碼的修改模式,然后獲取演化信息中變更代碼的相關 內(nèi)容,將其與已有的缺陷代碼修改模式進行匹配,從開源軟件演化信息的變更代碼中提取 出缺陷代碼樣例信息。
[0020] 本發(fā)明基于開源軟件缺陷代碼修改模式的缺陷信息提取方法主要由三個部分構 成:開源軟件缺陷代碼修改模式的獲取,開源軟件演化過程變更代碼的分析,以及開源軟件 缺陷代碼的提取。
[0021] 在基于開源軟件缺陷代碼修改模式的缺陷信息提取過程中,對缺陷代碼修改模式 的定義如下:
[0022] 缺陷代碼修改模式是指在開源軟件演化過程信息中重復出現(xiàn)的具有一定規(guī)律的 缺陷代碼修改形式的統(tǒng)一描述。
[0023] 基于開源軟件缺陷代碼修改模式的缺陷信息提取方法如圖1所示,主要包括三個 步驟:開源軟件缺陷代碼修改模式的提取,開源軟件變更代碼的分析,開源軟件缺陷代碼樣 例的提取,下面詳細介紹每一步驟。
[0024] 步驟1 :開源軟件缺陷代碼修改模式的提取,是指對開源軟件演化過程中缺陷信 息的變更代碼內(nèi)容進行分析和其規(guī)律的歸納總結,得到其缺陷代碼修改模式的過程。根據(jù) 開源軟件缺陷信息的變更代碼的增刪情況,歸納該類缺陷代碼修改模式的缺陷特征項,針 對單行語句的特征提出基礎缺陷特征項,針對多行語句間的關系提出對比缺陷特征項。并 將缺缺陷代碼修改模式信息以xml形式存儲
[0025] 開源軟件缺陷信息的變更代碼給出了對該次變更的代碼增刪等修改情況。若有多 個變更代碼的內(nèi)容都出現(xiàn)相同形式的變更,則認為其屬于同一類型的代碼修改方式,結合 對這些缺陷變更的文
當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1