电子学报
電子學報
전자학보
ACTA ELECTRONICA SINICA
2014年
11期
2174-2183
,共10页
潘伟丰%李兵%马于涛%姜波
潘偉豐%李兵%馬于濤%薑波
반위봉%리병%마우도%강파
关键包%PageRank算法%软件网络%程序理解
關鍵包%PageRank算法%軟件網絡%程序理解
관건포%PageRank산법%연건망락%정서리해
key package%PageRank algorithm%software network%program comprehension
识别软件中的关键实体对于人们理解软件,控制和降低维护费用具有重要意义。然而现有的工作基本都是针对关键类识别的,针对关键包、方法/属性等的研究甚少;同时现有的工作也未能揭示关键类与软件外部质量属性间的关系。为丰富现有的工作,本文提出了一种基于加权PageRank算法的关键包识别方法。该方法用加权有向软件网络模型抽象包粒度软件系统,提出新度量PR(PackageRank)从结构角度量度节点重要性,并引入加权的PageRank算法计算该度量值。数据实验部分以六个开源Java软件为例,分析了包的PR值与常用复杂网络中心性指标(介数中心性、接近中心性、度数中心性等)间的相关性;使用加权的SIR(Susceptible-Infectious-Recovered)模型分析了PR所识别关键包的传播影响,并与其它相关方法进行比较,验证了本文方法的有效性;最后,以其中两个软件为例,分析了包的PR值与包可理解性间的关系,进一步验证了本文方法的有效性。
識彆軟件中的關鍵實體對于人們理解軟件,控製和降低維護費用具有重要意義。然而現有的工作基本都是針對關鍵類識彆的,針對關鍵包、方法/屬性等的研究甚少;同時現有的工作也未能揭示關鍵類與軟件外部質量屬性間的關繫。為豐富現有的工作,本文提齣瞭一種基于加權PageRank算法的關鍵包識彆方法。該方法用加權有嚮軟件網絡模型抽象包粒度軟件繫統,提齣新度量PR(PackageRank)從結構角度量度節點重要性,併引入加權的PageRank算法計算該度量值。數據實驗部分以六箇開源Java軟件為例,分析瞭包的PR值與常用複雜網絡中心性指標(介數中心性、接近中心性、度數中心性等)間的相關性;使用加權的SIR(Susceptible-Infectious-Recovered)模型分析瞭PR所識彆關鍵包的傳播影響,併與其它相關方法進行比較,驗證瞭本文方法的有效性;最後,以其中兩箇軟件為例,分析瞭包的PR值與包可理解性間的關繫,進一步驗證瞭本文方法的有效性。
식별연건중적관건실체대우인문리해연건,공제화강저유호비용구유중요의의。연이현유적공작기본도시침대관건류식별적,침대관건포、방법/속성등적연구심소;동시현유적공작야미능게시관건류여연건외부질량속성간적관계。위봉부현유적공작,본문제출료일충기우가권PageRank산법적관건포식별방법。해방법용가권유향연건망락모형추상포립도연건계통,제출신도량PR(PackageRank)종결구각도량도절점중요성,병인입가권적PageRank산법계산해도량치。수거실험부분이륙개개원Java연건위례,분석료포적PR치여상용복잡망락중심성지표(개수중심성、접근중심성、도수중심성등)간적상관성;사용가권적SIR(Susceptible-Infectious-Recovered)모형분석료PR소식별관건포적전파영향,병여기타상관방법진행비교,험증료본문방법적유효성;최후,이기중량개연건위례,분석료포적PR치여포가리해성간적관계,진일보험증료본문방법적유효성。
Identifying key entities has many implications for software understanding and controlling and reducing maintenance costs .However the existing methods only focus on identifying key classes .Little work has been done on the identification of key en-tities at the other levels .Further the existing work also failed to reveal the relationships between key classes and external quality at-tributes .In this paper ,we introduce a novel method IDEEP (IDEntifying kEy Packages using weighted PageRank algorithm ) to i-dentify the key packages .IDEEP uses a weighted and directed software network to describe packages and their dependencies ,pro-poses a new metric PR (PackageRank) to quantify the package importance ,and introduces a weighted PageRank algorithm to com-pute PR values .Our experiments are carried out on six Java software systems .First we analyze the correlation between PR values and other centrality metrics such as betweenness ,closeness and degree .Second we use a weighted version of the susceptible-infec-tious-recovered model to examine the spreading influence of each node .The results show that our method is better than other six methods .Further ,we reveal the relationships between key packages and their understandability and show that the key packages iden-tified by our method are more meaningful from a software engineering perspective .