版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、PAGE MACROBUTTON MTEditEquationSection2 Equation Chapter 1 Section 1 SEQ MTEqn r h * MERGEFORMAT SEQ MTSec r 1 h * MERGEFORMAT SEQ MTChap r 1 h * MERGEFORMAT 基于變更傳播仿真的軟件穩(wěn)定性分析 本課題得到國家自然科學(xué)基金項目(60773155)和國家973基金項目(2007CB310803)資助。作者簡介:張莉,女,1968年生,博士,教授,博士生導(dǎo)師,主要研究興趣為軟件工程,軟件體系結(jié)構(gòu).Email: HYPERLINK mailto:l
2、ilylily。錢冠群,男,1978年生,博士研究生,主要研究興趣為軟件體系結(jié)構(gòu),逆向工程.Email: HYPERLINK mailto:qianguanqunqianguanqun。李琳, 女, 1984年生,博士研究生,主要研究興趣為軟件體系結(jié)構(gòu),軟件度量. Email: HYPERLINK mailto:lin.lilin.li。聯(lián)系方式:Email: HYPERLINK mailto:qianguanqunqianguanqun;地址:北京航空航天大學(xué)軟件所 新主樓G312;電話:82339161張莉 錢冠群 李琳(北京航空航天大學(xué) 軟件工程研究所 北京 100191)摘 要:軟件自
3、身的復(fù)雜性和未來變更需求的不確定性使得軟件的穩(wěn)定性評估十分困難。本文將軟件的變更需求看成一系列“原子變更需求”的疊加,把“原子變更需求”的響應(yīng)過程抽象成初始變更節(jié)點的隨機(jī)選擇過程,以及由此引起的漣漪效應(yīng)。提出了基于變更傳播仿真的穩(wěn)定性評估方法SEMCIS,定義了變更的傳播模型和評價指標(biāo),并且給出了一種基于變更傳播仿真的指標(biāo)計算方法。實驗結(jié)果表明,降低傳播概率、改善軟件的體系結(jié)構(gòu)設(shè)計可以有效地抵御“漣漪效應(yīng)”的發(fā)生,提高軟件的穩(wěn)定性。入度hub的相互連接是造成大范圍變更的主要原因,而入度hub中存在的大量后繼節(jié)點,則是造成大范圍變更頻繁發(fā)生的主要原因。關(guān)鍵詞:軟件穩(wěn)定性;變更分析;漣漪效應(yīng);軟件
4、維護(hù);復(fù)雜網(wǎng)絡(luò)中圖法分類號:TP311Software Stability Analysis Based on Change Impact SimulationZHANG Li QIAN Guan-Qun LI Lin(Software Engineering Institute, Beihang University, Beijing 100191)Abstract Its difficult to evaluate the software stability because of the complexity of software and the uncertainty of futu
5、re change requirements. In this paper, we regard various change requirements as the combination of a series of “atomic change requirement”. The modification of software, which is used to satisfy the “atomic change requirement”, is regarded as: firstly, modify a randomly selected “initial element”; s
6、econdly, a ripple effect caused by the change of it. Then we proposed a software stability evaluation method based on change propagation simulation. A change propagation model and a set of change impact metrics were defined. In order to simplify the calculation of the metrics, we introduced simulati
7、on technology into software stability evaluation instead of the conditional probability calculation. The experiments result indicates that decreasing the propagation probability or improving software architecture could effectively resist the happening of broad ripple effect and enhance software stab
8、ility. And the connections between in-degree hubs result in broad change. The existence of a mount of successors of in-degree hubs results in the frequent happening of broad changes.Key words:software stability; impact analysis; ripple effect; software maintenance; complex network引言隨著用戶需求和系統(tǒng)運行環(huán)境的不斷變
9、化,軟件的變更在所難免。軟件的易變性和不可預(yù)測性已經(jīng)成為軟件工程研究人員的共識。在軟件維護(hù)的過程中,我們經(jīng)常會遇到這樣的情況:對軟件中一個實體(例如類、方法)的修改,往往會影響到直接或者間接相關(guān)的其它實體,從而引發(fā)一系列修改。這種現(xiàn)象被稱為“漣漪效應(yīng)”(Ripple Effect) ADDIN NE.Ref.FB2E408A-964E-411F-849B-BA7F6CC09AF81 。為了確定軟件的局部變更對系統(tǒng)其它部分的潛在影響,研究人員提出了一系列變更影響分析(Change Impact Analysis)方法,也稱為影響分析方法 ADDIN NE.Ref.9391EC62-818A-4A
10、A5-AE02-1433DE661B162。希望借此為軟件的變更規(guī)劃、變更決策以及變更預(yù)測提供支持。隨著軟件體系結(jié)構(gòu)研究的深入,人們逐漸意識到:軟件結(jié)構(gòu)是決定軟件質(zhì)量的重要因素。提出用穩(wěn)定性(Stability)來描述軟件對變更過程中潛在“漣漪效應(yīng)”的抵抗能力 ADDIN NE.Ref.2F046599-FAD9-476D-B9B6-81B8E02FB58A3 。通過總結(jié)以往的軟件工程實踐經(jīng)驗,研究人員還提出了一系列設(shè)計原則和設(shè)計方法,例如高內(nèi)聚低耦合原則、開放封閉原則、軟件體系結(jié)構(gòu)模式、設(shè)計模式等等。目的就是希望通過復(fù)用專家的設(shè)計經(jīng)驗,提高軟件對變更的適應(yīng)能力。合理運用這些原則和方法設(shè)計并開
11、發(fā)的軟件系統(tǒng),往往具有良好的可維護(hù)性。但是這些方法主要側(cè)重定性分析,沒有給出定量的度量指標(biāo)和評價方法。本文基于軟件的靜態(tài)結(jié)構(gòu),提出了一種基于變更傳播仿真的穩(wěn)定性評價方法SEMCIS(Stability Evaluation Method Based on Change Impact Simulation)。針對變更需求的多樣性和粒度差異,SEMCIS方法定義了“原子變更需求”,將軟件的變更需求看作是一系列“原子變更需求”的疊加,提出用軟件在響應(yīng)“原子變更需求”時修改的實體數(shù)量的期望值來評價軟件的穩(wěn)定性。并且將仿真方法引入到度量指標(biāo)的計算中,克服了使用概率論方法計算度量指標(biāo)時,處理循環(huán)依賴比較繁
12、瑣的缺陷。在此基礎(chǔ)上,本文以開源軟件JEdit Jedit. /.為例,分析了影響軟件穩(wěn)定性的關(guān)鍵因素。在驗證SEMCIS方法有效性的同時,總結(jié)出“傳播概率”和軟件結(jié)構(gòu)對軟件穩(wěn)定性的影響以及造成大規(guī)模變更的結(jié)構(gòu)因素。本文后續(xù)內(nèi)容的組織結(jié)構(gòu)如下:第 REF _Ref227323896 r h * MERGEFORMAT 2 節(jié)介紹相關(guān)研究;第 REF _Ref227405914 r h * MERGEFORMAT 3 節(jié)介紹基于變更傳播仿真的穩(wěn)定性評價方法,包括變更傳播模型、度量指標(biāo)和基于仿真的度量方法;第 REF _Ref227085824 r h * MERGEFORMAT 4 節(jié)介紹后續(xù)實
13、證分析的數(shù)據(jù)來源和參數(shù)設(shè)置;第 REF _Ref227085919 r h * MERGEFORMAT 5 節(jié)結(jié)合開源軟件實例,分析評價指標(biāo)在仿真計算過程中的收斂性;第 REF _Ref227039093 r h * MERGEFORMAT 6 、 REF _Ref227038763 r h * MERGEFORMAT 7 節(jié)分別討論傳播概率、軟件結(jié)構(gòu)對軟件穩(wěn)定性度量指標(biāo)的影響;最后在第 REF _Ref227086078 r h * MERGEFORMAT 8 節(jié)對全文進(jìn)行總結(jié)。相關(guān)研究Tsantalis等人使用概率論方法評估面向?qū)ο笙到y(tǒng)的適應(yīng)性 ADDIN NE.Ref.D727E126-
14、D9EA-4123-831A-118DD97C8DB04, 5。將軟件變更細(xì)分成內(nèi)部變化和外部變化。內(nèi)部變化只修改類本身,但不影響其它類;而外部變化表示在修改類同時,要影響其它類。在給定內(nèi)部變化概率和外部變化概率的前提下,Tsantalis等人提出用聯(lián)合概率來計算每個類發(fā)生變化的概率。在此基礎(chǔ)上, Sharafat等人 ADDIN NE.Ref.50F580C4-40B0-467B-B8C3-48F6102985FA6根據(jù)軟件結(jié)構(gòu)和演化歷史,進(jìn)一步提出了內(nèi)部變化概率和外部變化概率的計算方法,并對預(yù)測結(jié)果進(jìn)行了分析。Mirarab等人 ADDIN NE.Ref.5D7E6E52-66D0-41B
15、2-A976-5DAC63652DC07則提出,根據(jù)軟件的靜態(tài)依賴關(guān)系和歷史維護(hù)信息,用貝葉斯網(wǎng)來構(gòu)造軟件的變化傳播模型。但是,軟件的靜態(tài)結(jié)構(gòu)中普遍存在著雙向依賴和循環(huán)依賴 ADDIN NE.Ref.378FB331-CDDF-437B-B46E-22C96B71D57E8, 9,基于貝葉斯網(wǎng)的變更傳播模型無法表達(dá)軟件實體間的循環(huán)依賴關(guān)系。同時,循環(huán)依賴也給上述方法的度量指標(biāo)計算帶來了困難。假設(shè)我們要度量軟件中每個類發(fā)生變更的概率,而類A和類B之間存在循環(huán)依賴,想要知道類A的變更概率,必須首先計算類B的變更概率,反之亦然。為了解決這個問題,人們或者采用破環(huán)操作,通過刪除若干條邊來消除模型中的循
16、環(huán)依賴;或者采用近似的方法,計算度量指標(biāo) ADDIN NE.Ref.E3DCC011-2BB8-4575-ADA7-D9D7DCB8D39E5, 6。這些方法在一定程度上破壞了原有的傳播模型,影響了穩(wěn)定性指標(biāo)的計算結(jié)果。在本文提出SEMCIS方法中,我們忽略實體內(nèi)部的實現(xiàn)細(xì)節(jié),只考慮實體之間外部變化的傳播關(guān)系。并且將仿真技術(shù)引入到度量指標(biāo)的計算中,在模擬變更傳播過程的基礎(chǔ)上,通過統(tǒng)計得到軟件的穩(wěn)定性度量值。Hassan等人 ADDIN NE.Ref.092C1B3E-F71F-470D-AA4E-67B3AC524DFA10則提出用啟發(fā)式算法來預(yù)測變更的傳播,借此指導(dǎo)開發(fā)人員進(jìn)行軟件的變更維護(hù)
17、。Zimmermann等人 ADDIN NE.Ref.D589CE20-1D33-430C-9964-072EBAE21AF111 運用數(shù)據(jù)挖掘方法研究了演化過程中軟件實體之間的協(xié)同變更關(guān)系。利用該方法可以給出某個實體發(fā)生變更時,需要協(xié)同變更的候選實體。這些研究關(guān)注的是軟件中實體之間的協(xié)同變更關(guān)系,本文主要討論軟件整體的穩(wěn)定性度量問題。Jing Liu ADDIN NE.Ref.F13957B3-AB22-43B3-934C-3B558923797012等人則提出用傳播代價來衡量軟件結(jié)構(gòu)的傳播特性。所謂傳播代價,就是從軟件的任意實體出發(fā),所有可達(dá)實體占軟件總體比例的期望值。這和本文的工作非常相
18、似。所不同的是,在Jing Liu等提出的傳播模型中,變更的傳播方向與依賴關(guān)系的方向一致,并且只考慮傳播的步長,沒有涉及到傳播的不確定性問題。本文在傳播模型、穩(wěn)定性度量方法上與Jing Liu等人的工作存在較大的差異。SEMCIS方法在軟件的整個生命周期中,可能遇到各種各樣的變更需求,例如追加功能、修改Bug、遷移平臺、升級第三方運行庫等等。變更需求的不確定性以及類型、粒度和內(nèi)容的差異,給軟件的穩(wěn)定性度量帶來了極大的困難。對于小粒度的“原子變更需求”,需要修改的軟件實體一般彼此關(guān)聯(lián),而且局限在一個有限的范圍之內(nèi)。而不同粒度、不同類型、不同內(nèi)容的“變更需求”可以看作是一系列“原子變更需求”的疊加
19、。如果我們把軟件中的實體作為節(jié)點,它們之間的依賴關(guān)系看成邊,軟件就被抽象成一個網(wǎng)絡(luò)。軟件變更中的“漣漪效應(yīng)”就可以看成是變更在網(wǎng)絡(luò)節(jié)點間的傳播過程。而“原子變更需求”對應(yīng)的響應(yīng)過程可以看作是:“初始變更節(jié)點”發(fā)生改動,以及由于修改而引發(fā)的漣漪效應(yīng)。這種節(jié)點間的漣漪效應(yīng)存在不確定性,也就是說,節(jié)點發(fā)生變更時,和它相鄰的節(jié)點是否需要修改是不確定的,本文用“傳播概率”進(jìn)行刻畫。這種給定節(jié)點間“傳播概率”的軟件網(wǎng)絡(luò)模型,我們把它叫做軟件的“變更傳播模型”。對于一個具體的軟件來說,未來可能發(fā)生的“原子變更需求”也是不確定的。對應(yīng)到軟件網(wǎng)絡(luò)中,就是“初始變更節(jié)點”的隨機(jī)選擇過程。通過度量軟件網(wǎng)絡(luò)在響應(yīng)不同
20、“原子變更需求”時,需要修改的節(jié)點數(shù)的期望值,就可以在一定程度上刻畫軟件網(wǎng)絡(luò)的變更傳播特性,即穩(wěn)定性。這里,我們首先給出“原子變更”、“原子變更需求”、“初始變更節(jié)點”、“傳播概率”的形式化定義。定義 SEQ 定義 * ARABIC 1:在軟件的一次變更中,所有被修改的軟件實體以及它們之間的依賴關(guān)系構(gòu)成一個有向簡單圖,其中,稱為“變更節(jié)點集”,中的每個節(jié)點表示一個變更的軟件實體,是邊的集合,中的每個元素是一個有序?qū)?,?dāng)且僅當(dāng)使用了提供的服務(wù)時,。如果存在一個節(jié)點,中的其它節(jié)點到可達(dá),我們把這樣的變更稱為“原子變更”,它所對應(yīng)的需求叫做“原子變更需求”,節(jié)點叫做“初始變更節(jié)點”。 定義 SEQ
21、定義 * ARABIC 2:在軟件的一次變更中,由于節(jié)點發(fā)生變更,使得直接依賴的相鄰節(jié)點發(fā)生變更的條件概率,稱為節(jié)點相對的“傳播概率”,記作。從 REF _Ref227400109 h * MERGEFORMAT 定義 2中可以看出,傳播概率的取值滿足。在真實的軟件中,實體之間的傳播概率需要分析大量的維護(hù)歷史數(shù)據(jù)之后才能給出。在缺少歷史數(shù)據(jù)的情況下,例如在軟件設(shè)計的評估階段,傳播概率的取值可以通過專家的經(jīng)驗進(jìn)行設(shè)置。根據(jù)軟件的變更傳播模型計算穩(wěn)定性度量指標(biāo)的另一個問題是:由于軟件網(wǎng)絡(luò)中存在大量的有向環(huán) ADDIN NE.Ref.378FB331-CDDF-437B-B46E-22C96B71D
22、57E8, 9,經(jīng)典的概率論方法無法直接計算出變更節(jié)點數(shù)的期望值。為此,以往的研究都是先設(shè)法消除網(wǎng)絡(luò)中的環(huán)型結(jié)構(gòu) ADDIN NE.Ref.E3DCC011-2BB8-4575-ADA7-D9D7DCB8D39E5, 6。但是,這種破環(huán)操作在一定程度上破壞了原有的傳播模型,影響了穩(wěn)定性指標(biāo)的計算結(jié)果。為了解決度量指標(biāo)的計算問題,本文采用仿真技術(shù)來模擬“原子變更”過程。在此基礎(chǔ)上,通過統(tǒng)計多次仿真中變更節(jié)點數(shù)的平均值給出軟件的穩(wěn)定性度量值。根據(jù)上述分析,本文提出基于變更傳播仿真的穩(wěn)定性評價方法SEMCIS。如 REF _Ref226103052 h * MERGEFORMAT 圖 1所示,SEM
23、CIS的評估流程分為3步:根據(jù)軟件的體系結(jié)構(gòu)設(shè)計、詳細(xì)設(shè)計或者源代碼等,生成軟件的變更傳播模型;仿真軟件的變更傳播過程,并記錄仿真過程中的變更節(jié)點數(shù);統(tǒng)計仿真數(shù)據(jù),給出軟件穩(wěn)定性評價指標(biāo)的度量值。以下分小節(jié)詳細(xì)闡述SEMCIS方法中的變更傳播模型、評價指標(biāo)和變更傳播的仿真算法。圖 SEQ 圖 * ARABIC 1 評估流程示意圖變更傳播模型定義 SEQ 定義 * ARABIC 3:軟件的變更傳播模型表示為一個帶權(quán)有向簡單圖。其中,表示節(jié)點的集合,中的每個節(jié)點表示軟件中的一個實體;是邊的集合,中的每個元素是一個有序?qū)?,?dāng)且僅當(dāng)使用了提供的服務(wù)時,。有向邊上的權(quán)重表示為節(jié)點相對的傳播概率。 REF
24、 _Ref215649997 h * MERGEFORMAT 圖 2給出了一段Java源代碼和它的變更傳播模型。其中,v1v4表示Java代碼中的四個類,有向邊上的權(quán)重表示變更傳播概率。例如,有向邊上的就表示發(fā)生變更時,發(fā)生變更的概率。public class v1 int x;public class v2 extends v1 void m2() public class v3 extends v1 void m3(v1 _a, v2 _b) public class v4 void m4(v2 _a) ;圖 SEQ 圖 * ARABIC 2 軟件的變更傳播模型實例評價指標(biāo)定義 SEQ 定
25、義 * ARABIC 4:變更節(jié)點數(shù) MACROBUTTON MTPlaceRef * MERGEFORMAT SEQ MTEqn h * MERGEFORMAT ( SEQ MTEqn c * Arabic * MERGEFORMAT 1)NOCN表示為了響應(yīng)某次變更需求,最終修改的節(jié)點總數(shù)。其中,表示在響應(yīng)變更時實際修改的節(jié)點集合。表示集合包含的元素個數(shù),下同。定義 SEQ 定義 * ARABIC 5:平均變更節(jié)點數(shù) MACROBUTTON MTPlaceRef * MERGEFORMAT SEQ MTEqn h * MERGEFORMAT ( SEQ MTEqn c * Arabic *
26、 MERGEFORMAT 2)其中,n表示變更次數(shù)。AvgNOCN刻畫的是在n次變更中,需要修改的平均節(jié)點數(shù)。定義 SEQ 定義 * ARABIC 6:變更節(jié)點數(shù)的標(biāo)準(zhǔn)差 MACROBUTTON MTPlaceRef * MERGEFORMAT SEQ MTEqn h * MERGEFORMAT ( SEQ MTEqn c * Arabic * MERGEFORMAT 3)StdNOCN反映的是,多次變更中修改的節(jié)點數(shù)之間的差異程度。定義 SEQ 定義 * ARABIC 7:最小節(jié)點變更數(shù) MACROBUTTON MTPlaceRef * MERGEFORMAT SEQ MTEqn h * M
27、ERGEFORMAT ( SEQ MTEqn c * Arabic * MERGEFORMAT 4)MinNOCN表示的是,多次變更中最少需要修改的節(jié)點數(shù)。定義 SEQ 定義 * ARABIC 8:最大節(jié)點變更數(shù) MACROBUTTON MTPlaceRef * MERGEFORMAT SEQ MTEqn h * MERGEFORMAT ( SEQ MTEqn c * Arabic * MERGEFORMAT 5)MaxNOCN表示的是,多次變更中最多需要修改的節(jié)點數(shù)。它反映了最差的變更狀況。定義 SEQ 定義 * ARABIC 9:節(jié)點變更比率 MACROBUTTON MTPlaceRef
28、* MERGEFORMAT SEQ MTEqn h * MERGEFORMAT ( SEQ MTEqn c * Arabic * MERGEFORMAT 6)其中,表示節(jié)點總數(shù),下同。NOCN反映的是變更節(jié)點數(shù)的絕對值,它與軟件的規(guī)模相關(guān)。POCN反映的則是變更節(jié)點數(shù)相對整體的比例。在對比不同規(guī)模軟件的穩(wěn)定性時,基于POCN的比例度量更能反映軟件的穩(wěn)定性質(zhì)量。定義 SEQ 定義 * ARABIC 10:平均變更節(jié)點比率 MACROBUTTON MTPlaceRef * MERGEFORMAT SEQ MTEqn h * MERGEFORMAT ( SEQ MTEqn c * Arabic *
29、MERGEFORMAT 7)定義 SEQ 定義 * ARABIC 11:平均變更節(jié)點比率的標(biāo)準(zhǔn)差為 MACROBUTTON MTPlaceRef * MERGEFORMAT SEQ MTEqn h * MERGEFORMAT ( SEQ MTEqn c * Arabic * MERGEFORMAT 8)定義 SEQ 定義 * ARABIC 12:最小節(jié)點變更比率 MACROBUTTON MTPlaceRef * MERGEFORMAT SEQ MTEqn h * MERGEFORMAT ( SEQ MTEqn c * Arabic * MERGEFORMAT 9)定義 SEQ 定義 * ARA
30、BIC 13:最大節(jié)點變更比率 MACROBUTTON MTPlaceRef * MERGEFORMAT SEQ MTEqn h * MERGEFORMAT ( SEQ MTEqn c * Arabic * MERGEFORMAT 10)基于仿真的評價指標(biāo)計算方法軟件網(wǎng)絡(luò)的結(jié)構(gòu)研究表明,軟件中存在雙向邊和大量的有向環(huán)結(jié)構(gòu) ADDIN NE.Ref.378FB331-CDDF-437B-B46E-22C96B71D57E8, 9,這使得傳統(tǒng)的概率論方法無法根據(jù)軟件的變更傳播模型直接進(jìn)行評價指標(biāo)的計算。在以往的研究中,人們一般采用破環(huán)操作刪除部分有向邊,消除模型中的有向回路,再計算度量指標(biāo);或者直
31、接采用近似方法來計算評價指標(biāo) ADDIN NE.Ref.E079F06E-BC09-4421-9DD8-B6CC7BA84D375, 6。這些方法都在一定程度上破壞了原始的變更傳播模型,進(jìn)而影響了評估和預(yù)測的精度。為了避免上述缺陷,簡化評價指標(biāo)的計算過程,本文提出一種基于仿真的變更傳播算法。該算法的核心思想是:首先,隨機(jī)選擇一個初始變更節(jié)點;然后,順著輸入邊方向,以邊上的傳播概率逐個影響相鄰的未變更的節(jié)點;接著,按照廣度優(yōu)先、逐個波及的原則,從新變更的節(jié)點出發(fā),依次迭代,向外傳播,以此來模擬“原子變更”的執(zhí)行過程,即對“原子變更需求”的響應(yīng)過程,直到?jīng)]有新的節(jié)點發(fā)生變更。這時,一次仿真結(jié)束?!?/p>
32、原子變更”中“變更節(jié)點集”到初始變更節(jié)點可達(dá)的特性,保證了變更傳播仿真的可行性。此外,需要特別指出的是:在“原子變更”中,我們假設(shè)每個節(jié)點最多只需要修改一次就能滿足“原子變更需求”,也就是說,每個節(jié)點最多只能變更一次;而每個未變更節(jié)點卻可以受到相鄰多個新變更節(jié)點的影響。每次仿真的結(jié)果對應(yīng)一次“原子變更”,“原子變更”中修改的節(jié)點總數(shù)記做NOCN。經(jīng)過多次仿真后,統(tǒng)計變更節(jié)點數(shù)的均值、方差、最大值和最小值,就得到該軟件的穩(wěn)定性度量指標(biāo)。當(dāng)變更傳播模型中存在循環(huán)依賴時,不妨假設(shè)類A、類B雙向依賴,由于引入了廣度優(yōu)先、逐個波及的傳播準(zhǔn)則,在一次仿真中,類A和類B只能有一個因、一個果,假設(shè)類A的變更引
33、發(fā)類B的修改;但在下一次仿真中,由于選擇的初始變更節(jié)點不同,以及變更傳播的不確定性,類B的變更也可能引發(fā)類A的修改。特別的,當(dāng)我們選擇類A為初始變更節(jié)點時,類B的變更必定是由類A引起的;同理,當(dāng)我們選擇類B為初始變更節(jié)點時,類A的變更也必然是類B引起。由此可見,一方面,軟件結(jié)構(gòu)中存在的循環(huán)依賴不會影響變更傳播的仿真;另一方面,通過多次仿真,我們可以模擬出循環(huán)依賴的兩個節(jié)點在變更時互為因果的現(xiàn)象。因此,本文提出的基于仿真的評價指標(biāo)計算方法,不但保持了傳播模型與軟件靜態(tài)結(jié)構(gòu)的一致性,而且簡化了度量指標(biāo)的計算過程。以下詳細(xì)介紹基于仿真的評價指標(biāo)計算方法。設(shè)某個軟件的變更傳播模型為,節(jié)點被選為變更初始
34、節(jié)點的概率為。那么,模型中所有節(jié)點被選為的概率必然滿足下面的約束條件: MACROBUTTON MTPlaceRef * MERGEFORMAT SEQ MTEqn h * MERGEFORMAT ( SEQ MTEqn c * Arabic * MERGEFORMAT 11)仿真算法分為以下幾個步驟:輸入軟件的變更傳播模型和仿真次數(shù)N,當(dāng)前仿真次數(shù)n設(shè)為0;設(shè)置模型中所有節(jié)點的變更狀態(tài)為“未變更”;以概率隨機(jī)選擇一個節(jié)點作為初始變更節(jié)點,設(shè)置節(jié)點的變更狀態(tài)為“已變更”,并將節(jié)點加入到變更隊列ChangedNodeQueue中;選擇ChangedNodeQueue中的首節(jié)點,獲取的所有前驅(qū)節(jié)點
35、(即存在指向節(jié)點的邊的節(jié)點)中變更狀態(tài)為“未變更”的節(jié)點集合,設(shè)為;對集合中的每個節(jié)點,以傳播概率pst將其變更狀態(tài)設(shè)置為“已變更”;如果的變更狀態(tài)從“未變更”變成了“已變更”,就將添加到變更隊列ChangedNodeQueue尾部; 從ChangedNodeQueue中刪除首節(jié)點,并且清空集合;反復(fù)執(zhí)行步驟46,直到ChangedNodeQueue為空,記錄變更的節(jié)點總數(shù)為;設(shè)置當(dāng)前仿真次數(shù)n=n+1;若nN,反復(fù)執(zhí)行步驟27,否則仿真停止。 REF _Ref216664482 h * MERGEFORMAT 圖 3是變更傳播仿真算法的一個流程示意,圖中表示節(jié)點狀態(tài)為“未變更”,表示 “已變
36、更”。假設(shè)在某次仿真中,被選為初始變更節(jié)點,首先被標(biāo)記為“已變更”,并添加到隊列ChangedNodeQueue中;ChangedNodeQueue首節(jié)點,有兩條輸入邊,分別連接和,并且這兩個節(jié)點都是未變更,因此;分別以概率和波及節(jié)點和,假設(shè)被波及、不受影響,于是被添加到ChangedNodeQueue隊列中,并刪除隊列的首節(jié)點。這時,ChangedNodeQueue隊列中只包含新被修改的節(jié)點;ChangedNodeQueue隊列首節(jié)點,同樣有兩條輸入邊,分別連接未變更節(jié)點和,因此; 分別以概率和波及節(jié)點和,假設(shè)被波及、不受影響,于是被添加到ChangedNodeQueue隊列中,并刪除隊列的
37、首節(jié)點。這時,ChangedNodeQueue隊列中只包含新被修改的節(jié)點;ChangedNodeQueue隊列首節(jié)點,沒有輸入邊,因此R為空;由于為空,因此沒有波及操作,直接從ChangedNodeQueue中刪除首節(jié)點,這時ChangedNodeQueue也為空,本次仿真結(jié)束,變更節(jié)點數(shù)NOCN=3,POCN=0.75。圖 SEQ 圖 * ARABIC 3 仿真算法示意圖在我們的傳播算法中,不限制網(wǎng)絡(luò)中節(jié)點進(jìn)入集合R的次數(shù)。在 REF _Ref216664482 h * MERGEFORMAT 圖 3的實例中,V3兩次進(jìn)入集合R,這與軟件維護(hù)中的實際情況一致。因為V3是否變更,取決于所有后繼
38、節(jié)點(V1和V2)對它的影響。從前面的仿真實例中可以看出,由于初始變更節(jié)點的選擇以及變更節(jié)點對相鄰節(jié)點的影響都存在不確定性,因此,多次仿真中AvgNOCN、StdNOCN等評價指標(biāo)的度量值也會有所不同。但是隨著仿真次數(shù)的增加,上述評價指標(biāo)都會逐步收斂,最終保持穩(wěn)定。在本文的第 REF _Ref227037522 r h * MERGEFORMAT 5 節(jié),我們將結(jié)合軟件實例,對仿真過程中度量指標(biāo)的收斂性進(jìn)行分析。實驗設(shè)計為了驗證SEMCIS方法的有效性,分析傳播概率、軟件結(jié)構(gòu)對軟件穩(wěn)定性的影響,本文將結(jié)合開源軟件Jedit,進(jìn)行實證分析。在第 REF _Ref227038573 r h * M
39、ERGEFORMAT 5 節(jié),我們首先考察SEMCIS方法中,評價指標(biāo)的收斂性問題;在第 REF _Ref227039093 r h * MERGEFORMAT 6 節(jié)、第 REF _Ref227038763 r h * MERGEFORMAT 7 節(jié),我們分別考察傳播概率以及軟件結(jié)構(gòu)對穩(wěn)定性的影響。通過實驗結(jié)果分析,在驗證SEMCIS方法的同時,分析和總結(jié)影響軟件穩(wěn)定性的因素,特別是造成大規(guī)模變更的原因,為軟件設(shè)計、維護(hù)的決策提供支持。數(shù)據(jù)來源本文的實驗數(shù)據(jù)來自開源Java軟件Jedit 4.2的核心包jedit.jar。軟件中的每個類對應(yīng)變更傳播模型中的一個節(jié)點,類和類之間的繼承、組成、關(guān)
40、聯(lián)和依賴關(guān)系對應(yīng)模型中的一條邊。如果兩個類之間存在多種關(guān)系,也被看成是一條邊。本文選取其中的最大弱連通子圖進(jìn)行分析。該子圖共包括796個節(jié)點,3883條邊,節(jié)點的最大入度是223。實驗設(shè)置在本文提出的軟件變更傳播模型中,傳播概率反映的是軟件中相連兩個實體之間耦合關(guān)系的強(qiáng)弱,而初始變更節(jié)點的選擇概率反映的是“原子變更需求”的不確定性。這些概率可以通過對以往的維護(hù)歷史進(jìn)行分析或者專家經(jīng)驗得到。在Jedit的實證分析中,本文假設(shè)相鄰兩個類之間的傳播概率都等于定值,即每個節(jié)點被選為變更初始節(jié)點的概率服從均勻分布,即評價指標(biāo)的收斂性分析在變更傳播的仿真算法中,初始變更節(jié)點是隨機(jī)選擇的,并且使用傳播概率來
41、控制相鄰節(jié)點間變更傳播的可能性。因此,在兩次仿真中,即使相同,AvgNOCN、StdNOCN等指標(biāo)的仿真結(jié)果也會有所不同。要想運用仿真算法評價軟件的變更傳播特性,首先需要考察不同傳播概率下評價指標(biāo)的收斂性。在本文提出的評價指標(biāo)中,AvgNOCN、StdNOCN、MinNOCN和MaxNOCN分別與AvgPOCN、StdPOCN、MinPOCN和MaxPOCN成正比,而MinNOCN一般為1。所以,在這里,我們只考察AvgNOCN、StdNOCN和MaxNOCN三個評價指標(biāo)的收斂性。實驗中,傳播概率分別取0.11(間隔0.1),仿真總次數(shù)N設(shè)為10000。(a)NOCN(b)StdNOCN(c)
42、MaxNOCN圖 SEQ 圖 * ARABIC 4 仿真過程中JEdit軟件網(wǎng)絡(luò)的評價指標(biāo)變化趨勢 REF _Ref226104727 h * MERGEFORMAT 圖 4給出了不同傳播概率下,平均變更節(jié)點數(shù)AvgNOCN、變更節(jié)點數(shù)的標(biāo)準(zhǔn)差StdNOCN和最大變更節(jié)點數(shù)MaxNOCN在仿真中的變化趨勢。其中,X軸表示仿真次數(shù)n,Y軸分別表示n次仿真后的平均變更節(jié)點數(shù)AvgNOCN、變更節(jié)點數(shù)的標(biāo)準(zhǔn)差StdNOCN和最大變更節(jié)點數(shù)MaxNOCN。圖中的每條曲線分別表示不同下的仿真結(jié)果。從變化趨勢圖上可以看出:當(dāng)仿真次數(shù)n=3000時,AvgNOCN、StdNOCN和MaxNOCN基本保持穩(wěn)定
43、。由此可見,在仿真次數(shù)N遠(yuǎn)大于節(jié)點數(shù)的前提下,本文提出的評價指標(biāo)在仿真中具有良好的收斂性。對JEdit進(jìn)行多次實驗后我們發(fā)現(xiàn),評價指標(biāo)在多次實驗中的度量值基本穩(wěn)定,偏差不超過度量值的1%。說明本文提出的變更仿真算法是有效的,可以用于軟件穩(wěn)定性的分析和度量。傳播概率對軟件穩(wěn)定性的影響分析對評價指標(biāo)的影響以往的研究表明,模塊間的耦合程度很大程度上影響到系統(tǒng)的可維護(hù)性。因此,在軟件設(shè)計時,人們提倡模塊化的設(shè)計思想,目的是希望軟件系統(tǒng)各模塊之間的耦合盡可能松散,聯(lián)系盡可能簡單。這樣,在進(jìn)行軟件維護(hù)時,不但可以減少變更的擴(kuò)散范圍,而且可以降低理解系統(tǒng)的難度。在本文提出的SEMCIS方法中,變更傳播概率在
44、一定程度上反映了模塊間的耦合強(qiáng)度。原則上,傳播概率越高,變更的平均影響范圍就越大,軟件的穩(wěn)定性越差。 REF _Ref215835485 h * MERGEFORMAT 表 1給出了不同傳播概率下的評價指標(biāo)。可以看到:隨著傳播概率的不斷增加,最大變更節(jié)點數(shù)MaxNOCN和平均變更節(jié)點數(shù)AvgNOCN不斷增加,平均變更節(jié)點數(shù)的標(biāo)準(zhǔn)差StdNOCN也基本呈上升趨勢(介于0.81.0時略有不同)。另外,當(dāng)0.8時,平均變更節(jié)點數(shù)的標(biāo)準(zhǔn)差StdNOCN都要大于平均變更節(jié)點數(shù)。這說明,盡管變更模型中的傳播概率較小,但是在響應(yīng)不同的“原子變更需求”時,由于選擇的初始變更節(jié)點不同,需要更改的節(jié)點數(shù)NOCN之
45、間存在巨大的差異。由于傳播概率在一定程度上反映了軟件元素之間的耦合程度,上述實驗結(jié)果表明:降低耦合度對軟件維護(hù)具有重要意義。過高的耦合性必將導(dǎo)致軟件變更時的連鎖效應(yīng),增加軟件的維護(hù)成本。這和軟件設(shè)計的基本原則是一致的。也從另一個側(cè)面驗證了本文提出的SEMCIS方法,可以有效地度量不同耦合強(qiáng)度對軟件穩(wěn)定性的影響。表 SEQ 表 * ARABIC 1 不同傳播概率下JEdit軟件網(wǎng)絡(luò)的變更傳播指標(biāo)0.10.20.30.40.50.60.70.80.91AvgNOCN4.2328.9171.91120.13177.05228.62285.51330.00377.91424.99StdNOCN12.8
46、768.12127.31173.84209.49233.25246.71252.26250.10240.08MaxNOCN124288391460513558585608619628AvgPOCN0.53%3.63%9.03%15.09%22.24%28.72%35.87%41.46%47.48%53.39%StdPOCN1.62%8.56%15.99%21.84%26.32%29.30%30.99%31.69%31.42%30.16%MaxPOCN15.58%36.18%49.12%57.79%64.45%70.10%73.49%76.38%77.76%78.89%對變更節(jié)點數(shù)分布的影響平均
47、變更節(jié)點數(shù)AvgNOCN和標(biāo)準(zhǔn)差StdNOCN反映了軟件在響應(yīng)“原子變更需求”時的整體統(tǒng)計特性。那么,多次仿真中變更節(jié)點數(shù)NOCN是否存在某種規(guī)律呢? 圖 SEQ 圖 * ARABIC 5 不同傳播概率下JEdit軟件的變更節(jié)點數(shù)分布(表示峰值所在位置) REF _Ref216018109 h * MERGEFORMAT 圖 5給出了不同傳播概率下,變更節(jié)點數(shù)的分布情況。其中,X軸表示變更的節(jié)點數(shù),Y軸表示在N次仿真中,出現(xiàn)x個節(jié)點發(fā)生變更的次數(shù)。X軸和Y軸都以10為底取對數(shù)。從中我們發(fā)現(xiàn)一些有趣的現(xiàn)象:當(dāng)=0.1時,變更節(jié)點數(shù)呈現(xiàn)出明顯的冪率分布。在尾部,發(fā)生大范圍變更的次數(shù)呈上升趨勢;當(dāng)=
48、0.20.9時,變更節(jié)點數(shù)的分布明顯分裂成兩個區(qū)域,左側(cè)基本服從冪率或者帶指數(shù)截斷的冪率分布,右側(cè)是一個或兩個山峰,兩者之間存在明顯的斷裂帶。隨著的增加,右側(cè)的山峰逐步上升并右移,說明軟件在響應(yīng)未知的變更需求時,可能變更的節(jié)點數(shù)越來越多、發(fā)生的幾率也越來越高。從=0.4開始,山峰由一個分裂成兩個。當(dāng)=1.0時,變更節(jié)點數(shù)的分布分裂為兩個區(qū)域,但是每個區(qū)域的概率分布情況不是很明顯;從這些現(xiàn)象中我們可以看出,每次仿真中對應(yīng)的變更節(jié)點數(shù)是極不均勻的,變更節(jié)點數(shù)的分布圖從一定程度上反映了軟件響應(yīng)未知變更的能力。隨著傳播概率的增加,發(fā)生大規(guī)模變更的可能性不斷上升。因此,改善類與類之間的耦合強(qiáng)度,降低傳播
49、概率,可以有效地減少原子變更的波及范圍,提高軟件穩(wěn)定性。軟件結(jié)構(gòu)對軟件穩(wěn)定性的影響分析以往的研究表明,軟件的體系結(jié)構(gòu)在很大程度上決定了軟件的全局質(zhì)量。其中,軟件可維護(hù)性與軟件的結(jié)構(gòu)有著直接的關(guān)系 ADDIN NE.Ref.4D6A4290-D1BD-4950-865E-FAF5FEA1096F13。由此可見,在傳播概率不變的前提下,改善軟件的體系結(jié)構(gòu)設(shè)計,也就是軟件實體之間的連接關(guān)系,有可能提高軟件的穩(wěn)定性。那么,什么樣的軟件結(jié)構(gòu),它的穩(wěn)定性比較好?影響穩(wěn)定性的結(jié)構(gòu)因素又有哪些呢?為了研究軟件結(jié)構(gòu)對穩(wěn)定性的影響,我們首先將JEdit的變更傳播模型(簡稱真實模型)與相同規(guī)模、隨機(jī)化之后的拓?fù)浣Y(jié)構(gòu)
50、(簡稱隨機(jī)模型)進(jìn)行對比,分析它們在穩(wěn)定性上的差異。在此基礎(chǔ)上,對大規(guī)模變更產(chǎn)生的原因進(jìn)行分析。軟件真實模型與隨機(jī)模型的穩(wěn)定性對比實驗分為以下幾個步驟:輸入軟件的變更傳播模型,獲取每個節(jié)點的出度和入度,組成度序列;根據(jù)步驟1中得到的度序列,運用交換法則生成一系列隨機(jī)模型 ADDIN NE.Ref.82293307-916B-4691-95AF-B163A3CD835E14, 15。針對真實軟件中的有向邊和,如果和都不存在,那么刪除這兩條邊,然后添加和到網(wǎng)絡(luò)中。同時要求,雙向邊只能和雙向邊進(jìn)行交換,隨機(jī)化后的網(wǎng)絡(luò)必須保證連通性。這樣,通過多次交換后生成的隨機(jī)模型,每個節(jié)點的度和原始軟件保持一致,
51、但是,節(jié)點與節(jié)點間的度相關(guān)性發(fā)生了變化。設(shè)置相同的仿真次數(shù)N和變更傳播概率,對真實模型和隨機(jī)模型進(jìn)行仿真,并統(tǒng)計度量指標(biāo);表 SEQ 表 * ARABIC 2 =0.5時,JEdit軟件真實模型和隨機(jī)模型的變更傳播指標(biāo)對比JEdit隨機(jī)模型AvgNOCN174.14278.17StdNOCN209.37271.51AvgPOCN21.88%34.95%StdPOCN26.30%34.11%MinNOCN(左側(cè))11MaxNOCN(左側(cè))6118MinNOCN(右側(cè))373484MaxNOCN(右側(cè))518586本實驗中,傳播概率設(shè)為0.5,仿真次數(shù)N設(shè)為10000。 REF _Ref21606
52、3992 h * MERGEFORMAT 圖 6給出JEdit真實模型和隨機(jī)模型的變更節(jié)點數(shù)分布圖。其中X軸表示變更的節(jié)點數(shù),Y軸表示在N次仿真中,出現(xiàn)x個變更節(jié)點的次數(shù)。X軸和Y軸都以10為底取對數(shù)。具體的統(tǒng)計指標(biāo)參見 REF _Ref216064855 h * MERGEFORMAT 表 2。結(jié)合 REF _Ref216063992 h * MERGEFORMAT 圖 6和 REF _Ref216064855 h * MERGEFORMAT 表 2的信息,可以發(fā)現(xiàn):JEdit真實模型的評價指標(biāo),包括AvgNOCN、StdNOCN、MaxNOCN在內(nèi),都要明顯優(yōu)于隨機(jī)模型。與JEdit真實模
53、型類似,隨機(jī)模型的變更節(jié)點數(shù)分布同樣分裂成兩個區(qū)域,左側(cè)基本服從冪率或者帶指數(shù)截斷的冪率分布,右側(cè)同樣出現(xiàn)山峰,兩個區(qū)域之間也存在明顯的斷裂帶。JEdit網(wǎng)絡(luò)的左半部分比隨機(jī)模型的下降趨勢要慢一些,這使得左側(cè)部分的最大值要遠(yuǎn)遠(yuǎn)高于隨機(jī)模型。JEdit網(wǎng)絡(luò)左側(cè)部分的最大值是61,而隨機(jī)模型左側(cè)部分的最大值只有20左右。但是,JEdit左半部分在總體中所占的比例要明顯高于隨機(jī)模型。在隨機(jī)模型中,左側(cè)部分的頻數(shù)總和為4904次,而在JEdit軟件的變更節(jié)點數(shù)分布圖中,左側(cè)部分的頻數(shù)總和達(dá)到了5977次。JEdit真實模型的右半部分在X軸上的跨度較大,最小值和最大值都要明顯小于隨機(jī)模型。隨機(jī)模型右半部
54、分的變更節(jié)點數(shù)分布在(484,586) 之間,而JEdit真實模型則在(373,518)之間變化。實驗結(jié)果表明,本文提出的SEMCIS方法和評價指標(biāo)可以反映出結(jié)構(gòu)對穩(wěn)定性的影響。經(jīng)過人工設(shè)計的軟件,它的穩(wěn)定性確實要好于隨機(jī)模型,可以有效地降低變更的傳播范圍。在變更傳播概率不變的前提下,改善軟件的體系結(jié)構(gòu)設(shè)計同樣可以提高軟件的穩(wěn)定性。(a)JEdit真實模型(b)隨機(jī)模型圖 SEQ 圖 * ARABIC 6 =0.5時JEdit真實模型和隨機(jī)模型的變更節(jié)點數(shù)分布造成大規(guī)模變更的結(jié)構(gòu)因素從軟件真實的變更傳播模型與隨機(jī)模型的穩(wěn)定性對比實驗中,我們發(fā)現(xiàn):無論是JEdit的真實模型,還是隨機(jī)模型,仿真過
55、程中大規(guī)模變更頻頻發(fā)生。這說明,JEdit真實模型和隨機(jī)模型在存在差異的同時,也存在一些共性,而這些共性就是造成大規(guī)模變更的主要原因。要想抑制變更的傳播范圍,有必要研究造成大規(guī)模變更的結(jié)構(gòu)特點,從而為軟件的體系結(jié)構(gòu)設(shè)計提供指導(dǎo)。直觀上看,修改初始變更節(jié)點導(dǎo)致的變更節(jié)點數(shù),其中表示到的最短距離為i的前驅(qū)節(jié)點個數(shù)。在較小的前提下,隨著距離i的增加,因此,其中表示的入度。當(dāng)傳播概率較小時,節(jié)點的修改一般只能影響到與直接相連的節(jié)點。也就是說,初始變更節(jié)點的入度很大程度上決定了最終變更的節(jié)點數(shù)。而軟件網(wǎng)絡(luò)的入度基本服從冪率分布 ADDIN NE.Ref.E1634300-300B-4C85-AFB4-7
56、6FCCCD0F60516,所以變更的波及范圍基本上和初始變更節(jié)點的入度成正比,也呈現(xiàn)出類似冪率的分布。但是,從 REF _Ref215835485 h * MERGEFORMAT 表 1的JEdit仿真結(jié)果來看,不同下最大的變更節(jié)點數(shù)MaxNOCN遠(yuǎn)遠(yuǎn)大于。而且,隨著值的增加,最大變更節(jié)點數(shù)MaxNOCN也隨之增加。以為例,最大變更節(jié)點數(shù)MaxNOCN達(dá)到了124,遠(yuǎn)遠(yuǎn)大于(JEdit網(wǎng)絡(luò)中節(jié)點的最大入度是223)。要想造成這么大范圍的變更,僅靠1個入度較大的集散節(jié)點(簡稱為入度Hub)是遠(yuǎn)遠(yuǎn)不夠,必須要多個入度Hub相互協(xié)作。首先,多個入度Hub節(jié)點受到的影響發(fā)生變更,再通過入度Hub引起
57、大規(guī)模的漣漪效應(yīng)。因此,入度Hub之間的彼此相連是造成大規(guī)模變更,特別是最大變更節(jié)點數(shù)MaxNOCN偏大的主要原因。隨著傳播概率的增加,初始變更節(jié)點可以波及的距離逐漸增加。與此同時,能夠影響入度Hub的節(jié)點個數(shù)也不斷增加。如 REF _Ref225665279 h * MERGEFORMAT 圖 7所示,當(dāng)值很小時,入度Hub節(jié)點一般只能受到距離為1的、等節(jié)點的影響,同時只能影響、等節(jié)點。隨著值的增加,一旦發(fā)生變更,可能波及的節(jié)點越來越多。于此同時,被距離大于1的節(jié)點(例如,、)影響的幾率也不斷上升。這就使得:在變更波及范圍不斷增加的同時,劇烈變更的發(fā)生頻率也不斷上升。表現(xiàn)在變更分布圖上,就是
58、右側(cè)的山峰不斷右移、上升,山峰在總體中所占的比重逐漸增加。通過上面的分析,我們可以得出這樣的結(jié)論:入度Hub的相互連接是造成大范圍變更的主要原因;而入度Hub中存在的大量后繼節(jié)點(VVhub),則是造成大范圍變更頻繁發(fā)生的主要原因。圖 SEQ 圖 * ARABIC 7 入度Hub節(jié)點的影響示意圖為了驗證前面的分析,本文以JEdit網(wǎng)絡(luò)為例,分析入度Hub節(jié)點的連接方式以及它們的前驅(qū)和后繼節(jié)點對網(wǎng)絡(luò)傳播特性的影響。首先我們給出入度Hub的定義。定義 SEQ 定義 * ARABIC 14:入度Hub的閾值為 MACROBUTTON MTPlaceRef * MERGEFORMAT SEQ MTEq
59、n h * MERGEFORMAT ( SEQ MTEqn c * Arabic * MERGEFORMAT 12)其中,和分別表示網(wǎng)絡(luò)中節(jié)點入度的平均值和標(biāo)準(zhǔn)差。入度大于的節(jié)點都被看作是入度Hub節(jié)點。對于JEdit網(wǎng)絡(luò),節(jié)點入度的平均值為4.9,方差為13.7,因此入度大于32.3的節(jié)點都被看作入度Hub節(jié)點,共計19個。 REF _Ref224670265 h * MERGEFORMAT 圖 8給出了JEdit網(wǎng)絡(luò)和隨機(jī)模型中入度Hub節(jié)點的連接關(guān)系圖。從中可以看到,在JEdit軟件中,入度Hub節(jié)點形成一個弱連通網(wǎng)絡(luò),并且被劃分成兩個明顯的社區(qū)。每個社區(qū)中的Hub節(jié)點連接異常緊密。任何
60、一個節(jié)點發(fā)生變更,都可能波及到社區(qū)內(nèi)的所有節(jié)點,造成大規(guī)模的漣漪效應(yīng)。特別是當(dāng)右側(cè)社區(qū)的節(jié)點發(fā)生變更時,可能通過有向邊影響到左側(cè)社區(qū)中的節(jié)點,使變更的范圍進(jìn)一步擴(kuò)大。JEdit的Hub網(wǎng)絡(luò)中存在的社區(qū)結(jié)構(gòu),以及兩個社區(qū)之間存在的單向連通性,可能是造成變更節(jié)點分布中出現(xiàn)兩個波峰的原因。相比之下,隨機(jī)模型中的入度Hub節(jié)點被緊密連接成一個整體,沒有明顯的社區(qū)結(jié)構(gòu)。一旦某個入度Hub節(jié)點發(fā)生變更,其它節(jié)點更容易受到牽連,從而造成更大范圍的變更。 REF _Ref226349061 h * MERGEFORMAT 表 3給出了JEdit網(wǎng)絡(luò)和隨機(jī)模型中前驅(qū)和后繼節(jié)點的個數(shù)。從中可以看出,與JEdit入
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度二手房購房合同范本-跨區(qū)域房產(chǎn)交易與物流服務(wù)3篇
- 2025年度生態(tài)旅游區(qū)酒店專業(yè)安保與巡邏服務(wù)合同3篇
- 2024年酒類產(chǎn)品獨家代理合同模板
- 2025版環(huán)保行業(yè)技師服務(wù)合同范本3篇
- 2025版綠色能源項目貸款到期續(xù)借及環(huán)保效益評估合同3篇
- 2025年二零二五年度電子產(chǎn)品進(jìn)口銷售合同中英范本2篇
- 2024年跨國現(xiàn)貨交易合同草擬指引
- 2024版冰箱采購合同范本
- 2025年度教育培訓(xùn)合同:課程設(shè)置與師資配備3篇
- 2025版音像制品發(fā)行合同詳盡2篇
- 貸款用設(shè)備購銷合同范例
- 公務(wù)員行測真題題庫及答案
- 2025支部會議記錄范文
- 部隊保密安全課件
- 園林施工技術(shù)創(chuàng)新-洞察分析
- 醫(yī)院窗簾、隔簾采購 投標(biāo)方案(技術(shù)方案)
- 期末檢測卷(試題)-2024-2025學(xué)年三年級上冊數(shù)學(xué)人教版
- 2024年叉車租賃合同經(jīng)典版(四篇)
- 小學(xué)科學(xué)青島版(六三制)六年級上冊全冊教案(共25課)(2022秋)
- 2024焊接工藝規(guī)程
- 外研版(2024新版)七年級上冊英語期末復(fù)習(xí)Unit1~6共6套學(xué)業(yè)質(zhì)量檢測試卷匯編(含答案)
評論
0/150
提交評論