[發明專利]一種基于深度神經網絡的軟件缺陷定位方法有效
| 申請號: | 201910368699.X | 申請日: | 2019-05-05 |
| 公開(公告)號: | CN110109835B | 公開(公告)日: | 2021-03-30 |
| 發明(設計)人: | 徐玲;王備;帥鑒航;何健軍;楊夢寧;張小洪;楊丹;葛永新;洪明堅;王洪星;黃晟;陳飛宇 | 申請(專利權)人: | 重慶大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06K9/62;G06N3/04;G06N3/08 |
| 代理公司: | 重慶晟軒知識產權代理事務所(普通合伙) 50238 | 代理人: | 楊曉磊 |
| 地址: | 400044 *** | 國省代碼: | 重慶;50 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 深度 神經網絡 軟件 缺陷 定位 方法 | ||
本申請公開了一種基于深度神經網絡的軟件缺陷定位方法(DMF?BL),該方法主要從缺陷報告和代碼文件等文本數據中提取了文本相似度、結構信息相似度、基于協同過濾算法的缺陷報告相似度、基于缺陷修復歷史的相似度和類名相似度五個特征,并利用深度神經網絡來整合這些特征,從而捕獲特征之間的非線性關系。同時,該方法在六個項目中的23000個缺陷報告上評估了軟件缺陷定位的能力,結果表明,不管是Top 1、5和10中成功定位缺陷的準確率還是平均精度均值(MAP),DMF?BL的性能都要優于目前的缺陷定位技術。
技術領域
本發明涉及軟件測試技術領域,具體來說,是一種基于深度神經網絡(DNN)的多特征軟件缺陷定位方法。
背景技術
對于一個大規模的軟件系統,在軟件開發和維護的整個生命周期,許多項目每天都會收到大量的缺陷報告。開發人員手動完成缺陷定位是一項具有挑戰性且耗時的任務。自動缺陷定位研究旨在自動定位對缺陷報告負責的潛在錯誤文件,以幫助開發人員專注于解決錯誤文件。缺陷跟蹤系統(例如Bugzilla和JIRA)經常被用來記錄和管理缺陷。一旦發現軟件項目的異常行為,開發者或者用戶可以把缺陷報告提交到缺陷跟蹤系統。這些缺陷報告包含了許多字段,例如摘要和詳細描述,它們描述軟件的一個異常行為。這些字段對被分配去修復缺陷的開發者是非常重要的。通常,為了定位到一個缺陷報告對應的代碼文件,開發者需要分析缺陷報告并查看大量代碼文件,以便快速有效地修復它們。不幸的是,這些缺陷報告的數量通常對于開發者來說太大了。例如,到2016年12月,Eclipse項目報告了5100萬個缺陷。對于一個給定的缺陷,手動識別潛在的缺陷文件代價太大了。因此,為了減輕軟件維護團隊的負擔,有效的自動缺陷定位方法需求很大。
現有技術中幾種自動化的缺陷定位方法已經被提出來幫助開發人員專注于潛在的缺陷文件。現有的方法可以分為三組:動態,靜態和動靜混合。
動態方法通常通過收集和分析程序數據、斷點和系統的執行軌跡來定位缺陷。這種方法依賴于在某些輸入條件下跟蹤一組成功或失敗的測試用例的執行軌跡。基于頻譜的缺陷定位,和基于模型的缺陷定位是兩種眾所周知的動態方法。動態方法通常耗時且昂貴,它的準確率高度依賴于測試套件的質量。在實際程序中,由于大多數測試套件可能沒有足夠的代碼覆蓋來定位缺陷,動態方法有可能不可取。
另外一方面,靜態方法不需要執行跟蹤,并且可以在軟件開發的任何階段被運用。它們只需要缺陷報告和代碼文件就能定位缺陷。信息檢索(IR)是被廣泛使用的靜態技術,傳統的基于IR的缺陷定位通常計算缺陷報告中包含的文本描述和代碼文件中的標識符名稱與注釋之間的相似度,然后根據它們的相似度返回一組排好序的代碼文件名稱。為了提高基于IR 的缺陷定位的準確性,還從缺陷報告和代碼文件中提取了許多其他特征,例如結構化信息檢索,缺陷報告中的元數據,動態分析,版本歷史等。這些結合多個特征的方法總是比僅僅使用IR相似度的方法表現得更好。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于重慶大學,未經重慶大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910368699.X/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種測試報告自動生成裝置及方法
- 下一篇:網頁端的操作回放方法和系統





