一种基于软件复杂网络的四维软件演化度量分析方法与流程

文档序号:11133600阅读:来源:国知局

技术特征:

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的权重系数;

步骤3:对每个维度的度量结果进行统计,分别绘制M、H、C、P随着版本演化的波动趋势图,从四个维度监测软件版本演化;

步骤4:根据目标软件类型对应的四个维度的基准阈值,对目标软件整个演化过程的结构质量进行评价,当度量结果超过基准阈值时,表示目标软件在对应维度的结构质量较高;

首先,根据软件类型,选取该类型下开源软件的稳定版本建立一个软件基准库,从中选取一定数量的最近软件版本,计算选取的所有版本在四个维度下的各度量指标的平均值,再根据公式(1)~(4)得到四个维度的综合度量平均值μM,μH,μC和μP

然后,计算基准阈值,具体是:

步骤4.1:计算软件基准库中每一个版本的M、H、C、P与综合度量平均值之间的偏差和;

diffi=|MiM|+|HiH|+|CiC|+|PiP| (5)

其中,diffi表示软件基准库中第i个版本的四个维度的度量值Mi、Hi、Ci、Pi与综合度量平均值之间的偏差和,1≤i≤N,N为软件基准库中的总版本数;

步骤4.2:选取偏差和diffi最小的前10个版本构成版本集合VS,1≤i≤N;

步骤4.3:根据中心极限定理,在保证diffi值在置信水平为(1-υ)×100%,精确度为±ρ%的范围内,通过公式(6),计算目标软件类型在考虑综合度量参数x下所需的版本数量Nx

<mrow> <msub> <mi>N</mi> <mi>x</mi> </msub> <mo>=</mo> <msup> <mrow> <mo>(</mo> <mfrac> <mrow> <mn>100</mn> <mo>&times;</mo> <msup> <mi>&Phi;</mi> <mrow> <mo>-</mo> <mn>1</mn> </mrow> </msup> <mrow> <mo>(</mo> <mfrac> <mrow> <mn>2</mn> <mo>-</mo> <mi>&upsi;</mi> </mrow> <mn>2</mn> </mfrac> <mo>)</mo> </mrow> <mo>&times;</mo> <mi>&sigma;</mi> </mrow> <mrow> <mi>&rho;</mi> <mo>&times;</mo> <mi>&mu;</mi> </mrow> </mfrac> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>6</mn> <mo>)</mo> </mrow> </mrow>

其中,μ和σ分别表示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:若目标软件的评价结果较好,将该软件的版本放入软件基准库,然后再依据步骤4.1~4.5对基准阈值进行优化。

2.根据权利要求1所述的一种基于软件复杂网络的四维软件演化度量分析方法,其特征在于,所述的步骤2中,在获得四个综合度量值,还继续根据下面公式进行全面度量;

OE=ωMM+ωHH+ωCC+ωPP (7)

其中,OE为软件全面度量值,ωx代表综合度量参数x的权重系数,x=M,H,C,P,ωx的取值范围为(0,1)。

3.根据权利要求2所述的一种基于软件复杂网络的四维软件演化度量分析方法,其特征在于,所述的权重系数ωx采用准则优先程度评估矩阵来确定,其中M,H,C,P为待比较的准则,矩阵中的元素kxy表示准则x与准则y相比的重要程度,x和y的取值均为{M,H,C,P};各准则自身相比为零,准则之间一一对比时,较重要的那个准则得分应大于5分,而两者之和应为10分,表示为kxy+kyx=10;将每一行的元素相加得到每个准则的权重度量值Sx,然后综合度量参数x的权重系数ωx通过下面公式计算得到:

<mrow> <msub> <mi>&omega;</mi> <mi>x</mi> </msub> <mo>=</mo> <mfrac> <msub> <mi>S</mi> <mi>x</mi> </msub> <mrow> <munder> <mo>&Sigma;</mo> <mrow> <mi>y</mi> <mo>&Element;</mo> <mo>{</mo> <mi>M</mi> <mo>,</mo> <mi>H</mi> <mo>,</mo> <mi>C</mi> <mo>,</mo> <mi>P</mi> <mo>}</mo> </mrow> </munder> <msub> <mi>S</mi> <mi>y</mi> </msub> </mrow> </mfrac> <mo>.</mo> </mrow>

4.根据权利要求1所述的一种基于软件复杂网络的四维软件演化度量分析方法,其特征在于,所述的步骤4.4中,设置集合VS的最大容量为40。

5.根据权利要求1或2所述的一种基于软件复杂网络的四维软件演化度量分析方法,其特征在于,所述的步骤4.5,在得到四个维度的基准阈值后,根据公式(7)计算得到全面度量的基准阈值。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1