欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于軟件路徑剖析結(jié)果的修改影響分析方法

文檔序號:6550389閱讀:130來源:國知局
一種基于軟件路徑剖析結(jié)果的修改影響分析方法
【專利摘要】本發(fā)明公開了一種基于軟件路徑剖析結(jié)果的修改影響分析方法,利用程序在運行時的動態(tài)控制流信息,對程序靜態(tài)視圖中各個模塊的耦合度進行較為準確的推測,以此為依據(jù)進行修改影響分析,提升分析結(jié)果的準確性,并改進效率。Profile中提供了程序運行信息,從中可以分析得出程序中各個模塊的執(zhí)行先后次序,以及這些次序出現(xiàn)的頻率;從這些執(zhí)行次序信息出發(fā),參考各個模塊本身的執(zhí)行頻率,可以定量計算模塊之間的耦合程度,進而在軟件某部分模塊被修改時,按照耦合度分析軟件其他部分所受到的影響。
【專利說明】一種基于軟件路徑剖析結(jié)果的修改影響分析方法

【技術領域】
[0001] 本發(fā)明屬于軟件維護中修改影響分析的【技術領域】,涉及一種基于軟件路徑剖析結(jié) 果的修改影響分析方法。

【背景技術】
[0002] 路徑是軟件某次執(zhí)行中控制流信息和數(shù)據(jù)流信息的完整表現(xiàn)形式,其中的信息含 量豐富,應用價值較高,同時也較為復雜。針對路徑信息的應用多種多樣,所需要的信息也 不盡相同,其中編譯優(yōu)化、程序理解等領域,需要的信息為軟件在多次執(zhí)行中的路徑及其執(zhí) 行頻率信息。以此為目標,出現(xiàn)了一系列的路徑剖析(Path Profiling)技術,通過程序插裝 的方式來收集程序執(zhí)行路徑信息,獲得剖析結(jié)果(Path Profile)。
[0003] 目前主要的路徑剖析方法有:
[0004] 1996 年 T. Ball 和 J. Larus 提出的 Efficient Path Profiling 方法。該方法能夠以 低廉的耗費處理一個軟件中所有的非循環(huán)路徑,其中的路徑編碼和插裝方式為后續(xù)的路徑 剖析研究奠定了基礎;
[0005] 2007 年 K. Vaswani 等人提出的 Preferential Path Profiling 方法。該方法能夠 針對用戶所指定的目標軟件中一部分路徑進行剖析,耗費較Efficient Path Profiling更低, 但是依然不能處理循環(huán)路徑;
[0006] 2012年B. Li和L. Wang等人提出的Profiling of All Paths方法。這一方法能夠 處理帶有循環(huán)的軟件路徑,獲得精確的剖析結(jié)果,效率比前兩種方法略低。
[0007] 耦合是軟件的一項重要屬性,其含義為軟件內(nèi)部模塊之間存在的聯(lián)系及其緊密程 度,在軟件的分析、測試和維護等過程中都需要獲知。高度的耦合會對軟件的維護活動產(chǎn)生 不利影響:一個模塊的修改會產(chǎn)生漣漪效應,其他模塊也需隨之修改。修改影響分析的含義 為,當軟件的某次修改發(fā)生時,從已知的修改模塊集合自動的推算出其他需要修改或正確 性檢查的模塊集合,從而過濾不受影響的軟件部分、優(yōu)先保證受影響嚴重的軟件部分,提升 軟件維護過程的效率。
[0008] 通過模塊之間的耦合關聯(lián)來分析修改帶來的影響是軟件維護中的常見做法。目前 耦合度量一般通過靜態(tài)方法進行,通過統(tǒng)計函數(shù)調(diào)用、消息傳遞和數(shù)據(jù)共享等信息來對模 塊耦合度進行計算。靜態(tài)方法的優(yōu)點在于耗費較小,只需要掃描代碼而不需要軟件執(zhí)行;其 缺點在于精度不高,因為各種靜態(tài)指標對耦合程度的影響不一,例如形式相同的兩個函數(shù) 調(diào)用,如果一個經(jīng)常執(zhí)行而另一個基本不執(zhí)行,那么后者對于耦合的影響較前者小很多。這 種區(qū)別靜態(tài)方法難以區(qū)分,動態(tài)方法可以彌補這一點。


【發(fā)明內(nèi)容】

[0009] 技術問題:本發(fā)明的目的是提供一種能夠利用軟件多次執(zhí)行的控制流信息度量軟 件內(nèi)部模塊之間的耦合程度,具有較高精確性的基于軟件剖析結(jié)果的修改影響分析方法。 [0010] 技術方案:本發(fā)明的基于軟件剖析結(jié)果的修改影響分析方法,包括如下步驟:
[0011] 步驟1)通過路徑剖析方法獲知目標軟件的各條執(zhí)行路徑px及其執(zhí)行頻率f(Px), 其中X為執(zhí)行路徑的編號;
[0012] 步驟2)統(tǒng)計各執(zhí)行模塊的執(zhí)行頻率,具體方法為:將所有包含執(zhí)行模塊mi的路徑 的執(zhí)行頻率累加,得到執(zhí)行模塊叫的執(zhí)行頻率fOiO,其中i為執(zhí)行模塊的編號;
[0013] 步驟3)統(tǒng)計所有實際執(zhí)行的模塊執(zhí)行次序的執(zhí)行頻率;
[0014] a)遍歷所有執(zhí)行路徑px,將所有執(zhí)行過的模塊構(gòu)建為一個集合{mk},其中k為執(zhí) 行過的模塊的編號;
[0015] b)將集合{mk}中任意兩個模塊進行組合,將所有的組合構(gòu)建為一個集合,生成模 塊執(zhí)行次序集合{(mi,mp },其中(mi,mp為模塊的有序?qū)Γ琲和j為模塊編號,且i尹j ;
[0016] C)統(tǒng)計每一個模塊執(zhí)行次序(n^nij)在執(zhí)行中出現(xiàn)的頻率;
[0017] 步驟4)利用下式計算所有的模塊耦合度:

【權(quán)利要求】
1. 一種基于軟件剖析結(jié)果的修改影響分析方法,其特征在于,該方法包括如下步驟: 步驟1)通過路徑剖析方法獲知目標軟件的各條執(zhí)行路徑Px及其執(zhí)行頻率f (Px),其中 X為執(zhí)行路徑的編號; 步驟2)統(tǒng)計各執(zhí)行模塊的執(zhí)行頻率,具體方法為:將所有包含執(zhí)行模塊mi的路徑的執(zhí) 行頻率累加,得到執(zhí)行模塊!^的執(zhí)行頻率f(mi),其中i為執(zhí)行模塊的編號; 步驟3)統(tǒng)計所有實際執(zhí)行的模塊執(zhí)行次序的執(zhí)行頻率; a) 遍歷所有執(zhí)行路徑px,將所有執(zhí)行過的模塊構(gòu)建為一個集合{mk},其中k為執(zhí)行過 的模塊的編號; b) 將集合{mk}中任意兩個模塊進行組合,將所有的組合構(gòu)建為一個集合,生成模塊執(zhí) 行次序集合{(mi,mp },其中(mi,mp為模塊的有序?qū)?,i和j為模塊編號,且i尹j ; c) 統(tǒng)計每一個模塊執(zhí)行次序(n^nij)在執(zhí)行中出現(xiàn)的頻率fOi^nij); 步驟4)利用下式計算所有的模塊耦合度:
其中,couple (nii,nij)為模塊叫與nij之間的模塊f禹合度; 步驟5)計算所有未修改模塊受到軟件修改的模塊集合S的影響程度,即為分析結(jié) 果,具體方法為:將一個未修改模塊1?與軟件修改的模塊集合S中的每個已修改模塊的 模塊耦合度couple (nii,mj)累加,即得到模塊叫受到軟件修改的模塊集合S的影響程度 impact 0?),計算公式為:
2.根據(jù)權(quán)利要求1所述的基于軟件剖析結(jié)果的修改影響分析方法,其特征在于:所 述步驟1)中采用的路徑剖析方法為Efficient Path Profiling法、Preferential Path Profiling 法或 Profiling of All Path 法。
【文檔編號】G06F11/36GK104050084SQ201410281529
【公開日】2014年9月17日 申請日期:2014年6月20日 優(yōu)先權(quán)日:2014年6月20日
【發(fā)明者】王璐璐, 李必信, 廖力, 周穎 申請人:東南大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
会宁县| 六安市| 丰镇市| 阿克苏市| 克东县| 安达市| 余庆县| 苏州市| 安阳县| 仙桃市| 临澧县| 顺昌县| 满洲里市| 明星| 绵阳市| 普陀区| 澄迈县| 肇源县| 海丰县| 南岸区| 赣榆县| 高平市| 新巴尔虎右旗| 嫩江县| 定日县| 万州区| 鸡东县| 社会| 客服| 凤凰县| 日照市| 开鲁县| 晴隆县| 社旗县| 崇文区| 霍城县| 林西县| 合江县| 天台县| 彭阳县| 察哈|