当前位置: 首页 > 专利查询>南华大学专利>正文

一种基于复杂性的数值表达式型蜕变关系选择方法技术

技术编号:39430728 阅读:12 留言:0更新日期:2023-11-19 16:15
本发明专利技术公开了一种基于复杂性的数值表达式型蜕变关系选择方法

【技术实现步骤摘要】
一种基于复杂性的数值表达式型蜕变关系选择方法


[0001]本专利技术涉及软件蜕变测试
,尤其涉及一种基于复杂性的数值表达式型蜕变关系选择方法


技术介绍

[0002]软件测试两大核心问题:测试用例集合完备性,以及程序正确性判定机制

软件测试技术可分为传统测试和非传统测试,传统测试技术的判定机制为程序输出与预期结果是否一致

当预期值构造困难

获取成本极高时,判定机制失效,如:武器爆轰流体模拟

航天飞行器太空环境仿真等场景就存在该问题

同时,传统测试技术只适用于确定论程序,当同一组输入的多次执行结果不相等时,判定机制也会失效,如基于概率模型的蒙特卡洛计算

深度神经网络

生成式人工智能等场景也存在该问题

[0003]蜕变测试
(Metamorphic Testing

MT)
是一种非传统测试技术,它是缓解软件测试预期值问题的有效技术之一,在科学计算

生成式人工智能等场景有广阔应用前景

蜕变关系
(Metamorphic Relation

MR)
是蜕变测试的核心,按照表征形式分类包括数值表达式型

谓词表达式型和其它

数值表达式是使用常量

变量

数学函数和运算符构建的表达式,在科学研究

工程建模等领域有着广泛应用

[0004]蜕变关系的选择直接影响测试效率

当满足检错能力时,蜕变关系使用得越少则成本越低

现有的蜕变关系的选择方法主要有两类:运用经验选择,运用覆盖率等测试执行信息选择,前者缺乏系统性理论和准则,后者只适用于回归测试,不适用于首次测试

[0005]例如公开号为:
CN103713999A
的专利技术专利公开的一种基于定量度量的蜕变关系测试优先级排序方法,包括:
(1)
对目标蜕变关系进行形式化描述和分解,获取其输入关系和输出关系;
(2)
计算输入关系的入度;
(3)
计算输出关系的代数复杂度;
(4)
计算输入关系测试输入之间的距离;
(5)
蜕变关系测试优先级排序

[0006]例如公开号为:
CN113792878A
的专利技术专利公开的一种数值程序蜕变关系的自动识别方法,包括:
(1)
基于问题域的输入模式分析;
(2)
基于随机方法的初始测试输入生成;
(3)
基于
GEP
的输出模式挖掘

[0007]但本申请专利技术人在实现本申请实施例中专利技术技术方案的过程中,发现上述技术至少存在如下技术问题:
[0008]现有技术中,运用经验选择关系依靠测试人员的经验,经验不同则选择也不同,随意性与主观性强;运用覆盖率等测试执行信息选择关系需要事先使用全部蜕变关系来执行测试以获取覆盖率等信息,只适用于回归测试,首次测试因无法获取覆盖率等信息而不能使用;这些方法存在基于蜕变关系选择成本高的问题


技术实现思路

[0009]本申请实施例通过提供一种基于复杂性的数值表达式型蜕变关系选择方法,解决了现有技术中蜕变关系选择成本高的问题,实现了基于复杂性的数值表达式型目标蜕变关
系选择成本的降低

[0010]本申请实施例提供了一种基于复杂性的数值表达式型蜕变关系选择方法,包括以下步骤:
S1
,数值表达式基本参数获取:收集数值表达式集,分析数值表达式种群中各数值表达式的组成,找出相同点与不同点,得到数值表达式的基本参数;
S2
,数值表达式基本参数的复杂性分析:分析数值表达式的基本参数,获取数值表达式各基本参数的复杂性;
S3
,数值表达式复杂性度量方法确定:根据数值表达式各基本参数的复杂性关系,确定数值表达式复杂性公式;
S4
,数值表达式型蜕变关系的复杂性度量方法确定:收集数值表达式型蜕变关系集,分析数值表达式型蜕变关系种群中各数值表达式型蜕变关系的组成,得到数值表达式型蜕变关系的基本参数,再对数值表达式型蜕变关系的基本参数进行分析,得到数值表达式型蜕变关系的复杂性,根据所述数值表达式型蜕变关系的复杂性,确定数值表达式型蜕变关系复杂性公式;
S5
,数值表达式型蜕变关系的选择:计算给定的各数值表达式型蜕变关系的复杂性,再对所述各数值表达式型蜕变关系的复杂性进行比较,选择目标蜕变关系进行蜕变测试

[0011]进一步的,所述
S1
中数值表达式集为数值表达式的集合,所述数值表达式为基本参数的随机组合,包括标准型数值表达式和非标准型数值表达式:所述数值表达式的基本参数为常量

变量

函数和运算符;所述标准型数值表达式指运算符右侧表达式为0;所述非标准型数值表达式指运算符右侧表达式不为
0。
[0012]进一步的,所述
S2
中数值表达式基本参数的复杂性包括规模复杂性和计算复杂性,具体如下:所述规模复杂性为变量的复杂性,变量的数量越多,规模复杂性越高;所述计算复杂性包括运算符的复杂性和基本初等函数的复杂性;所述运算符的复杂性包括算术运算符的复杂性

关系运算符的复杂性和逻辑运算符的复杂性;所述基本初等函数的复杂性包括幂函数的复杂性

指数函数的复杂性

对数函数的复杂性和三角函数的复杂性;所述数值表达式中系数和常量不改变数学性质,常量的复杂性为
0。
[0013]进一步的,所述算术运算符的复杂性的计算公式为
Complexity(
算术运算符
)

α1*Complexity(
乘法
)+
β1*Complexity(
除法
)+
γ1*Complexity(
加法
)+
δ1*Complexity(
减法
)
,其中
α1、
β1、
γ1和
δ1分别为数值表达式中乘



加和减运算符的数量,
Complexity(
算术运算符
)、Complexity(
乘法
)、Complexity(
除法
)、Complexity(
加法
)

Complexity(
减法
)
分别为算术运本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种基于复杂性的数值表达式型蜕变关系选择方法,其特征在于,包括以下步骤:
S1
,数值表达式基本参数获取:收集数值表达式集,分析数值表达式种群中各数值表达式的组成,找出相同点与不同点,得到数值表达式的基本参数;
S2
,数值表达式基本参数的复杂性分析:分析数值表达式的基本参数,获取数值表达式各基本参数的复杂性;
S3
,数值表达式复杂性度量方法确定:根据数值表达式各基本参数的复杂性关系,确定数值表达式复杂性公式;
S4
,数值表达式型蜕变关系的复杂性度量方法确定:收集数值表达式型蜕变关系集,分析数值表达式型蜕变关系种群中各数值表达式型蜕变关系的组成,得到数值表达式型蜕变关系的基本参数,再对数值表达式型蜕变关系的基本参数进行分析,得到数值表达式型蜕变关系的复杂性,根据所述数值表达式型蜕变关系的复杂性,确定数值表达式型蜕变关系复杂性公式;
S5
,数值表达式型蜕变关系的选择:计算给定的各数值表达式型蜕变关系的复杂性,再对所述各数值表达式型蜕变关系的复杂性进行比较,选择目标蜕变关系进行蜕变测试
。2.
如权利要求1所述一种基于复杂性的数值表达式型蜕变关系选择方法,其特征在于,所述
S1
中数值表达式集为数值表达式的集合,所述数值表达式为基本参数的随机组合,包括标准型数值表达式和非标准型数值表达式:所述数值表达式的基本参数为常量

变量

函数和运算符;所述标准型数值表达式指运算符右侧表达式为0;所述非标准型数值表达式指运算符右侧表达式不为
0。3.
如权利要求1所述一种基于复杂性的数值表达式型蜕变关系选择方法,其特征在于,所述
S2
中数值表达式基本参数的复杂性包括规模复杂性和计算复杂性,具体如下:所述规模复杂性为变量的复杂性,变量的数量越多,规模复杂性越高;所述计算复杂性包括运算符的复杂性和基本初等函数的复杂性;所述运算符的复杂性包括算术运算符的复杂性

关系运算符的复杂性和逻辑运算符的复杂性;所述基本初等函数的复杂性包括幂函数的复杂性

指数函数的复杂性

对数函数的复杂性和三角函数的复杂性;所述数值表达式中系数和常量不改变数学性质,常量的复杂性为
0。4.
如权利要求3所述一种基于复杂性的数值表达式型蜕变关系选择方法,其特征在于:所述算术运算符的复杂性的计算公式为
Complexity(
算术运算符
)

α1*Complexity(
乘法
)+
β1*Complexity(
除法
)+
γ1*Complexity(
加法
)+
δ1*Complexity(
减法
)
,其中
α1、
β1、
γ1和
δ1分别为数值表达式中乘



加和减运算符的数量,
Complexity(
算术运算符
)、Complexity(
乘法
)、Complexity(
除法
)、Complexity(
加法
)

Complexity(
减法
)
分别为算术运算符的复杂性

乘法的计算复杂性

除法的计算复杂性

加法的计算复杂性和减法的计算复杂性,
Complexity(
乘法
)

Complexity(
除法
)
权重为2,
Complexity(
加法
)

Complexity(
减法
)
权重为
1。5.
如权利要求3所述一种基于复杂性的数值表达式型蜕变关系选择方法,其特征在于:
所述关系运算符的复杂性的计算公式为
Complexity(
关系运算符
)

α2*Complexity(
等于
)+
β2*Complexity(
大于
)+
γ2*Complexity(
小于
)+
δ2*Complexity(
大于等于
)+
ε2*Complexity(
小于等于
)
,其中
α2、
β2、
γ2、
δ2和
ε2分别为数值表达式中等于

大于

小于

大于等于和小于等于运算符的数量,
Complexity(
关系运算符
)、Complexity(
等于
)、Complexity(
大于
)、Complexity(
小于
)、Complexity(
大于等于
)

Complexity(
小于等于
)
分别为关系运算符的复杂性

等于的计算复杂性

大于的计算复杂性

小于的计算复杂性

大于等于的计算复杂性和小于等于的计算复杂性,
Complexity(
等于
)
权重为2,
Complexity(
大于
)、Complexity(
小于
)、Complexity(
大于等于
)

Complexity(
小于等于
)...

【专利技术属性】
技术研发人员:李萌阳小华刘杰闫仕宇马安刚
申请(专利权)人:南华大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1