[發明專利]一種基于聚類分析的軟件缺陷修復模板提取方法有效
| 申請號: | 201810637180.2 | 申請日: | 2018-06-20 |
| 公開(公告)號: | CN109165155B | 公開(公告)日: | 2021-06-22 |
| 發明(設計)人: | 孫小兵;朱軒銳;李斌 | 申請(專利權)人: | 揚州大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F8/41;G06F8/70 |
| 代理公司: | 南京理工大學專利中心 32203 | 代理人: | 馬魯晉 |
| 地址: | 226009 *** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 聚類分析 軟件 缺陷 修復 模板 提取 方法 | ||
本發明公開了一種基于聚類分析的軟件缺陷修復模板提取方法,屬于軟件維護領域,步驟如下:首先定義bug的細粒度修改模式,并識別出每個bug相關的細粒度修改模式;接著對每個bug相關的細粒度修改模式的程序元素進行捕獲;之后獲取每個bug的頂層修改模式多重集,然后進行層次聚類分析,獲得聚類后的多個頂層修改模式多重集;之后獲取每個頂層修改模式多重集對應的新的修改模式多重集;再根據程序元素之間的關系獲取修改模式多重集圖;然后對修改模式多重集圖進行分割優化,獲得修改模式聚類;最后根據修改模式聚類構建軟件缺陷修復模板。本發明的方法獲得的修復模板具有語義特征,其普適性和通用性更強,提高了缺陷修復的效率和精度。
技術領域
本發明屬于軟件維護領域,特別是一種基于聚類分析的軟件缺陷修復模板提取方法。
背景技術
由于軟件產品的規模和復雜性爆炸式增長,開發高質量軟件變得越來越具有挑戰性,所以軟件系統中的錯誤不可避免。通過研究軟件缺陷模式,測試人員可以在測試過程中更快地對缺陷進行修復;開發人員也可以在開發過程中考慮采用什么樣的開發技術預防這些缺陷模式的再次出現,從而提高軟件開發和測試團隊的整體水平。因此,對軟件缺陷修復模式的研究越來越重要。
目前針對軟件缺陷修復模式有很多技術,包括補丁產生和動態程序狀態恢復。一系列的技術均圍繞“基于測試套件的修復”這個主題,其目的是產生一個補丁,使錯誤的測試集能通過并且其他的測試集也能滿足測試。但在真實的項目中通過所有的測試并不一定意味著該程序是正確的,而且如果修復系統的精度較低,開發人員仍需手動審查補丁,而目前的基于測試的修復技術精度都不高。針對基于測試的修復技術精度低的問題,很多學者對此有大量的研究,發現修復系統很難從大量合理的補丁中識別出正確的程序補丁。而解決這一問題的方法是根據補丁的正確概率對補丁進行排序,并以最高的可能性返回可能的補丁,但是此方法的精度還不令人滿意。基于細粒度的修復方式能夠更準確、更高效率得完成軟件修復,在實際的軟件維護過程中,缺陷的類型及修復模式往往有很多,而目前提出的基于細粒度的修復模式技術只限于解決特定項目中的特定缺陷代碼,普適性差,不能適用于任意軟件缺陷修復的需求。
發明內容
本發明所解決的技術問題在于提供一種基于聚類分析的軟件缺陷修復模板提取方法。
實現本發明目的的技術解決方案為:一種基于聚類分析的軟件缺陷修復模板提取方法,包括以下步驟:
步驟1、定義bug的細粒度修改模式,之后對bug缺陷庫中的bug進行文本分析處理,識別出每個bug相關的細粒度修改模式;
步驟2、利用代碼分析技術對每個bug相關的細粒度修改模式的程序元素進行捕獲;
步驟3、確定步驟2捕獲的每個bug中程序元素之間的關系,然后將同一類型的頂層程序元素歸為該bug的一個頂層修改模式多重集;之后對所有bug的頂層修改模式多重集進行層次聚類,獲得聚類后的多個頂層修改模式多重集;
步驟4、根據頂層修改模式多重集對應的程序元素,獲取每個頂層修改模式多重集對應的新的修改模式多重集;
步驟5、根據程序元素之間的關系,確定步驟4獲得的多個新的修改模式多重集之間的關系,之后對新的修改模式多重集進行連接,獲得修改模式多重集圖;
步驟6、利用頻繁模式挖掘技術對步驟5獲得的修改模式多重集圖進行分割優化,獲得修改模式聚類;
步驟7、根據步驟6獲得的修改模式聚類構建軟件缺陷修復模板。
本發明與現有技術相比,其顯著優點為:(1)本發明的方法依據bug的細粒度修改模式,通過語義、上下文及依賴關系對bug修改模式進行聚類分析,獲得的修復模板具有語義特征,其普適性和通用性更強;(2)本發明的方法獲得的修復模板更全面,對缺陷模式的研究以及缺陷分類具有指導意義,提高了缺陷修復的效率;(3)本發明的方法獲得的修復模板,建立了bug之間的關系,提高了缺陷修復的精度。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于揚州大學,未經揚州大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810637180.2/2.html,轉載請聲明來源鉆瓜專利網。





