[发明专利]一种基于软件复杂网络的四维软件演化度量分析方法有效
申请号: | 201610804794.6 | 申请日: | 2016-09-06 |
公开(公告)号: | CN106406870B | 公开(公告)日: | 2019-06-04 |
发明(设计)人: | 艾骏;杨雨微;张少雄;王菲;王佳明 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06F8/70 | 分类号: | G06F8/70 |
代理公司: | 北京永创新实专利事务所 11121 | 代理人: | 祗志洁 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明是一种基于软件复杂网络的四维软件演化度量分析方法,属于软件工程领域。本发明包括:对目标软件的每个版本的代码进行函数调用网络的抽取;对版本演化过程中软件的模块性、结构层级性、复杂性以及故障传播性四个维度进行度量监测,每个维度设置有三个基本度量指标;对每个维度度量结果进行统计,分别绘制版本演化的波动趋势图;结合目标软件类型的四维度量基准阈值,对目标软件的版本进行评价;将评价结果较好的软件放入软件基准库,进行基准阈值优化。本发明实现对软件产品的整体结构质量水平的全面监测,可及时纠正软件开发中存在的问题,对同一类型的目标软件在统一的基准阈值标准下进行分析和评价,保证了结果的客观性和有效性。 | ||
搜索关键词: | 一种 基于 软件 复杂 网络 演化 度量 分析 方法 | ||
【主权项】:
1.一种基于软件复杂网络的四维软件演化度量分析方法,其特征在于,实现步骤如下:步骤1:确定目标软件的各个版本及其源代码,对每个版本的软件代码进行函数调用网络的抽取;步骤2:对版本演化过程中软件的模块性、结构层级性、复杂性以及故障传播性四个维度进行综合度量;其中,选取模块性的度量指标为聚集系数cc、网络密度d和模块划分质量q;选取结构层级性的度量指标为出度匹配系数oac、流层级性di和最大核度mc;选取复杂性的度量指标为平均节点度ad、基本环数量bc和标准结构熵hs;选取故障传播性的度量指标为网络效率e、有效直径ed和平均波及度tavg;获得目标软件各版本的函数调用网络后,对演化过程中的每个函数调用网络进行四个综合度量值计算,计算公式如下:M=(f(cc)α×q)/f(d)β (1)H=[f(oac)γ×f(di)]/f(mc)θ (2)C=‑[hs×f(ad)×f(bc)] (3)P=f(e)λ/[f(ed)δ×f(tavg)τ] (4)其中,M表示模块性的度量值,H表示结构层级性的度量值,C表示复杂性的度量值,P表示故障传播性的度量值;反正切函数f(x)对输入参数x进行标准化处理,使得对应度量指标的数值在[0,1]范围内,
α、β、γ、θ、λ、δ和τ分别为基本度量参数cc、d、oac、mc、e、ed和tavg的权重系数;在获得四个综合度量值,还继续根据下面公式进行全面度量;OE=ωMM+ωHH+ωCC+ωPP (5)其中,OE为软件全面度量值,ωx代表综合度量参数x的权重系数,x=M,H,C,P,ωx的取值范围为(0,1);步骤3:对每个维度的度量结果进行统计,分别绘制M、H、C、P随着版本演化的波动趋势图,从四个维度监测软件版本演化;步骤4:根据目标软件类型对应的四个维度的基准阈值,对目标软件整个演化过程的结构质量进行评价,当度量结果超过基准阈值时,表示目标软件在对应维度的结构质量较高;首先,根据软件类型,选取该类型下开源软件的稳定版本建立一个软件基准库,从中选取一定数量的最近软件版本,计算选取的所有版本在四个维度下的各度量指标的平均值,再根据公式(1)~(4)得到四个维度的综合度量平均值μM,μH,μC和μP;然后,计算基准阈值,具体是:步骤4.1:计算软件基准库中每一个版本的M、H、C、P与综合度量平均值之间的偏差和;diffi=|Mi‑μM|+|Hi‑μH|+|Ci‑μC|+|Pi‑μP| (6)其中,diffi表示软件基准库中第i个版本的四个维度的度量值Mi、Hi、Ci、Pi与综合度量平均值之间的偏差和,1≤i≤N,N为软件基准库中的总版本数;步骤4.2:选取偏差和diffi最小的前10个版本构成版本集合VS,1≤i≤N;步骤4.3:根据中心极限定理,在保证diffi值在置信水平为(1‑υ)×100%,精确度为±ρ%的范围内,通过公式(7),计算目标软件类型在考虑综合度量参数x下所需的版本数量Nx;
其中,μ和σ分别表示VS集合中所有版本的综合度量参数x的均值和方差;Φ表示标准正态分布;x∈{M,H,C,P};取四个版本数中的最大值,标记为NX;步骤4.4:如果NX<|VS|,表示版本数量稳定,继续步骤4.5;否则,将其他不在VS集合中的版本按照diffi值从小到大的顺序依次加到VS集合中,每加入一个版本重复步骤4.3,更新NX;步骤4.5:计算版本集合VS中所有版本在四个维度下的各个度量指标的平均值,根据公式(1)~(4)得到四个维度的基准阈值;得到四个维度的基准阈值后,根据公式(5)计算得到全面度量的基准阈值;步骤5:若目标软件的评价结果较好,将该软件的版本放入软件基准库,然后再依据步骤4.1~4.5对基准阈值进行优化。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610804794.6/,转载请声明来源钻瓜专利网。
- 上一篇:弹幕信息的输入处理方法及装置
- 下一篇:触控响应方法及装置