[发明专利]一种基于复杂网络的软件结构重要模块识别方法在审
申请号: | 201810233854.2 | 申请日: | 2018-03-21 |
公开(公告)号: | CN108536471A | 公开(公告)日: | 2018-09-14 |
发明(设计)人: | 艾骏;王佳明;杨益文;苏文翥;王飞;郭皓然 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06F8/75 | 分类号: | G06F8/75;G06F11/36 |
代理公司: | 北京永创新实专利事务所 11121 | 代理人: | 祗志洁 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于复杂网络的软件结构重要模块识别方法,包括步骤1:确定目标软件并获取其完整的软件源代码;步骤2:对目标软件源代码进行静态扫描,分析软件中的元素实体和元素之间的相互关系;步骤3:在步骤2的基础上,构建软件属性方法网络,并构造相应粒度的软件复杂网络模型;步骤4:在步骤3得到软件复杂网络模型后,得到节点按重要性度量值排序后的集合,结合实际工程情况选取重要模块。本发明基于复杂网络综合了对模块重要性有影响的四个维度的因素给出了识别重要模块的方法,整个度量分析过程都可在后台实现,建立在完全自动化的流程上,确保最大限度减低人力和时间成本。 | ||
搜索关键词: | 复杂网络 复杂网络模型 模块识别 目标软件 软件结构 源代码 软件源代码 分析过程 分析软件 静态扫描 软件属性 时间成本 实际工程 度量 构建 维度 排序 后台 集合 自动化 网络 | ||
【主权项】:
1.一种基于复杂网络的软件结构重要模块识别方法,实现步骤包括:步骤1,确定目标软件并获取完整的软件源代码;步骤2,对目标软件源代码进行静态扫描,分析软件中的元素实体和元素之间的相互关系;其特征在于,步骤3,以软件系统中类的属性和方法为网络节点,构建属性方法网络;根据需要识别软件模块粒度大小,对属性方法网络进行组织和抽象构造相应粒度的软件复杂网络模型;步骤4:在得到软件复杂网络模型后,对网络中的节点从设定的角度去度量分析,计算节点的重要性并进行排序,得到节点按重要性度量值排序后的集合,结合实际工程选取前t%的节点作为系统中的重要模块;t为正数;其中,对网络中的节点从设定的角度去度量分析,具体分为整体度量和局部度量,再综合度量结果给出节点的重要性度量值;整体度量通过计算4个参数来度量软件模块,4个参数为接近数、核数、介数和逆向波及度;局部度量是通过计算强度、聚集系数、模块规模和模块内耦合度来度量软件模块;计算得到模块在整体度量或局部度量的4个参数的度量值后,对度量值进行标准化处理后,利用欧拉距离公式计算模块度量值与最优值之间的距离,用距离表示模块在整体层面或局部层面的重要程度;最后,对模块在整体层面和局部层面的重要程度进行加权求和,来表示软件模块的重要性度量值。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810233854.2/,转载请声明来源钻瓜专利网。
- 上一篇:一种资源文件的开发方法及系统
- 下一篇:一种代码的规范性检查方法及装置