[發明專利]執行模式分析和扇入分析相結合的橫切關注點識別方法有效
| 申請號: | 201110242121.3 | 申請日: | 2011-08-23 |
| 公開(公告)號: | CN102262588A | 公開(公告)日: | 2011-11-30 |
| 發明(設計)人: | 俞東進;殷昱煜;閆大強 | 申請(專利權)人: | 杭州電子科技大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 杭州求是專利事務所有限公司 33200 | 代理人: | 杜軍 |
| 地址: | 310018 浙*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 執行 模式 分析 相結合 關注點 識別 方法 | ||
技術領域
本發明屬于計算機軟件代碼分析領域,具體涉及到如何在分析代碼執行模式的同時應用扇入分析方法以識別代碼中存在的橫切關注點。
背景技術
在面向對象的軟件開發過程中,實際應用領域中的真實實體被映射為軟件系統中具有層次化結構的類。然而由于面向對象編程技術本身的局限性,并不是每個需求都能與一個完整的模塊單元(類)相對應,從而不可避免會出現代碼的交織(tangling)和散布(scattering)。代碼交織指單個模塊實現了多個功能;代碼散布指相同功能的實現代碼分布在系統的不同模塊中。這些交織或散布的代碼所實現的關注點稱為橫切關注點。如果橫切關注點與核心關注點(業務關注點)交雜在一起分布在系統的各個功能模塊中,將不利于程序的理解和維護。
面向方面軟件開發方法(Aspect-oriented?Software?Development:AOSD)將那些與具體業務沒有關聯卻為整個系統所通用的橫切關注點封裝為一個可重用的方面(Aspect),再把方面自動織入到面向對象的軟件系統中,從而實現橫切關注點與系統核心關注點的分離。采用AOSD方法對遺留系統重構可提高了軟件的模塊化程度和設計的穩定性,從而使得對程序的理解和維護變得更加容易。
識別遺留系統的橫切關注點也就是挖掘出所有的候選方面是利用AOSD方法重構遺留系統的關鍵和前提。由于橫切關注點本身的橫切特征表現為軟件系統結構或行為的相似性,如日志的記錄、持久化操作時事務的開始和結束,這些行為實現時往往代碼重復、行為一致,所以對如何識別橫切關注點的研究基本上圍繞代碼分析展開?,F有的方法包括:代碼克隆分析、基于形式概念分析的識別方法、基于重復執行模式的識別方法、標識符分析識別方法等。
但是以上各種橫切關注點識別方法都存在一些不足?;谛问礁拍罘治龅淖R別方法在概念格構造時依賴于具體算法和工具,當概念數目較大時耗時將會呈級數增長,而且目前還沒有較好的概念格構造工具。標識符分析方法依賴于良好的命名規范,但是軟件開發過程中不同編程人員會根據自己的偏好定義變量名,造成識別結果中可能包含大量噪音,從而加大了人工分析的工作量。分級聚類方法直接分析程序代碼,沒有考慮系統動態運行時的變化信息,不能避免由多態引起的問題?;谥貜蛨绦心J降淖R別方法要求分析所有執行到的方法,而不管這些方法有沒有可能成為橫切關注點,從而使得挖掘結果包含部分噪音,精確率和執行效率較低。另外,在基于AOSD方法實現方面重構時,需要通過指定注入位置或時機將橫切關注點與業務組件編織起來,但以上方法均沒有考慮方法前后語句對方法本身的影響,造成識別出的部分橫切關注點由于沒有合適的注入位置或時機而不能實現有效的織入。
發明內容
本發明針對現有技術的不足,提供了一種執行模式分析和扇入分析相結合的橫切關注點識別方法。
本發明方法的具體步驟是:?
步驟(1)設置獨立的通用計算機,通過外接裝置讀入待識別的程序代碼包;
步驟(2)選取覆蓋程序核心業務功能的用例,收集執行該用例的程序實際執行軌跡,同時獲得超過扇入閾值的方法集;
步驟(3)擴展方法執行模式集;
步驟(4)執行重復性約束檢查,以過濾不一致的執行模式;
步驟(5)執行橫切約束檢查,以得到超過橫切閾值的橫切方法集;
步驟(6)合并步驟(2)和步驟(5)獲得的方法集,得到最終的橫切關注點集,并輸出。
本發明所提供的執行模式分析和扇入分析相結合的橫切關注點識別方法由一組功能模塊組成,它們包括:程序代碼包讀入模塊、執行軌跡分析模塊、執行模式集約束檢查模塊和橫切關注點輸出模塊。
程序代碼包讀入模塊讀入待分析的程序代碼。
執行模式集構建模塊通過執行某個具體用例,記錄對應的方法執行軌跡,去除預先定義的不可能成為橫切關注點的具有固定結構的方法和孤立方法,提取高扇入值方法作為橫切關注點,使用空方法對執行軌跡進行擴展,生成執行模式集。
執行模式集約束檢查模塊去掉不滿足重復性約束的執行模式,然后選取大于橫切閾值的執行模式的起始方法作為橫切關注點。
橫切關注點輸出模塊格式化輸出獲得的所有橫切關注點方法名及相關信息。
與傳統方法相比,本方明所提供的方法在識別過程中,特別引入了扇入閾值和橫切閾值,并通過分析語句對方法執行的影響排除了部分不可織入的橫切關注點,可有效減少執行模式集的元素數量,在保證查全率的基礎上提高了識別的執行效率和精確率。
具體實施方式
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于杭州電子科技大學,未經杭州電子科技大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110242121.3/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種吲唑化合物的制備方法
- 下一篇:含鋰電極材料燒結方法





