[發明專利]一種基于邊不穩定性的軟件函數變更預測系統及方法有效
| 申請號: | 201611122380.1 | 申請日: | 2016-12-08 |
| 公開(公告)號: | CN106775695B | 公開(公告)日: | 2020-11-10 |
| 發明(設計)人: | 王雷;王新晨;李涵 | 申請(專利權)人: | 北京航空航天大學 |
| 主分類號: | G06F8/71 | 分類號: | G06F8/71;G06F8/73 |
| 代理公司: | 北京科迪生專利代理有限責任公司 11251 | 代理人: | 楊學明;顧煒 |
| 地址: | 100191*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 不穩定性 軟件 函數 變更 預測 系統 方法 | ||
本發明為一種基于邊不穩定性的軟件函數變更預測系統及方法,屬于軟件工程領域。本發明基于軟件網絡函數調用關系圖進行計算,首先需要獲取整個函數調用關系圖,然后對于每個條邊計算該條邊的不穩定度,通過對相鄰版本的函數進行比較獲得修改、刪除、新增的函數,并得到變更函數子圖,去掉變更函數子圖中不穩定度小于一定值的邊,剩下邊連接的函數節點就是預測結果。
技術領域
本發明屬于軟件工程領域,特別涉及一種面向復雜網絡基于邊不穩定性的軟件函數變更預測系統及方法,通過相鄰版本變更函數的不穩定度進而預測下一個版本函數的變更情況。
背景技術
近年來,復雜網絡的研究取得了巨大的進步,提出了許多方法和理論。這些理論和研究被用于生物學、物理學等學科,目前在計算機科學領域的應用也越來越廣。現代的軟件系統無論是從規模還是從結構設計上都發生了巨大的改變,傳統的軟件工程方法面臨著很大挑戰。因此,復雜網絡的研究方法被引入到軟件設計的過程中。由于現代軟件函數的變更越來越頻繁,軟件升級在軟件的整個生命周期中不可避免,因此,研究函數的變更傳播有其重要的現實意義。除此之外,研究的另一目標是影響軟件魯棒性的相關因素。
復雜網絡經常伴隨著信息、病毒、疾病等的傳播,而一個網絡的拓撲結構對于變更傳播的程度有著顯著的影響。在計算機科學領域,大型軟件系統中的類圖、依賴圖、關系圖、軟件組件圖、函數調用圖都屬于復雜網絡。
當開發者為了加入一個新功能或者修復一個BUG的時,對軟件系統一個部分作出修改后,其他的部分為了適應修改,常常也需要進行更新。量化一個軟件網絡的傳播性有助于節省軟件維護產生的開銷。
在函數調用關系圖中,變更傳播通常都是單方向的,函數A調用函數B,當B發生修改時,A因為接口需要作出調整因此很可能需要相應作出修改,這叫B傳播到A,但當A發生修改時,B一般就不需要作出修改了。
關于影響邊的變更傳播的參數,首先有節點的穩定度,節點的穩定度定義如下:
在定義中,和分別代表節點ni的出度和入度。如果Si的值相對較大,那么說明節點的出度相對于入度較小,因此其他節點的改變較難傳播到該節點。也就是說該節點較為穩定。從定義可以看出,Si的取值范圍是[0,1]。
邊的不穩定度基于節點的穩定度定義。其具體定義如下所示:
Iij=Si-Sj
在上面的定義中,Si和Sj分別代表節點i和節點j的節點穩定度。從定義中可以看出,當Iij0時,節點i的穩定度大于節點j的穩定度,也就是說穩定度大的邊調用穩定度小的邊。Iij0時則相反。邊的不穩定度的取值范圍為[-1,1]。
羅伯特·馬丁在其論文中提出了穩定性依賴原則(SDP)。論文中指出在軟件的設計過程中,一個包應該依賴于比其自身更加穩定的包。節點的穩定度和邊的不穩定度可以作為一種衡量節點及邊的穩定度的一種度量,通過分析一個節點的穩定度或者邊的不穩定度就可以清晰地分析出一個軟件在某個區域的設計成功與否。關于變更傳播,一條邊的邊的不穩定度越高,則這條邊越不穩定,越可能發生修改,同時,在發生修改的時候,越容易傳播到更多的函數。
現有的關于函數變更的研究大致基于軟件倉庫,并沒有考慮變更函數的順序。由于軟件倉庫的特點,大部分的基于歷史數據庫的研究都停留在物理層面(系統,目錄,文件,行),忽視了本身變更實體(函數、變量)的本身意義。現有的軟件倉庫分門提供的數據元有差異,不同的研究方法利用不同軟件倉庫,沒有統一的適用標準。
發明內容
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京航空航天大學,未經北京航空航天大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611122380.1/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種軟件配置代碼制品的層次分類方法
- 下一篇:數據處理方法及裝置





