[發明專利]一種基于復雜網絡的軟件缺陷分布影響因素分析方法有效
| 申請號: | 201810255695.6 | 申請日: | 2018-03-27 |
| 公開(公告)號: | CN108345544B | 公開(公告)日: | 2020-07-03 |
| 發明(設計)人: | 艾駿;王菲;蘇文翥;楊益文;郭皓然;王飛 | 申請(專利權)人: | 北京航空航天大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京永創新實專利事務所 11121 | 代理人: | 祗志潔 |
| 地址: | 100191*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 復雜 網絡 軟件 缺陷 分布 影響 因素 分析 方法 | ||
1.一種基于復雜網絡的軟件缺陷分布影響因素分析方法,對待分析軟件的每個版本建立軟件函數調用網絡,其特征在于,基于軟件函數調用網絡進行下面步驟:
步驟1:根據軟件的修改模塊,分析軟件修改度量參數與缺陷分布的相關性;
為軟件中的函數設置軟件修改度量參數,并添加到網絡節點的屬性中,通過對比前后兩個版本的軟件函數調用網絡,設置各節點的軟件修改度量參數的狀態值;然后采用邏輯回歸模型對軟件修改度量參數與缺陷分布之間的相關性進行分析,獲得與缺陷分布相關的軟件修改度量參數;
步驟2:基于軟件函數調用網絡,分析軟件網絡結構度量參數與缺陷分布的相關性;
基于軟件函數調用網絡,計算節點的整網結構度量參數;構建每個節點的自我網絡,獲得衡量每個節點的局部結構特性的自我網絡結構度量參數;提取函數節點的缺陷信息,采用邏輯回歸模型分析每個網絡結構度量參數與軟件缺陷分布的相關性,獲得與缺陷分布相關的結構度量參數;
步驟3:基于機器學習算法,獲得影響軟件缺陷分布的最優特征子集;
將步驟1和2獲得的與缺陷分布相關的修改度量參數和結構度量參數結合作為初始特征集,采用結合聚類和排序的特征選擇方法,獲取影響軟件缺陷分布的最優特征子集;
所述的結合聚類和排序的特征選擇方法通過特征聚類,將初始特征集劃分為高內聚低耦合的若干特征簇,然后對特征簇中的特征進行排序獲得有序的特征集合,最后基于四種機器學習算法,對有序的特征集合進行子集搜索獲得最優子集。
2.根據權利要求1所述的方法,其特征在于,步驟1中所述的軟件修改度量參數包括:
(1)新函數的定義AD,將每個版本的軟件函數調用網絡與前一個版本的網絡進行對比,如果某節點只存在于當前版本而不存在于其前一版本,則代表該節點所對應的函數是當前版本新定義的函數,設置AD的狀態值為1,否則標記為0;
(2)函數內容的修改MC,提取當前版本的軟件函數調用網絡某節點所代表函數內容對應的MD5值,通過與前一版本該節點的MD5值進行對比,如果MD5值不同,則該節點所對應的函數內容在當前版本被修改,此時標記當前版本的軟件函數調用網絡中該節點的MC的狀態值為1,否則為0;
(3)調用函數的函數集合變更Deg-In,將每個版本的軟件函數調用網絡與前一版本的網絡進行對比,如果指向某個節點的邊的集合發生了變化,則表示該節點所對應的函數被新的函數調用或者不再被某些函數調用,此時標記當前版本的軟件函數調用網絡中該節點的Deg-In的狀態值為1,否則為0;
(4)函數調用的函數集合變更Deg-Out,將每個版本的軟件函數調用網絡與前一版本的網絡進行對比,若當前版本中某個節點指向其它節點的邊的集合不同于其前一個版本的網絡,則標志著該節點所代表的函數調用了新的函數或者不再調用某些函數,此時標記當前版本中該節點的Deg-Out的狀態值為1,否則為0;
(5)函數的調用關系變更Deg-Ch,對于每個版本的軟件函數調用網絡,如果某節點的屬性Deg-In或者Deg-Out被標記為1,則表示該節點所對應的函數的調用關系發生了變化,此時標記當前版本的軟件函數調用網絡中該節點的Deg-Ch的狀態值為1,否則為0;
(6)函數壽命Time,代表某節點所對應的函數從其定義的版本到其被刪除的版本之間所經歷的版本總數;
(7)函數歷史修改次數DiffCount,表示某節點所對應的函數在歷史中各種代碼修改次數的累積加和;
(8)歷史缺陷狀態HisBug,表示某節點所對應的函數在歷史版本中是否出現過缺陷。
3.根據權利要求1或2所述的方法,其特征在于,步驟1中所述的邏輯回歸模型如下:
其中,xi(i=1,2,..,n)為自變量,為軟件的修改度量參數,θj(j=0,1,2,..,n)是通過對模型進行似然最大化得到的回歸系數,n為修改度量參數個數;Y取值1或-1,分別代表存在缺陷或沒有缺陷;Pr(Y=1|x1,x2,…,xn)代表函數存在缺陷的概率,當概率大于某一閾值時,認為該函數存在缺陷。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京航空航天大學,未經北京航空航天大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810255695.6/1.html,轉載請聲明來源鉆瓜專利網。





