[發明專利]知識驅動的軟件缺陷檢測與分析方法及系統在審
| 申請號: | 202110726068.8 | 申請日: | 2021-06-29 |
| 公開(公告)號: | CN113434418A | 公開(公告)日: | 2021-09-24 |
| 發明(設計)人: | 薄莉莉;曹思聰;孫小兵;李世豪;李斌 | 申請(專利權)人: | 揚州大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F40/211;G06F40/253;G06F40/295;G06F40/30;G06F16/28;G06K9/62;G06N3/04;G06N3/08 |
| 代理公司: | 南京蘇高專利商標事務所(普通合伙) 32204 | 代理人: | 孟紅梅 |
| 地址: | 225009 *** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 知識 驅動 軟件 缺陷 檢測 分析 方法 系統 | ||
1.一種知識驅動的軟件缺陷檢測與分析方法,其特征在于,所述方法包括以下步驟:
步驟1,采集公開的缺陷數據,包括缺陷報告以及缺陷代碼,構建缺陷數據集;
步驟2,對缺陷代碼進行預處理,通過代碼特征圖對代碼進行建模并嵌入到向量空間;其中代碼特征圖根據抽象語法樹AST、控制流圖CFG和程序依賴圖PDG構造,圖的邊類型由AST、CFG和PDG構成,節點集由抽象語法樹AST的節點集構成;從代碼特征圖中提取與缺陷代碼行相關的缺陷特征子圖進行圖嵌入;
步驟3,通過圖神經網絡學習缺陷代碼隱式特征,訓練缺陷檢測模型;
步驟4,對待檢測項目進行處理,輸入最優的檢測模型中,檢測項目中存在的缺陷,并將檢測到的缺陷依據其缺陷類型與缺陷數據集中的同類型已知缺陷進行相似度計算,匹配相似度最高的已知缺陷;
步驟5,提取相似缺陷報告中有語義價值的缺陷知識,進行知識融合與檢測,構建軟件缺陷知識圖譜,通過挖掘相似缺陷報告中的關鍵信息以輔助開發者理解檢測出的缺陷。
2.根據權利要求1所述的知識驅動的軟件缺陷檢測與分析方法,其特征在于,步驟1所述采集公開的缺陷數據,構建缺陷數據集,具體過程包括:
步驟1-1,從缺陷追蹤庫和開源代碼庫中采集公開的缺陷數據,包括缺陷報告以及缺陷代碼;
步驟1-2,對采集到的缺陷數據進行預處理,從函數級別提取缺陷代碼,對函數級缺陷代碼進行清洗,去除包括代碼注釋、聲明的全局參數在內的多余信息,得到缺陷數據集。
3.根據權利要求1所述的知識驅動的軟件缺陷檢測與分析方法,其特征在于,步驟2所述對缺陷代碼進行預處理,通過代碼特征圖對代碼進行建模并嵌入到向量空間,具體過程包括:
步驟2-1,依據缺陷報告中的描述信息,結合缺陷發生的原因,對缺陷進行分類,并通過抽象關系,對缺陷子類型進行歸并,獲得缺陷類型表,其中缺陷類型包括功能缺陷、接口缺陷、邏輯缺陷、計算缺陷和數據缺陷;
步驟2-2,對缺陷數據集中的缺陷數據進行分類,構建語料庫,并劃分訓練集和驗證集;
步驟2-3,對訓練集中的缺陷代碼進行代碼表征,將缺陷代碼表示為抽象語法樹AST、控制流圖CFG和程序依賴圖PDG,并將三種圖進行合成,構造代碼特征圖,其中圖的邊類型由AST、CFG和PDG構成,節點集由抽象語法樹AST的節點集構成;
步驟2-4,通過程序切片對步驟2-3得到的缺陷代碼特征圖進行切分,得到與缺陷代碼行相關的缺陷特征子圖;
步驟2-5,識別缺陷特征子圖中的變量名和函數名,依據在單個函數內的出現順序重命名,以對代碼進行標準化,剔除人為命名帶來的噪聲;
步驟2-6,使用Word2Vec和Doc2Vec分別對缺陷特征子圖中的葉子節點和語句節點進行圖嵌入,獲得可作為圖神經網絡輸入的向量表示。
4.根據權利要求1所述的知識驅動的軟件缺陷檢測與分析方法,其特征在于,步驟3所述通過圖神經網絡學習缺陷代碼隱式特征,訓練缺陷檢測模型,具體過程包括:
步驟3-1,將缺陷特征子圖輸入到關系圖卷積網絡中,進行訓練;其中,步驟2得到的圖嵌入向量表示作為關系圖卷積網絡迭代所需的初始節點向量;
步驟3-2,通過關系圖卷積網絡,對節點特征進行迭代聚合,第l次聚合過程通過下述公式計算得到:
其中,表示節點i在關系r∈R下的鄰居節點集合,R是關系集合,包括邊類型AST、CFG和PDG;ci,r是一個用于計算與節點i存在關系r的鄰居節點個數;表示對于關系r的轉移矩陣,是一個自連接項,用于確保節點在l次迭代的特征表示也對l+1次迭代的特征表示產生影響;σ(·)是激活函數;
步驟3-3,基于得到的節點特征,通過對特征嵌入向量進行求和,在圖級進行節點聚合,并利用多類別交叉熵損失函數softmax訓練分類器,以得到缺陷檢測模型。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于揚州大學,未經揚州大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110726068.8/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種具有自冷卻保溫功能的鍋爐
- 下一篇:一種建筑垃圾回收再利用裝置





