[發明專利]一種面向缺陷定位的代碼搜索方法有效
| 申請號: | 201811412576.3 | 申請日: | 2018-11-26 |
| 公開(公告)號: | CN109558166B | 公開(公告)日: | 2021-06-29 |
| 發明(設計)人: | 孫小兵;常建明;張慶輝 | 申請(專利權)人: | 揚州大學 |
| 主分類號: | G06F8/75 | 分類號: | G06F8/75;G06F8/41 |
| 代理公司: | 南京理工大學專利中心 32203 | 代理人: | 馬魯晉 |
| 地址: | 226009 *** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 面向 缺陷 定位 代碼 搜索 方法 | ||
本發明公開了一種面向缺陷定位的代碼搜索方法,包括以下步驟:首先構建軟件歷史庫中bug報告對應的源代碼文件抽象語法樹;之后提取所有與bug相關的codediff文件,并將codediff文件中連續的代碼修改行定義為一個chunk,建立每個codediff文件的chunk關系圖;之后獲取chunk關系圖中每個節點的重要性分值degree;然后建立bug報告與chunk之間的關系;之后利用知識庫建立工具建立bug?chunk知識庫;接著針對新的bug報告,獲取新的bug報告與bug?chunk知識庫中bug報告的相似度sim;最后結合chunk的重要性分值degree和相似度sim生成chunk列表,實現缺陷的定位。本發明的處理對象以chunk為單位,面向的是一個連續代碼塊,不僅降低了處理數據量,且chunk本身為修改的代碼行,在計算過程中更具有針對性,提高了bug定位的針對性、準確性。
技術領域
本發明屬于軟件維護領域,特別是一種面向缺陷定位的代碼搜索方法。
背景技術
在軟件開發和維護的過程中,許多項目每天要面臨大量bug,例如Mozilla平均每天接收152條新的bug報告,IBM Jazz項目平均每天接收105條新的bug報告,開發維護人員需要花費大量的時間在bug定位和解決上,因此越來越多的bug定位工具被開發用來輔助開發者快速解決bug相關問題。
目前,有許多基于信息檢索模型的bug定位器被廣泛使用,這些檢索模型有VectorSpace Model(VDM)、Latent Symantic Indexing、Latent Dirichlet Allocation(LDA)等。其中,Lukis等人運用LDA模型來進行bug定位,基于Mozilla上bug報告數據,他們使用LSI和LDA模型,在源代碼的標識符和注釋上構建兩個分類器,使用余弦和條件概率相似性計算bug報告和源代碼實體之間的相似性,進而推薦與bug報告最為相似的源代碼實體。但是,該方法只是從語義和特征兩方面來處理代碼,代碼和bug報告之間的聯系局限于語義層面,這種處理方式比較依賴于分類器行為參數(例如如何處理代碼、如何給主題詞加權)的定義,由于參數的范圍很大,很難準確決定哪些參數是否要被忽略。另外,該工作中代碼處理對象是整個代碼文件,巨大的數據處理數量降低了工作的針對性及準確率。
發明內容
本發明所解決的技術問題在于提供一種面向缺陷定位的代碼搜索方法。
實現本發明目的的技術解決方案為:一種面向缺陷定位的代碼搜索方法,包括以下步驟:
步驟1、對軟件歷史庫中的bug報告進行自然語言預處理,并構建bug報告對應的源代碼文件抽象語法樹;
步驟2、提取所有與bug相關的codediff文件,并將codediff文件中連續的代碼修改行定義為一個chunk;在步驟1源代碼文件抽象語法樹的基礎上建立每個codediff文件的chunk關系圖;
步驟3、遍歷chunk關系圖,獲取chunk關系圖中每個節點v的重要性分值degree,并對degree進行標準化處理;
步驟4、根據bug報告與codediff文件之間的一對多關系以及每個codediff文件的chunk關系圖,建立bug報告與chunk之間的關系;
步驟5、結合步驟1的bug報告和步驟4建立的bug報告和chunk之間的關系,利用知識庫建立工具建立bug-chunk知識庫;
步驟6、針對新的bug報告,獲取新的bug報告與bug-chunk知識庫中bug報告的相似度sim;
步驟7、結合bug-chunk知識庫中各個chunk的重要性分值degree和相似度sim生成chunk列表,根據chunk列表即可獲取與新的bug報告中bug相關的代碼,實現缺陷的定位。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于揚州大學,未經揚州大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811412576.3/2.html,轉載請聲明來源鉆瓜專利網。





