[發明專利]一種基于源代碼文件依賴關系的軟件缺陷定位系統有效
| 申請號: | 202011171646.8 | 申請日: | 2020-10-28 |
| 公開(公告)號: | CN112286807B | 公開(公告)日: | 2022-01-28 |
| 發明(設計)人: | 孫海龍;劉旭東;袁薇;齊斌航 | 申請(專利權)人: | 北京航空航天大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F40/30;G06N3/00 |
| 代理公司: | 北京中創陽光知識產權代理有限責任公司 11003 | 代理人: | 尹振啟 |
| 地址: | 100191*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 源代碼 文件 依賴 關系 軟件 缺陷 定位 系統 | ||
本發明通過人工智能領域的方法,實現了一種基于源代碼文件依賴關系的軟件缺陷定位系統,系統分為輸入、運算、輸出三個模塊,輸入模塊用于導入缺陷報告和源碼文件,輸出模塊用于將源碼文件按照相關性得分排序后對外輸出,運算模塊采用DependLoc框架,由三個子模塊組成,CNN4TFIDF模型子模塊根據缺陷報告和源碼文件的TF?IDF向量,捕獲文本特征;片段RefHI編碼器子模塊將缺陷報告和源碼文件編碼成具有源碼依賴關系特征的向量;CNN4RefHI子模塊基于缺陷報告和源碼文件的RefHI向量它們之間的相關性得分;從而實現了有效區分錯誤和非錯誤源碼文件;覆蓋當前應用中的所有源碼文件;充分利用缺陷報告和源代碼文件的TF?IDF向量表示中的信息的技術效果。
技術領域
本發明涉及人工智能領域,尤其涉及一種基于源代碼文件依賴關系的軟件缺陷定位系統。
背景技術
開源軟件通常使用缺陷追蹤系統(如Bugzilla和JIRA)對缺陷進行記錄,每天都有大量的缺陷報告提交。缺陷報告中包含對缺陷的描述,失效時的相關程序狀態、日志等。因此,研究人員試圖根據提交的缺陷報告,自動定位到出錯的程序實體。基于缺陷報告的缺陷定位可被看作是一個查詢問題,即對于給定的缺陷報告(查詢),需要從應用的所有源代碼文件(文檔)中找到可能出錯的文件,并將可疑的源碼文件按照出錯的可能性進行排名。近些年來,圍繞缺陷報告進行定位的研究工作主要可劃分為兩類:采用信息檢索技術和采用深度學習技術。
基于信息檢索的缺陷定位的相關研究工作可從信息檢索的三個要素進行分類:檢索模型、文檔(表示)、以及查詢(表示)。多數研究工作關注于如何利用或優化信息檢索模型來提高缺陷定位的準確性。其中,對于缺陷定位,向量空間模型(VSM)已被證明效果優于其他常用信息檢索模型。BugLocator是利用VSM的代表性研究工作。該工作利用TF-IDF分別將缺陷報告和源代碼文件向量化,然后通過計算余弦相似度來衡量它們之間的相似性。BugLocator在VSM的基礎上還考慮了源代碼文件大小(即文件越大,出錯的可能性越高),和已被修復缺陷的修復信息(即如果兩個缺陷報告相似度較高,那它們可能需要修復相似的文件)。
基于深度學習的缺陷定位為基于信息檢索的定位方法,主要依賴于缺陷報告和源代碼文件的文本相似度。但以自然語言為主的缺陷報告和以編程語言為主的源代碼文件之間存在詞法失配問題。當缺陷報告和源碼文件的重疊信息較少時,定位效果并不好。因此,深度學習技術被引入用來提高定位的準確性。采用深度學習技術的缺陷定位中,一些研究工作不僅利用詞嵌入(word embedding)技術(如Word2Vec)來捕獲缺陷報告和源代碼文件之間的語義相似度,還利用深度神經網絡(DNN)對多種特征(例如,基于VSM的文本相似度,基于DNN的相似度,缺陷修復歷史(如文件被修復的頻率和時近性))進行非線性組合來計算源代碼文件的可疑度,如HyLoc以及DNNLoc。還有一些研究工作利用不同的網絡模型來處理缺陷報告和源代碼文件,以便更好地提取源代碼的結構信息,如NP-CNN。或是利用不同的向量化方法(如詞嵌入、句子嵌入)來表示缺陷報告和源代碼文件,如DeepLoc。
其中,Yoon Kim提出的用于文本分類的卷積神經網絡(CNN)模型經常被用于處理詞嵌入之后的本文向量。
以上現有技術存在如下問題:
基于信息檢索的缺陷定位,不能解決缺陷報告和源代碼文件之間的詞法失配問題。基于深度學習技術的缺陷定位中,雖然利用不同的嵌入技術(如詞嵌入、句子嵌入、文檔嵌入等)和不同的網絡模型(如卷積神經網絡、循環神經網絡)來捕獲缺陷報告和源代碼中的語義信息,但并未考慮源代碼之間的關聯關系。而通研究發現,對于一些缺陷,雖然出錯的源代碼文件與缺陷報告并不高度相似,但該文件與那些和缺陷報告高度相似的源代碼文件之間存在依賴關系。因此,依賴關系可以被用于提高缺陷定位的準確性。
此外,現有工作中,雖然TF-IDF向量經常被用于缺陷報告和源代碼文件的表示,但僅通過簡單的余弦相似度來衡量它們之間的文本相似度。事實上,缺陷報告和源代碼文件的TF-IDF向量還可用捕獲除文本相似度之外的特征,有助于提高定位的準確性。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京航空航天大學,未經北京航空航天大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011171646.8/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種基于實數小波變換的地震波相位譜擾動方法
- 下一篇:一種蓋板及其制備方法





