[发明专利]一种基于类多层网络的软件类重要性度量方法有效

专利信息
申请号: 201811261866.2 申请日: 2018-10-26
公开(公告)号: CN109445843B 公开(公告)日: 2021-08-03
发明(设计)人: 潘伟丰;王家乐;蒋海波;姜波;柴春来;明华 申请(专利权)人: 浙江工商大学
主分类号: G06F8/75 分类号: G06F8/75
代理公司: 杭州求是专利事务所有限公司 33200 代理人: 刘静;邱启旺
地址: 310018 浙江*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开了一种基于类多层网络的软件类重要性度量方法,包括以下步骤:将Java软件的源代码在类粒度抽象为类多层网络;计算类多层网络每一层中类节点的加权h指数;使用统计平均数法(专家打分法)为类在每一层中的加权h指数赋权重,进而将每个类在各层中的加权h指数通过线性加权融合成一个全局加权h指数,并以节点的全局加权h指数作为类重要性的度量指标。现有方法基本都忽略了类粒度网络的多层性,本发明弥补了现有方法的不足,首次将类多层网络引入类重要性的量度中,对于更加准确地理解软件结构,提高代码维护的效率具有重要意义。
搜索关键词: 一种 基于 多层 网络 软件 重要性 度量 方法
【主权项】:
1.一种基于类多层网络的软件类重要性度量方法,其特征在于,包括以下步骤:(1)将Java软件的源代码在类粒度抽象为类多层网络MCN={GIN,GIM,GPA,GGL,GME,GLO,GRE},其中,Gi=(V,Li,Pi)为类多层网络中的某一单层网络,对应类之间的某种交互关系i∈{IN,IM,PA,GL,ME,LO,RE};V是Gi的节点集,表示源代码中的所有类;Li是Gi的无向边集,表示类间的依赖关系;Pi是一个|V|×|V|的矩阵,代表Gi层网络中类之间依赖关系强弱的权重矩阵;IN代表一个类继承了另外一个类;IM代表一个类实现了另外一个抽象类;PA代表一个类的方法以另外一个类的对象为参数;GL代表一个类包含以另外一个类为类型的属性;ME代表一个类的方法调用了另外一个类的方法;LO代表一个类的方法中包含以另外一个类为类型的局部变量;RE代表一个类的方法返回另外一个类的对象;(2)基于步骤(1)构建的MCN,计算节点n在每个单层网络Gi中的加权h指数hi(n),hi(n)的计算具体包括以下子步骤:(2.1)求Gi中节点n的邻居节点集合vn;(2.2)求节点n在Gi单层网络中所有节点的节点权;节点n在Gi中的节点权si(n)定义为Gi中与节点n相连的所有边的权重和,即:其中,Pi(n,k)为Gi层网络中节点n和节点k之间边的权重;(2.3)将vn中的节点按其节点权降序排列,得到排序后的数组list,list[1]位置存放的是节点权最大的节点;(2.4)从list[1]开始,依次遍历list列表中的每个节点list[q],找到第一个满足节点权小于(m+1)的节点list[m+1],则节点n在Gi中的加权h指数hi(n)为m;(2.5)重复步骤(2.1)~(2.4),得到节点n在所有层的加权h指数;(3)基于步骤(2)求得的节点n在每个单层网络Gi中的加权h指数hi(n),将节点n在各层的hi(n)融合起来,得到节点n在整个MCN中的加权h指数hMCN(n),最终得到MCN中所有节点在整个MCN中的加权h指数hMCN,作为节点相应类的重要性值。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江工商大学,未经浙江工商大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201811261866.2/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top