推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

基于软件网络加权k-核分析的关键类识别方法

更新时间:2019-12-25 10:06:28 大小:1003K 上传用户:守着阳光1985查看TA发布的资源 标签:软件网络加权 下载积分:1分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

识别关键类可以帮助人们尽快理解不熟悉的软件系统.尽管目前已有一些关键类识别方面的工作,但是大部分方法构建的依赖图是无权的,未考虑类之间交互的种类及次数.有鉴于此,提出了一种基于软件网络加权k-核分析的关键类识别方法.首先,用加权类耦合网络抽象类(接口)、类(接口)间的交互及其次数;然后,引入加权k-核分解方法计算类的加权核数;最后,以加权核数作为类重要性的量度指标,降序排列所有类,并通过过滤得到候选关键类.真实软件上的数据实验验证了本文方法的有效性.


部分文件列表

文件名 大小
基于软件网络加权k-核分析的关键类识别方法.pdf 1003K

部分页面预览

(完整内容请下载后查看)
5
Vol. 46 No. 5  
May 2018  
2018  
5
ACTA ELECTRONICA SINICA  
k-  
基于软件网络加权 核分析的  
关键类识别方法  
1
1
2
3
1
, , , ,  
潘伟丰 宋贝贝 胡 博 李 兵 姜 波  
( 1.  
计算机与信息学院 州  
310018; 2.  
软件研究广圳  
518057;  
3.  
学国软件学院 湖北汉  
430072)  
:
,  
识别关键类快理解熟悉的软件系统 有一关键类识别方面的但  
,  
分方法依赖权的 未考交互的次数 此 提出了一种基于软件网络加权  
k-  
, ( ) ( ) ; , k-  
核分析的关键类识别方法 加权类网络象类 的交互次数 加权 核  
; , , ,  
分解方法计算类的加权核加权核类重量度过过得到关键  
软件数据实验验本文方法的性  
:
;
k-  
;
;
关键词  
中图分类号  
URL: http: / /www. ejournal. org. cn  
关键类 加权 核分解 软件网络 程序理解  
:
TP311. 5  
:
A
: 0372-2112 ( 2018) 05-1071-07  
DOI: 10. 3969 /j. issn. 0372-2112. 2018. 05. 007  
文献标识码  
文章编号  
电子学报  
Identifying Key Classes Based on Weighted  
k-Core Analysis of Software Networks  
1
1
2
3
1
PAN Wei-feng SONG Bei-bei HU Bo LI Bing JIANG Bo  
( 1. School of Computer Science and Information EngineeringZhejiang Gongshang UniversityHangzhouZhejiang 310018China;  
2. Kingdee ResearchKingdee International Software Group Co. LtdShenzhenGuangdong 518057China;  
3. International School of SoftwareWuhanHubei 430072China)  
Abstract: Identifying key classes can help software engineers understand software systems that they previously were  
not familiar with. Though there are some methods on the identification of key classesa majority of them use un-weighted  
dependency graphsneglecting the coupling types and frequencies. In this paperwe propose a method to identify the key  
classes based on weighted k-core analysis of software networks. Firstit uses a weighted class coupling network to represent  
classes ( interfaces) and their couplings and coupling frequencies. Thenwe introduce the weighted k-core decomposition  
method to compute the weighted coreness for each class ( interface) . Finallywe use the weighted coreness to quantify the  
importance of classes ( interfaces) and sort them in a descending order with respect to their weighted corenesses. And the  
top-ranked classes ( interfaces) will serve as the key class candidates. Empirical results show the effectiveness of our ap-  
proach.  
Key words: key class; weighted k-core decomposition; software network; program comprehension  
分配比  
1
引言  
.  
理解软件面向对象  
6]  
软件软件存期动  
软件的基理解对象  
1]  
便始  
软件算  
键类作系统核的类 软件理解的重  
2]  
34]  
90%  
软件 必须理解软件  
上  
56]  
选择关键类分析理解软件理解  
5]  
理解软件容易情  
特别是当软件  
5 ~ 10]  
技  
件的一  
: 2016-11-16;  
: 2017-04-13;  
:
责任辑 蓝红杰  
收稿日期  
回日期  
:
国家然科学金  
( No. 61572371) ;  
( No. LY15F020004) ;  
( No. 2014C23008)  
省科技术研究目  
然科学金  
1072  
2018  
, , ,  
术 识别软件中的关键类 对于分析理解软件 控  
; ;  
结构信息 用加权网络化的表示软件的结构信息 引  
k-  
加权 核分解方法计算网络中类节点的加权核以  
制和用具有义  
, ,  
软件关键类识别方面有一仍  
, ,  
量度类的重按照加权核节点 滤  
7]  
. Inoue  
( component  
人 使 用 构 图  
然比 缺  
graph)  
得到关键类 分  
及构使关系 并使用  
PageRank  
2. 1  
软件结构信取  
Java  
以开的  
算法的计算节点及边的权重 件  
软件作研究对象 软件  
8]  
. Zaidman  
Demeyer  
件检索  
一组软件的轨迹 依  
HITS( hyperlink-  
运  
ICAN  
方法的指从软件的代  
结构信息是  
( java  
) ( 、 、  
件 中类软件素 类 属性  
图并计算动态合度量值 最用  
) ( 、  
方法 量等 和的交互 类类对接  
induced topic search)  
算法识别关键类 方法识别关  
) .  
方法次数 结构信息取由  
.  
键类间和空间开销在  
SNAP( software net-  
的软件网络分析台  
5]  
11]  
Zaidman  
上  
度量的关键类识别方法 态类依赖图并使  
HITS  
人 进提出了一种基于态  
work analysis platform)  
(
由文中的  
11SSQAT  
) SNAP  
以提软件的结构信息 实  
来  
的网络分析化  
2. 2  
算法识别关键类 在一空间开  
9]  
.  
销 但开销然比依赖图  
加权软件网络模型  
象类依赖关系 分别使用  
PageRank HITS  
算法  
4]  
软件结构影响一  
10]  
,  
识别关键类 人  
11]  
要包括软件及元的交互  
现为一种内部  
h a  
使数量度类的重要  
的复网络拓扑的加  
6]  
.  
性 取得了姜淑娟转换模型  
权软件网络化的象软件的拓扑结构信息  
象软件 转换模型的序列  
1
( weighted class coupling  
义  
加权类络  
转换树 最计算转换树节点的复  
networkWCCN) :  
量度类的重性  
WCCN = ( NEP) ,  
( 1)  
提出的方法包含键  
N , (  
网络的节点集 抽象软件中的类在  
: .  
步骤 依赖类重量度 分方法构  
特别说明时 下的类包含口  
) . E  
网络的边  
依赖权的 未考交互的次  
P ,  
表示节点的交互关系 矩阵 储  
10]  
交互的  
, : i j  
交互交互的次数 间  
、  
次数 他们间由方法数  
n WCCN  
交互 交互节点存  
属性和方法类型产生的交互 间  
( ji) ( ( ij) ( ji)  
与  
) ,  
同一边 边权  
在一边  
于方法量产生的交互 未考口  
P( ij) = P( ji) = n;  
i j ,  
则  
,  
间由产生的交互 他们的方法  
P( ij) = P( ji) = 0. Java  
i j 7  
软件中 类 种  
, ,  
计算交互次数化处理 次数不精  
12]  
交互  
, ,  
他们加权依赖图得到的  
( 1)  
: i extends  
关系 关键另  
58]  
Zaidman  
提出态方法  
优于  
本文提出了一种基于软件网络加权  
ICAN( Identifying key Classes  
人  
j,  
然  
k-  
( 2)  
: i  
关系 关键字  
implements  
分析的关键类识别方法  
j.  
现了口  
( 3)  
based on weighted k-core Analysis of software Networks) .  
: i  
关系 类 中的方法使类  
j
ICAN  
( ) ( )  
加权软件网络模型象类 间  
然  
; , k-  
的交互次数 加权 核分解方法挖掘软  
( 4)  
: i  
属性关系 具有一类  
j
;
件网络的层次结构得到节点的加权核终  
属性 然  
, ,  
加权核节点 过  
( 5)  
: i  
方法关系 类 中的方法了  
,  
得到关键类 数据实验们  
j ,  
类 对象的方法 然  
ICAN Ant - 1. 6. 1 JMeter -  
方法软件 和  
( 6)  
: i  
关系 类 中的方法义  
2. 0. 1  
, ,  
的关键类识别中 与相关方法证  
j ,  
类型的然  
本文方法的性  
( 7)  
: i  
方法关系 类 中的方法的返  
2
ICAN  
法  
j ,  
类 的对象 然  
ICAN  
3 :  
方法要包含 分 解析软件  
能同时存交互 一  

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单

推荐下载