[發明專利]一種文本代碼相結合的缺陷原因自動分類方法有效
| 申請號: | 201811346186.0 | 申請日: | 2018-11-13 |
| 公開(公告)號: | CN109492106B | 公開(公告)日: | 2022-05-13 |
| 發明(設計)人: | 周澄;李斌;孫小兵;陳定山 | 申請(專利權)人: | 揚州大學 |
| 主分類號: | G06F16/35 | 分類號: | G06F16/35;G06F16/33 |
| 代理公司: | 南京理工大學專利中心 32203 | 代理人: | 馬魯晉 |
| 地址: | 226009 *** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 文本 代碼 相結合 缺陷 原因 自動 分類 方法 | ||
本發明公開了一種文本代碼相結合的缺陷原因自動分類方法,包括以下步驟:首先提取缺陷報告中的文本內容及附錄中的patch文件,之后進行數據清洗形成缺陷數據集;選取狀態為VERIFIED FIXED且附有patch文件的缺陷,構建待分類缺陷集;抽取待分類缺陷集中缺陷的文本內容并進行自然語言處理,之后對其進行類別標注,構建缺陷原因分類集;從patch文件中抽取缺陷修復前、后的diff代碼,獲取缺陷修復中修改的diff代碼對應的缺陷修改結構類別;利用深度學習方法對缺陷原因分類集進行訓練,獲取缺陷原因自動分類器。本發明通過深度學習模型挖掘缺陷報告的語義信息和diff結構特征,能準確預測缺陷的原因類別,明確發生缺陷的可疑代碼結構,從而更準確的引導后續的缺陷定位和缺陷修復。
技術領域
本發明屬于軟件工程缺陷檢測領域,特別是一種文本代碼相結合的缺陷原因自動分類方法。
背景技術
軟件缺陷在軟件開發維護過程中不可避免,缺陷修復也是軟件工程領域研究的經典問題之一。開源軟件社區,例如:源代碼,缺陷報包和問答文檔中均包含大量復雜,語義豐富的缺陷信息和知識,可以幫助開發人員理解錯誤、定位缺陷和修復缺陷。識別缺陷發生原因是制定合理修復方案的前提,但是隨著軟件規模擴增和復雜性提高,缺陷數據量不斷膨脹,現有的缺陷搜索引擎無法幫助開發者在短時間準確查找到必要的歷史缺陷信息,也無從推理缺陷發生的原因。但是目前主要的缺陷跟蹤系統沒有配備自動分類功能,多數都要依靠人工分類,耗時費力。而相關的理論研究工作都是孤立地從缺陷修復提交的commit數據中提取代碼修改結構對缺陷進行分類,或者孤立地從缺陷報告中提取文本信息對缺陷進行分類,沒有全面地分析缺陷,更忽視了文本和代碼之間的關聯關系。
國內外學者提出了一些有影響力的軟件缺陷分類方法,如Putnam等人在“Mea-sures for Excellence:Reliable Software on Time,with in Budget”一文中為了分析軟件開發周期不同階段軟件缺陷的特征,收集了174個軟件缺陷,并將其分為6種原因類別,分類比較簡單。Tharey等人在“Software Engineering,The Development Process”一文中按照軟件測試中填寫和反饋的缺陷報告將軟件缺陷分為16個類別,雖然分類非常詳細,但是實際操作過程十分復雜耗時,且在分類的過程中并沒有考慮缺陷產生的原因。劉等人在《基于抽象語法樹的軟件缺陷自動分類》論文中提出了基于抽象語法樹的軟件缺陷自動分類方法,項目代碼版本控制系統SVN和缺陷追蹤系統中收集Tomcat6、Mapreduce和Solr這三個開源項目的軟件缺陷相關信息,改進SZZ算法,對1174個缺陷提取diff片段的AST,識別代碼變更類別為特征,分為4類。易等人在《面向自動修復的缺陷分類方法研究》論文中面向缺陷自動修復,根據代碼的三種具體修復操作:缺失、錯誤、多余,對IBM正交缺陷分類進行更詳細的劃分,提出了面向軟件自動修復的缺陷分類方法。類似以上劉和易兩種分類均基于已知修復代碼的前提,此外還有大量的基于缺陷報告的缺陷分析技術,但是缺陷原因的相關信息同時存在于缺陷報告評論和修復代碼,以上分類方法只片面的分析了一部分信息,導致原因分類的準確性不是很高。此外,當前對缺陷分類模型的選擇,大多采用傳統的機器學習和淺層神經網絡分類模型,往往需要結合對不同軟件的理解來人工定義特征,不能很好地挖掘文本內容中的語義信息。
發明內容
本發明所解決的技術問題在于提供一種文本代碼相結合的缺陷原因自動分類方法。
實現本發明目的的技術解決方案為:一種文本代碼相結合的缺陷原因自動分類方法,包括以下步驟:
步驟1、提取缺陷報告中的文本內容以及附錄中的patch文件,之后進行數據清洗形成缺陷數據集;
步驟2、從所述缺陷數據集中選取狀態為VERIFIED FIXED且附有patch文件的缺陷,構建待分類缺陷集;
步驟3、抽取待分類缺陷集中缺陷的文本內容,并對其進行自然語言處理,之后根據缺陷原因分類標準對待分類缺陷集進行類別標注,構建缺陷原因分類集;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于揚州大學,未經揚州大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811346186.0/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種基于多特征集成學習的文本情感分類方法
- 下一篇:一種導診的方法及裝置





