[發明專利]基于相似度集成的軟件缺陷定位方法在審
| 申請號: | 202010720348.3 | 申請日: | 2020-07-24 |
| 公開(公告)號: | CN112000802A | 公開(公告)日: | 2020-11-27 |
| 發明(設計)人: | 燕雪峰;程莎莎 | 申請(專利權)人: | 南京航空航天大學 |
| 主分類號: | G06F16/35 | 分類號: | G06F16/35;G06F11/36;G06F16/33;G06F40/30;G06N3/04;G06N3/08 |
| 代理公司: | 南京蘇高專利商標事務所(普通合伙) 32204 | 代理人: | 柏尚春 |
| 地址: | 211106 江*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 相似 集成 軟件 缺陷 定位 方法 | ||
1.基于相似度集成的軟件缺陷定位方法,其特征在于,包括以下步驟:
(1)輸入待測軟件的源文件與缺陷報告;
(2)對源文件與缺陷報告進行數據預處理;
(3)計算源文件與缺陷報告的表面文本相似度;
(4)計算源文件與缺陷報告的語義相似度;
(5)分析源文件與缺陷報告的文本屬性;
(6)結合表面文本相似度、語義相似度和文本屬性,構建特征矩陣,將特征矩陣輸入深度神經網絡進行相似度集成,對深度神經網絡模型進行訓練;
(7)對于新的缺陷報告,通過步驟(3)-(5)獲得表面文本相似度、語義相似度和文本屬性,構建特征矩陣,利用步驟(6)中訓練好的深度神經網絡模型,得出含有缺陷的源文件列表。
2.根據權利要求1所述的基于相似度集成的軟件缺陷定位方法,其特征在于,所述步驟(2)過程如下:提取缺陷報告中的摘要、詳細描述和已修復的源文件,利用抽象語法樹提取源文件中的類名、方法名、變量、注釋信息;對缺陷報告與源文件進行文本規范化、去除停用詞、獲取詞根,對源文件和缺陷報告的術語進行詞性標注,僅保留詞性為名詞、動詞、形容詞、副詞的詞匯。
3.根據權利要求1所述的基于相似度集成的軟件缺陷定位方法,其特征在于,所述步驟(3)過程如下:
收集預處理后的源文件與缺陷報告,利用詞頻-逆文檔頻率計算每個單詞的權重,表達式為:
式中,tfi,s是指源文件s中出現術語i的次數,#src_files是指語料庫中源文件個數,dfi是指含有術語i的文檔數量;
由于較大的源文件有更高的出錯概率,源文件長度計算公式為:
式中λ參數用于調整對較大文件的偏愛程度,λ0;|s|為源文件中術語個數;
利用余弦距離與源文件長度計算源文件與缺陷報告表面文本相似度:
其中,b為缺陷報告;
利用缺陷報告與所有函數和整個源文件表面文本相似度的最大值來表示缺陷報告與源文件的表面文本相似性,公式如下:
SurfaceSim=max({VSMSim(b,s)}∪{VSMSim(b,m)|m∈s})
其中m表示源文件中的函數。
4.根據權利要求1所述的基于相似度集成的軟件缺陷定位方法,其特征在于,所述步驟(4)過程如下:
采用google開源的Word2vec作為訓練工具,將維基語料庫中文本分為訓練數據和測試數據,用Skip-gram模型進行訓練;利用已經訓練好的Skip-gram模型將源文件和缺陷報告中的每個單詞表示為300維的向量,公式分別為
式中wi,s為使用Skip-gram模型獲得源文件s中某一術語i的單詞向量;s*為源文件的向量表示;b*為缺陷報告的向量表示;
根據以上獲取的向量,利用余弦距離表示源文件與缺陷報告的語義相似度,同時利用缺陷報告與所有函數和整個源文件語義相似度的最大值來表示缺陷報告與源文件的語義相似性,公式如下:
SemanticSim=max({cos(b*,s*)}∪{cos(b*,m*)|m∈s})。
5.根據權利要求1所述的基于相似度集成的軟件缺陷定位方法,其特征在于,所述步驟(5)過程如下:文本屬性包括令牌匹配、堆棧信息和已修復的缺陷報告,利用源文件中文件名、方法名、類名和注釋分別與缺陷報告中摘要和詳細描述進行令牌匹配,令牌匹配個數表示源文件與缺陷報告的相似度;利用正則表達式((.*?)\((.*?)\))來提取缺陷報告詳細描述中堆棧信息,源文件在堆棧中排名的倒數來衡量源文件與缺陷報告相似度;對每個缺陷報告使用多標簽分類算法,僅對歷史缺陷報告進行分類,從而對待定位缺陷報告相關的源文件進行評分。
6.根據權利要求1所述的基于相似度集成的軟件缺陷定位方法,其特征在于,所述步驟(6)過程如下:將所有相應的含有缺陷的源文件以及所有的已修復缺陷報告創建正樣本,選擇在表面文本相似度中排名前幾百的且不含有缺陷的源文件作為負樣本;對這些正、負樣本利用信息檢索和詞嵌入計算缺陷報告和源文件的表面文本相似度和語義相似度,同時分析這些樣本的文本屬性;將缺陷報告按照提交時間進行排序,把正、負樣本分成兩個部分,其中80%作為訓練集,另外20%作為測試集;將以上特征構成的特征矩陣作為深度神經網絡的輸入,進行非線性組合,對深度神經網絡模型進行訓練。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于南京航空航天大學,未經南京航空航天大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010720348.3/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種食品加工自動串肉串設備
- 下一篇:一種濾油器加壓裝置





