[發明專利]一種基于多圖多標記學習的軟件Bug檢測方法在審
| 申請號: | 202111514505.6 | 申請日: | 2021-12-13 |
| 公開(公告)號: | CN114168478A | 公開(公告)日: | 2022-03-11 |
| 發明(設計)人: | 印瑩;趙宇海;任晨鳳 | 申請(專利權)人: | 東北大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F16/901;G06F40/242;G06K9/62;G06N3/08 |
| 代理公司: | 沈陽東大知識產權代理有限公司 21109 | 代理人: | 梁焱 |
| 地址: | 110819 遼寧*** | 國省代碼: | 遼寧;21 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 多圖多 標記 學習 軟件 bug 檢測 方法 | ||
本發明公開了一種基于多圖多標記學習的軟件Bug檢測方法,屬于軟件缺陷檢測技術領域。該方法充分利用源代碼中的圖結構信息,并充分利用源代碼和Bug報告之間深層次的語義關聯,找到多圖和多標記的對應關系,提供了基于程序源代碼和對應Bug報告的多圖多標記Bug檢測數據的產生方法,將源代碼和Bug報告轉化為多圖多標記數據來解決Bug的檢測問題;并從圖級和包級兩個方面考慮,提出針對多圖多標記數據的區分子圖度量準則,進一步將多圖多標記數據轉化成計算機可以處理的向量形式的多示例多標記數據;傳統的分類器鏈不能恰當地考慮標記排序問題,隨機進行標記排列可能會造成性能下降,而本發明考慮了多標記之間的依賴關系可以極大地提高檢測精度。
技術領域
本發明屬于軟件缺陷檢測技術領域,具體涉及一種基于多圖多標記學習的軟件Bug檢測方法。
背景技術
由于軟件缺陷是影響軟件開發效率和軟件質量的關鍵因素,軟件缺陷發現成為了軟件工程領域的熱點問題,缺陷發現的目的是定位缺陷具體所在的源代碼的位置(如組件、包、文件或代碼行),進而引導開發人員及時消除缺陷,以提高軟件開發效率和提升軟件質量,節省軟件開發成本。目前,在海量的代碼倉庫背景下,基于文本靜態分析的軟件缺陷檢測方法受到了越來越多的關注。
基于文本靜態分析的軟件缺陷檢測方法主要基于Bug報告和程序源代碼兩個語料庫來進行缺陷發現。如Zhou等人提出的Bug檢測方法是基于Bug報告和程序源代碼兩個語料庫的,該方法在語料庫中使用諸如停用詞刪除、詞干提取等文本處理方法,進一步通過向量空間模型(rVSM)測量兩個語料庫的相似性,該方法準確性不高。Lukins等人提出基于方法級Bug檢測方法,該方法以源代碼中的方法為度量單位,使用停用詞刪除、詞干處理等技術來處理源代碼,最后,使用潛在語義索引(LSI)識別Bug報告和方法的概念之間的關系,進行缺陷發現。但該方法忽視了程序的結構信息,這使得缺陷檢測的精度不高。Rahman S等人提出基于語句級的Bug檢測方法,該方法從源代碼中識別帶有Bug的語句,對帶缺陷語句的方法進行排序,對于每個排序的方法,構造一個方法級別的依賴圖(MSDG),每個語句都是該圖的一個節點,生成節點-先驅節點依賴關系圖(NPDG)。該方法通過使用向量空間模型(VSM)在缺陷和NPDG中的每個節點之間測量相似度。該方法構建的節點依賴關系圖只考慮了節點之間的執行順序,沒有考慮程序之間的數據依賴關系,會丟掉一些重要信息。綜上,目前基于文本靜態分析的缺陷檢測方法存在以下不足:
1)、現有的缺陷檢測技術大多關注于源代碼語義信息的提取,沒有充分利用程序的圖結構信息。考慮到軟件工程中的程序代碼是帶有執行依賴關系和數據依賴關系的圖結構信息,這些圖結構信息包含了程序語句之間的調用依賴關系和數據依賴關系,進而忽視了程序源代碼和缺陷報告之間的深層次的語義關聯,導致Bug檢測的精度不高;
2)、沒有充分考慮到程序代碼的多Bug特性,一個項目的軟件源代碼中可能不僅僅包含一個Bug信息而是多個Bug信息同時存在,這就意味著缺陷檢測不能僅僅局限于單bug檢測問題,而是要考慮多Bug的檢測問題。然而,目前考慮基于程序源代碼的多Bug檢測問題的研究較少。
發明內容
針對現有技術存在的不足,本發明提出一種基于多圖多標記學習的軟件Bug檢測方法,旨在充分考慮源代碼中的圖結構信息和對應的多Bug標記,結合代碼倉庫中的Bug報告實現軟件Bug的檢測,以提高Bug檢測的精度。
本發明的的技術方案為:
一種基于多圖多標記學習的軟件Bug檢測方法,該方法包括以下步驟:
步驟1:基于程序源代碼對應的Bug報告獲得所述程序源代碼的Bug多標記,從而生成程序源代碼的多標記數據;
步驟2:生成程序源代碼的多圖數據MG,從而獲得與程序源代碼相對應的多圖多標記數據;
步驟3:從步驟2獲得的多圖數據MG中挖掘頻繁子圖,獲得頻繁子圖集frequencyG;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于東北大學,未經東北大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111514505.6/2.html,轉載請聲明來源鉆瓜專利網。





