[發明專利]一種基于加權軟件網絡的工作量感知缺陷預測方法有效
| 申請號: | 202110323054.1 | 申請日: | 2021-03-26 |
| 公開(公告)號: | CN112711543B | 公開(公告)日: | 2021-06-08 |
| 發明(設計)人: | 宮麗娜;周宇;宮宜輝 | 申請(專利權)人: | 南京航空航天大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 青島錦佳專利代理事務所(普通合伙) 37283 | 代理人: | 朱玉建 |
| 地址: | 211106 江*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 加權 軟件 網絡 工作量 感知 缺陷 預測 方法 | ||
1.一種基于加權軟件網絡的工作量感知缺陷預測方法,其特征在于,包括如下步驟:
I. 數據收集與融合;
收集軟件系統數據以及缺陷跟蹤系統的缺陷報告;其中,收集的軟件系統數據包括版本控制倉庫中的源代碼、代碼提交以及版本信息數據;
在代碼提交和缺陷報告之間建立連接,實現代碼提交及缺陷報告數據的融合;
II. 缺陷模塊標記;
II.1. 提取代碼提交及缺陷報告的文本相似度特征、人員一致性特征以及時間戳特征;
基于提取的上述三類特征以及步驟I已建立的代碼提交和缺陷報告的連接,發現代碼提交與缺陷報告的缺失連接,從而確定修復缺陷的代碼提交;
II.2. 基于修復缺陷的代碼提交,識別出引入缺陷的代碼提交;
II.3. 基于步驟II.1修復缺陷的代碼提交和步驟II.2引入缺陷的代碼提交,結合版本控制倉庫中的版本信息,將各個軟件模塊進行標記,得到各個軟件模塊的缺陷標簽數據;
III. 構建加權軟件網絡圖;
III.1. 提取并聚合軟件系統每個軟件模塊源代碼中的注釋,得到每個軟件模塊的文檔信息,同時根據代碼提交的提交者信息及修改文件信息,得到每個軟件模塊的開發者信息;
建立軟件模塊間的數據依賴及調用依賴關聯,同時,利用軟件模塊間的同一開發者信息建立軟件模塊間協同開發者關聯;
如果任意兩個軟件模塊間存在數據依賴、調用依賴或協同開發者關聯的一種,則表明兩個軟件模塊間存在關聯,構建如下結構的軟件網絡圖,其中:
每個軟件模塊作為軟件網絡圖的節點,兩個關聯的軟件模塊表示的節點之間建立一條邊;
III.2. 根據每個軟件模塊的文檔信息以及開發者信息,計算軟件網絡圖中每條邊所連接的兩個軟件模塊之間的關聯強度,將關聯強度值賦值為軟件網絡圖中該條邊的權值;
對同一軟件模塊依賴的各個軟件模塊的邊的權值進行歸一化處理,得到加權軟件網絡圖;
所述步驟III.2中,軟件模塊之間關聯強度計算公式如下:
其中,
|
|
IV. 基于圖嵌入技術,得到加權軟件網絡圖的軟件網絡度量元表示;
IV.1. 將步驟III中的加權軟件網絡圖轉換為概率共現矩陣,將概率共現矩陣轉換為點式互信息矩陣,對得到的點式互信息矩陣的負值進行調整,得到正點互信息矩陣;
IV.2. 將正點互信息矩陣的每一行當成是一個節點的輸入,訓練自動編碼模型,自主學習加權軟件網絡圖中豐富的模塊間結構語義信息,得到加權軟件網絡圖的網絡度量元表示;
V. 構建工作量感知缺陷預測方法;
V.1. 基于版本控制倉庫中的源代碼和代碼提交信息,提取每個軟件模塊的代碼度量元及過程度量元,組合步驟IV得到的網絡度量元,構成缺陷數據集的特征數據;
將所述特征數據與步驟II中得到的缺陷標簽數據組合,共同構成軟件缺陷數據集;
V.2. 將缺陷數據集中每種類型的度量元以及至少兩種以上類型度量元的組合,分別組成不同的訓練集,并用這些訓練集訓練分類器,形成基學習器;
V.3. 采用優化算法以優化最少工作量發現最多的缺陷為目標,優化基學習器的組合,形成工作量感知缺陷預測方法,得到每個軟件模塊發生缺陷的概率,進而給出每個軟件模塊的缺陷檢測順序。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于南京航空航天大學,未經南京航空航天大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110323054.1/1.html,轉載請聲明來源鉆瓜專利網。





