CN117056203B - 一种基于复杂性的数值表达式型蜕变关系选择方法 - Google Patents
一种基于复杂性的数值表达式型蜕变关系选择方法 Download PDFInfo
- Publication number
- CN117056203B CN117056203B CN202310842888.2A CN202310842888A CN117056203B CN 117056203 B CN117056203 B CN 117056203B CN 202310842888 A CN202310842888 A CN 202310842888A CN 117056203 B CN117056203 B CN 117056203B
- Authority
- CN
- China
- Prior art keywords
- complexity
- numerical expression
- relation
- metamorphic
- numerical
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000014509 gene expression Effects 0.000 title claims abstract description 287
- 238000010187 selection method Methods 0.000 title claims abstract description 18
- 238000004364 calculation method Methods 0.000 claims abstract description 28
- 238000000691 measurement method Methods 0.000 claims abstract description 15
- 238000004458 analytical method Methods 0.000 claims abstract description 6
- 230000006870 function Effects 0.000 claims description 91
- 238000012360 testing method Methods 0.000 claims description 35
- 238000000034 method Methods 0.000 claims description 23
- 230000008569 process Effects 0.000 claims description 4
- 230000008859 change Effects 0.000 claims description 3
- 230000007547 defect Effects 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000010606 normalization Methods 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000013522 software testing Methods 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 108010015780 Viral Core Proteins Proteins 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005474 detonation Methods 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 238000013101 initial test Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3676—Test management for coverage analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明公开了一种基于复杂性的数值表达式型蜕变关系选择方法。该基于复杂性的数值表达式型蜕变关系选择方法,包括以下步骤:S1数值表达式基本参数获取;S2数值表达式基本参数的复杂性分析;S3数值表达式复杂性度量方法确定;S4数值表达式型蜕变关系的复杂性度量方法确定;S5数值表达式型蜕变关系的选择。本发明通过获取数值表达式基本参数、分析数值表达式基本参数的复杂性、确定数值表达式复杂性度量方法、确定数值表达式型蜕变关系的复杂性度量方法和选择数值表达式型蜕变关系,达到了理论性强、适用范围广和计算成本低的效果,解决了现有技术中存在的蜕变关系选择成本高的问题。
Description
技术领域
本发明涉及软件蜕变测试技术领域,尤其涉及一种基于复杂性的数值表达式型蜕变关系选择方法。
背景技术
软件测试两大核心问题:测试用例集合完备性,以及程序正确性判定机制。软件测试技术可分为传统测试和非传统测试,传统测试技术的判定机制为程序输出与预期结果是否一致。当预期值构造困难、获取成本极高时,判定机制失效,如:核反应堆仿真、武器爆轰流体模拟、航天飞行器太空环境仿真等场景就存在该问题。同时,传统测试技术只适用于确定论程序,当同一组输入的多次执行结果不相等时,判定机制也会失效,如基于概率模型的蒙特卡洛计算、深度神经网络、生成式人工智能等场景也存在该问题。
蜕变测试(Metamorphic Testing,MT)是一种非传统测试技术,它是缓解软件测试预期值问题的有效技术之一,在科学计算、生成式人工智能等场景有广阔应用前景。蜕变关系(Metamorphic Relation,MR)是蜕变测试的核心,按照表征形式分类包括数值表达式型、谓词表达式型和其它。数值表达式是使用常量、变量、数学函数和运算符构建的表达式,在科学研究、工程建模等领域有着广泛应用。
蜕变关系的选择直接影响测试效率。当满足检错能力时,蜕变关系使用得越少则成本越低。现有的蜕变关系的选择方法主要有两类:运用经验选择,运用覆盖率等测试执行信息选择,前者缺乏系统性理论和准则,后者只适用于回归测试,不适用于首次测试。
例如公开号为:CN103713999A的发明专利公开的一种基于定量度量的蜕变关系测试优先级排序方法,包括:(1)对目标蜕变关系进行形式化描述和分解,获取其输入关系和输出关系;(2)计算输入关系的入度;(3)计算输出关系的代数复杂度;(4)计算输入关系测试输入之间的距离;(5)蜕变关系测试优先级排序。
例如公开号为:CN113792878A的发明专利公开的一种数值程序蜕变关系的自动识别方法,包括:(1)基于问题域的输入模式分析;(2)基于随机方法的初始测试输入生成;(3)基于GEP的输出模式挖掘。
但本申请发明人在实现本申请实施例中发明技术方案的过程中,发现上述技术至少存在如下技术问题:
现有技术中,运用经验选择关系依靠测试人员的经验,经验不同则选择也不同,随意性与主观性强;运用覆盖率等测试执行信息选择关系需要事先使用全部蜕变关系来执行测试以获取覆盖率等信息,只适用于回归测试,首次测试因无法获取覆盖率等信息而不能使用;这些方法存在基于蜕变关系选择成本高的问题。
发明内容
本申请实施例通过提供一种基于复杂性的数值表达式型蜕变关系选择方法,解决了现有技术中蜕变关系选择成本高的问题,实现了基于复杂性的数值表达式型目标蜕变关系选择成本的降低。
本申请实施例提供了一种基于复杂性的数值表达式型蜕变关系选择方法,包括以下步骤:S1,数值表达式基本参数获取:收集数值表达式集,分析数值表达式种群中各数值表达式的组成,找出相同点与不同点,得到数值表达式的基本参数;S2,数值表达式基本参数的复杂性分析:分析数值表达式的基本参数,获取数值表达式各基本参数的复杂性;S3,数值表达式复杂性度量方法确定:根据数值表达式各基本参数的复杂性关系,确定数值表达式复杂性公式;S4,数值表达式型蜕变关系的复杂性度量方法确定:收集数值表达式型蜕变关系集,分析数值表达式型蜕变关系种群中各数值表达式型蜕变关系的组成,得到数值表达式型蜕变关系的基本参数,再对数值表达式型蜕变关系的基本参数进行分析,得到数值表达式型蜕变关系的复杂性,根据所述数值表达式型蜕变关系的复杂性,确定数值表达式型蜕变关系复杂性公式;
S5,数值表达式型蜕变关系的选择:计算给定的各数值表达式型蜕变关系的复杂性,再对所述各数值表达式型蜕变关系的复杂性进行比较,选择目标蜕变关系进行蜕变测试。
进一步的,所述S1中数值表达式集为数值表达式的集合,所述数值表达式为基本参数的随机组合,包括标准型数值表达式和非标准型数值表达式:所述数值表达式的基本参数为常量、变量、函数和运算符;所述标准型数值表达式指运算符右侧表达式为0;所述非标准型数值表达式指运算符右侧表达式不为0。
进一步的,所述S2中数值表达式基本参数的复杂性包括规模复杂性和计算复杂性,具体如下:所述规模复杂性为变量的复杂性,变量的数量越多,规模复杂性越高;所述计算复杂性包括运算符的复杂性和基本初等函数的复杂性;所述运算符的复杂性包括算术运算符的复杂性、关系运算符的复杂性和逻辑运算符的复杂性;所述基本初等函数的复杂性包括幂函数的复杂性、指数函数的复杂性、对数函数的复杂性和三角函数的复杂性;所述数值表达式中系数和常量不改变数学性质,常量的复杂性为0。
进一步的,所述算术运算符的复杂性的计算公式为,其中/>、/>、和/>分别为数值表达式中乘、除、加和减运算符的数量,Complexity(算术运算符)、Complexity(乘法)、Complexity(除法)、Complexity(加法)和Complexity(减法)分别为算术运算符的复杂性、乘法的计算复杂性、除法的计算复杂性、加法的计算复杂性和减法的计算复杂性,Complexity(乘法)和Complexity(除法)权重为2,Complexity(加法)和Complexity(减法)权重为1。
进一步的,所述关系运算符的复杂性的计算公式为,其中/>、/>、、/>分别为数值表达式中等于、大于、小于、大于等于和小于等于运算符的数量,Complexity(关系运算符)、Complexity(等于)、Complexity(大于)、Complexity(小于)、Complexity(大于等于)和Complexity(小于等于)分别为关系运算符的复杂性、等于的计算复杂性、大于的计算复杂性、小于的计算复杂性、大于等于的计算复杂性和小于等于的计算复杂性,Complexity(等于)权重为2,Complexity(大于)、Complexity(小于)、Complexity(大于等于)和Complexity(小于等于)权重为1。
进一步的,所述逻辑运算符的复杂性的计算公式为,其中/>、分别为数值表达式中ADD、OR和NOT运算符的数量,Complexity(逻辑运算符)、Complexity(ADD)、Complexity(OR)和Complexity(NOT)分别为逻辑运算符的复杂性、ADD的计算复杂性、OR的计算复杂性和NOT的计算复杂性,Complexity(ADD)权重为4,Complexity(OR)权重为2,Complexity(NOT)权重为1。
进一步的,所述基本初等函数的复杂性的计算公式为,其中/>、/>、/>分别为数值表达式中幂函数、指数函数、对数函数和三角函数的数量,Complexity(基本初等函数)、Complexity(幂函数)、Complexity(指数函数)、Complexity(对数函数)和Complexity(三角函数)分别为基本初等函数的复杂性、幂函数的复杂性、指数函数的复杂性、对数函数的复杂性和三角函数的复杂性,Complexity(幂函数)、Complexity(指数函数)、Complexity(对数函数)和Complexity(三角函数)权重均为4。
进一步的,所述S3中数值表达式复杂性公式为,其中Complexity(表达式)和Complexity(变量)分别为表达式的复杂性和变量的复杂性。
进一步的,所述S4中数值表达式型蜕变关系集为数值表达式型蜕变关系的集合,所述数值表达式型蜕变关系MR的基本参数为输入关系r和输出关系R,具体分析如下:所述输入关系r和输出关系R为数值表达式;所述输入关系r关系到测试输入的生成,直接影响测试检出缺陷的可能性,权重为二次方;所述输出关系R权重为1;所述数值表达式型蜕变关系复杂性公式为,其中Complexity(MR)、Complexity(r)和Complexity(R)分别为蜕变关系的复杂性、输入关系r的复杂性和输出关系R的复杂性。
进一步的,所述S5中计算给定的各数值表达式型蜕变关系的复杂性,具体过程如下:S51,标准化表达式:将数值表达式型蜕变关系的数值表达式转换为标准型数值表达式;S52,统计规模复杂性:统计所述标准型数值表达式中变量的个数,得到规模复杂性;S53,统计计算复杂性:统计所述标准型数值表达式中运算符的复杂性和函数的复杂性,两者相加得到计算复杂性;S54,计算数值表达式复杂性:由所述规模复杂性和计算复杂性得到数值表达式复杂性;S55,计算蜕变关系复杂性:由输入关系r与输出关系R的所述数值表达式复杂性计算数值表达式型蜕变关系复杂性;S56,蜕变关系选择:比较给定的各数值表达式型蜕变关系复杂性,选择目标蜕变关系进行蜕变测试。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
1、通过收集数值表达式集、分析数值表达式集中各数值表达式的组成找出相同点与不同点、获取数值表达式的基本参数、对数值表达式的基本参数的分析和对数值表达式各基本参数的复杂性分析,从而得到了数值表达式复杂性公式,进而实现了数值表达式复杂性的理论化与数值化度量,有效解决了现有技术中存在的蜕变关系选择成本高的问题。
2、通过收集数值表达式型蜕变关系集、分析数值表达式型蜕变关系集中各数值表达式型蜕变关系的组成、获取数值表达式型蜕变关系的基本参数、分析数值表达式型蜕变关系的基本参数、获取数值表达式型蜕变关系的复杂性和数值表达式型蜕变关系复杂性公式的确定,从而得到了数值表达式型蜕变关系复杂性的数值,进而补充了基于复杂性的数值表达式型蜕变关系选择方法的理论与准则,扩大了蜕变关系选择方法的适用范围。
3、通过将数值表达式型蜕变关系的数值表达式转换为标准型数值表达式,统计标准型数值表达式中变量的个数获取规模复杂性,统计标准型数值表达式中运算符的复杂性和函数的复杂性获取计算复杂性,由规模复杂性和计算复杂性获取数值表达式复杂性,计算给定的各数值表达式型蜕变关系复杂性,从而得到了用于蜕变测试的目标蜕变关系,进而降低了蜕变关系选择方法的成本。
附图说明
图1为本申请实施例提供的一种基于复杂性的数值表达式型蜕变关系选择方法流程图;
图2为本申请实施例提供的数值表达式基本参数的复杂性概念图;
图3为本申请实施例提供的计算给定的各数值表达式型蜕变关系的复杂性的流程图;
具体实施方式
本申请实施例通过提供一种基于复杂性的数值表达式型蜕变关系选择方法,解决了现有技术中存在的蜕变关系选择成本高的问题,通过获取数值表达式基本参数、分析数值表达式基本参数的复杂性、确定数值表达式复杂性度量方法和确定数值表达式型蜕变关系的复杂性度量方法,实现了基于复杂性的数值表达式型目标蜕变关系选择成本的降低。
本申请实施例中的技术方案为解决上述现有技术中存在的蜕变关系选择成本高的问题,总体思路如下:
通过将基于复杂性的数值表达式型目标蜕变关系的选择按照获取数值表达式基本参数、分析数值表达式基本参数的复杂性、确定数值表达式复杂性度量方法、确定数值表达式型蜕变关系的复杂性度量方法和选择数值表达式型蜕变关系的步骤实现,达到了降低基于复杂性的数值表达式型目标蜕变关系的选择成本的效果。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
如图1所示,为本申请实施例提供的一种基于复杂性的数值表达式型蜕变关系选择方法流程图,该方法包括以下步骤:S1,数值表达式基本参数获取:收集数值表达式集,分析数值表达式集中各数值表达式的组成,找出相同点与不同点,得到数值表达式的基本参数;S2,数值表达式基本参数的复杂性分析:分析数值表达式的基本参数,获取数值表达式各基本参数的复杂性;S3,数值表达式复杂性度量方法确定:根据数值表达式各基本参数的复杂性关系,确定数值表达式复杂性公式;S4,数值表达式型蜕变关系的复杂性度量方法确定:收集数值表达式型蜕变关系集,分析数值表达式型蜕变关系集中各数值表达式型蜕变关系的组成,得到数值表达式型蜕变关系的基本参数,再对数值表达式型蜕变关系的基本参数进行分析,得到数值表达式型蜕变关系的复杂性,根据数值表达式型蜕变关系的复杂性,确定数值表达式型蜕变关系复杂性公式;S5,数值表达式型蜕变关系的选择:计算给定的各数值表达式型蜕变关系的复杂性,再对各数值表达式型蜕变关系的复杂性进行比较,选择目标蜕变关系进行蜕变测试。
在本实施例中,通过数值表达式基本参数获取、数值表达式基本参数的复杂性分析、数值表达式复杂性度量方法确定、数值表达式型蜕变关系的复杂性度量方法确定和数值表达式型蜕变关系的选择,实现了基于复杂性的数值表达式型目标蜕变关系选择理论与准则的补充、适用范围的扩大和成本的降低。
进一步的,S1中数值表达式种群为数值表达式的集合,数值表达式为基本参数的随机组合,包括标准型数值表达式和非标准型数值表达式:数值表达式的基本参数为常量、变量、函数和运算符;标准型数值表达式指运算符右侧表达式为0,如,其中/>为不同的变量;非标准型数值表达式指运算符右侧表达式不为0。
在本实施例中,通过收集数值表达式集和分析数值表达式种群中各数值表达式的组成得到数值表达式的基本参数,实现了基于复杂性的数值表达式型蜕变关系选择理论的补充。
进一步的,如图2所示,为本申请实施例提供的数值表达式基本参数的复杂性概念图,S2中数值表达式基本参数的复杂性包括规模复杂性和计算复杂性,具体如下:规模复杂性为变量的复杂性,变量的数量越多,规模复杂性越高,如的规模复杂性大于/>,其中/>为不同的变量;计算复杂性包括运算符的复杂性和基本初等函数的复杂性;运算符的复杂性包括算术运算符的复杂性、关系运算符的复杂性和逻辑运算符的复杂性;基本初等函数的复杂性包括幂函数的复杂性、指数函数的复杂性、对数函数的复杂性和三角函数的复杂性,而反三角函数中一个自变量对应多个函数值,故不考虑复杂性;数值表达式中系数和常量不改变数学性质,常量的复杂性为0。
在本实施例中,通过分析数值表达式的基本参数常量、变量、函数和运算符获取数值表达式各基本参数的复杂性,实现了数值表达式复杂性度量的理论化。
进一步的,算术运算符的复杂性的计算公式为,其中分别为数值表达式中乘、除、加和减运算符的数量,Complexity(算术运算符)、Complexity(乘法)、Complexity(除法)、Complexity(加法)和Complexity(减法)分别为算术运算符的复杂性、乘法的计算复杂性、除法的计算复杂性、加法的计算复杂性和减法的计算复杂性,计算结果缩放越剧烈,计算越复杂,规定Complexity(乘法)和Complexity(除法)权重为2,Complexity(加法)和Complexity(减法)权重为1。
在本实施例中,通过分析数值表达式中算术运算符乘、除、加和减的复杂性,将权重分别规定为2、2、1和1,实现了数值表达式中算术运算符复杂性的标准化。
进一步的,关系运算符的复杂性的计算公式为,其中分别为数值表达式中等于、大于、小于、大于等于和小于等于运算符的数量,Complexity(关系运算符)、Complexity(等于)、Complexity(大于)、Complexity(小于)、Complexity(大于等于)和Complexity(小于等于)分别为关系运算符的复杂性、等于的计算复杂性、大于的计算复杂性、小于的计算复杂性、大于等于的计算复杂性和小于等于的计算复杂性,由约束范围可知,等于的约束强于大于、小于、大于等于和小于等于,规定Complexity(等于)权重为2,Complexity(大于)、Complexity(小于)、Complexity(大于等于)和Complexity(小于等于)权重为1。
在本实施例中,通过分析数值表达式中关系运算符等于、大于、小于、大于等于和小于等于的复杂性,将权重分别规定为2、1、1、1和1,实现了数值表达式中关系运算符复杂性的标准化。
进一步的,逻辑运算符的复杂性的计算公式为,其中分别为数值表达式中ADD、OR和NOT运算符的数量,Complexity(逻辑运算符)、Complexity(ADD)、Complexity(OR)和Complexity(NOT)分别为逻辑运算符的复杂性、ADD的计算复杂性、OR的计算复杂性和NOT的计算复杂性,AND需要左右子表达式均成立表达式则成立,OR只需要任一子表达式成立则成立,NOT只有右子式,复杂性由大到小依次为AND、OR、NOT,规定Complexity(ADD)权重为4,Complexity(OR)权重为2,Complexity(NOT)权重为1;XOR运算符可通过ADD、OR和NOT运算符表示,故不考虑复杂性。
在本实施例中,通过分析数值表达式中逻辑运算符ADD、OR和NOT的复杂性,将权重分别规定为4、2和1,实现了数值表达式中逻辑运算符复杂性的标准化。
进一步的,基本初等函数的复杂性的计算公式为,其中/>分别为数值表达式中幂函数、指数函数、对数函数和三角函数的数量,Complexity(基本初等函数)、Complexity(幂函数)、Complexity(指数函数)、Complexity(对数函数)和Complexity(三角函数)分别为基本初等函数的复杂性、幂函数的复杂性、指数函数的复杂性、对数函数的复杂性和三角函数的复杂性,Complexity(幂函数)、Complexity(指数函数)、Complexity(对数函数)和Complexity(三角函数)权重均为4。
在本实施例中,通过分析数值表达式中基本初等函数幂函数、指数函数、对数函数和三角函数的复杂性,将权重均规定为4,实现了数值表达式中基本初等函数复杂性的标准化。
进一步的,S3中数值表达式复杂性公式为,其中Complexity(表达式)和Complexity(变量)分别为表达式的复杂性和变量的复杂性。
在本实施例中,通过数值表达式各基本参数的复杂性关系确定数值表达式复杂性公式,实现了数值表达式复杂性的理论化和标准化。
进一步的,S4中数值表达式型蜕变关系集为数值表达式型蜕变关系的集合,数值表达式型蜕变关系MR的基本参数为输入关系r和输出关系R,具体分析如下:输入关系r和输出关系R为数值表达式,输入关系r和输出关系R对蜕变关系MR复杂性的影响不同;输入关系r关系到测试输入的生成,直接影响测试检出缺陷的可能性,权重为二次方;输出关系R权重为1;数值表达式型蜕变关系复杂性公式为,其中Complexity(MR)、Complexity(r)和Complexity(R)分别为蜕变关系的复杂性、输入关系r的复杂性和输出关系R的复杂性。
在本实施例中,通过收集数值表达式型蜕变关系集、获取数值表达式型蜕变关系的基本参数和获取数值表达式型蜕变关系的复杂性得到了数值表达式型蜕变关系复杂性公式,实现了基于复杂性的数值表达式型目标蜕变关系选择适用范围的扩大。
进一步的,如图3所示,为本申请实施例提供的计算给定的各数值表达式型蜕变关系的复杂性的流程图,S5中计算给定的各数值表达式型蜕变关系的复杂性,具体过程如下:S51,标准化表达式:将数值表达式型蜕变关系的数值表达式转换为标准型数值表达式;S52,统计规模复杂性:统计标准型数值表达式中变量的个数,得到规模复杂性;S53,统计计算复杂性:统计标准型数值表达式中运算符的复杂性和函数的复杂性,两者相加得到计算复杂性;S54,计算数值表达式复杂性:由规模复杂性和计算复杂性得到数值表达式复杂性;S55,计算蜕变关系复杂性:由输入关系r与输出关系R的数值表达式复杂性计算数值表达式型蜕变关系复杂性;S56,蜕变关系选择:比较给定的各数值表达式型蜕变关系复杂性,选择目标蜕变关系进行蜕变测试。
在本实施例中,通过标准化表达式、统计规模复杂性、统计计算复杂性、计算数值表达式复杂性和计算蜕变关系复杂性得到了基于复杂性的表达式型目标蜕变关系,实现了基于复杂性的数值表达式型目标蜕变关系选择成本的降低。
上述本申请实施例中的技术方案,至少具有如下的技术效果或优点:
相对于公开号为:CN103713999A公开的一种基于定量度量的蜕变关系测试优先级排序方法,本申请实施例通过获取数值表达式基本参数、分析数值表达式基本参数的复杂性和确定数值表达式复杂性度量方法,从而确定数值表达式型蜕变关系的复杂性度量方法,进而实现了基于复杂性的数值表达式型目标蜕变关系的选择;相对于公开号为:CN113792878A公开的一种数值程序蜕变关系的自动识别方法,本申请实施例通过标准化表达式、统计规模复杂性、统计计算复杂性和计算数值表达式复杂性,从而计算蜕变关系复杂性,进而实现了基于复杂性的数值表达式型蜕变关系的选择。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (7)
1.一种基于复杂性的数值表达式型蜕变关系选择方法,其特征在于,包括以下步骤:
S1,数值表达式基本参数获取:收集数值表达式集,分析数值表达式种群中各数值表达式的组成,得到数值表达式的基本参数;
S2,数值表达式基本参数的复杂性分析:分析数值表达式的基本参数,获取数值表达式各基本参数的复杂性;
S3,数值表达式复杂性度量方法确定:根据数值表达式各基本参数的复杂性关系,确定数值表达式复杂性公式;
S4,数值表达式型蜕变关系的复杂性度量方法确定:收集数值表达式型蜕变关系集,分析数值表达式型蜕变关系种群中各数值表达式型蜕变关系的组成,得到数值表达式型蜕变关系的基本参数,再对数值表达式型蜕变关系的基本参数进行分析,得到数值表达式型蜕变关系的复杂性,根据所述数值表达式型蜕变关系的复杂性,确定数值表达式型蜕变关系复杂性公式;
S5,数值表达式型蜕变关系的选择:计算给定的各数值表达式型蜕变关系的复杂性,再对所述各数值表达式型蜕变关系的复杂性进行比较,选择目标蜕变关系进行蜕变测试;
述数值表达式的基本参数为常量、变量、函数和运算符;
所述S2中数值表达式中基本参数的复杂性包括规模复杂性和计算复杂性,所述规模复杂性为变量的复杂性,变量的数量越多,规模复杂性越高,所述计算复杂性包括运算符的复杂性和基本初等函数的复杂性,所述运算符的复杂性包括算术运算符的复杂性、关系运算符的复杂性和逻辑运算符的复杂性,所述基本初等函数的复杂性包括幂函数的复杂性、指数函数的复杂性、对数函数的复杂性和三角函数的复杂性;
所述S3中所述数值表达式复杂性公式为,其中Complexity(表达式)、Complexity(变量)、Complexity(算术运算符)、Complexity(关系运算符)、Complexity(逻辑运算符)和Complexity(基本初等函数)分别为表达式的复杂性、变量的复杂性、算术运算符的复杂性、关系运算符的复杂性、逻辑运算符的复杂性和基本初等函数的复杂性;
所述表达式型蜕变关系复杂性公式为,其中Complexity(MR)、Complexity(r)和Complexity(R)分别为蜕变关系的复杂性、输入关系r的复杂性和输出关系R的复杂性;
所述S5中计算给定的各数值表达式型蜕变关系的复杂性,具体过程如下:
S51,标准化表达式:将数值表达式型蜕变关系的数值表达式转换为标准型数值表达式;
S52,统计规模复杂性:统计所述标准型数值表达式中变量的个数,得到规模复杂性;
S53,统计计算复杂性:统计所述标准型数值表达式中运算符的复杂性和函数的复杂性,两者相加得到计算复杂性;
S54,计算数值表达式复杂性:由所述规模复杂性和计算复杂性得到数值表达式复杂性;
S55,计算蜕变关系复杂性:由输入关系r与输出关系R的所述数值表达式复杂性计算数值表达式型蜕变关系复杂性;
S56,蜕变关系选择:比较给定的各数值表达式型蜕变关系复杂性,选择目标蜕变关系进行蜕变测试;
所述标准型数值表达式指运算符右侧表达式为0。
2.如权利要求1所述一种基于复杂性的数值表达式型蜕变关系选择方法,其特征在于,所述S1中数值表达式集为数值表达式的集合,所述数值表达式为基本参数的随机组合,包括标准型数值表达式和非标准型数值表达式:
所述非标准型数值表达式指运算符右侧表达式不为0;
所述数值表达式中系数和常量不改变数学性质,常量的复杂性为0。
3.如权利要求2所述一种基于复杂性的数值表达式型蜕变关系选择方法,其特征在于:所述算术运算符的复杂性的计算公式为,其中/>、/>、和/>分别为数值表达式中乘、除、加和减运算符的数量,Complexity(算术运算符)、Complexity(乘法)、Complexity(除法)、Complexity(加法)和Complexity(减法)分别为算术运算符的复杂性、乘法的计算复杂性、除法的计算复杂性、加法的计算复杂性和减法的计算复杂性,Complexity(乘法)和Complexity(除法)权重为2,Complexity(加法)和Complexity(减法)权重为1。
4.如权利要求3所述一种基于复杂性的数值表达式型蜕变关系选择方法,其特征在于:所述关系运算符的复杂性的计算公式为,其中/>、/>、、/>分别为数值表达式中等于、大于、小于、大于等于和小于等于运算符的数量,Complexity(关系运算符)、Complexity(等于)、Complexity(大于)、Complexity(小于)、Complexity(大于等于)和Complexity(小于等于)分别为关系运算符的复杂性、等于的计算复杂性、大于的计算复杂性、小于的计算复杂性、大于等于的计算复杂性和小于等于的计算复杂性,Complexity(等于)权重为2,Complexity(大于)、Complexity(小于)、Complexity(大于等于)和Complexity(小于等于)权重为1。
5.如权利要求4所述一种基于复杂性的数值表达式型蜕变关系选择方法,其特征在于:所述逻辑运算符的复杂性的计算公式为,其中/>、分别为数值表达式中ADD、OR和NOT运算符的数量,Complexity(逻辑运算符)、Complexity(ADD)、Complexity(OR)和Complexity(NOT)分别为逻辑运算符的复杂性、ADD的计算复杂性、OR的计算复杂性和NOT的计算复杂性,Complexity(ADD)权重为4,Complexity(OR)权重为2,Complexity(NOT)权重为1。
6.如权利要求5所述一种基于复杂性的数值表达式型蜕变关系选择方法,其特征在于:所述基本初等函数的复杂性的计算公式为
,其中/>、/>、/>分别为数值表达式中幂函数、指数函数、对数函数和三角函数的数量,Complexity(基本初等函数)、Complexity(幂函数)、Complexity(指数函数)、Complexity(对数函数)和Complexity(三角函数)分别为基本初等函数的复杂性、幂函数的复杂性、指数函数的复杂性、对数函数的复杂性和三角函数的复杂性,Complexity(幂函数)、Complexity(指数函数)、Complexity(对数函数)和Complexity(三角函数)权重均为4。
7.如权利要求1所述一种基于复杂性的数值表达式型蜕变关系选择方法,其特征在于,所述S4中数值表达式型蜕变关系集为数值表达式型蜕变关系的集合,所述数值表达式型蜕变关系MR的基本参数为输入关系r和输出关系R,具体分析如下:
所述输入关系r和输出关系R为数值表达式;
所述输入关系r关系到测试输入的生成,直接影响测试检出缺陷的可能性,权重为二次方;
所述输出关系R权重为1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310842888.2A CN117056203B (zh) | 2023-07-11 | 2023-07-11 | 一种基于复杂性的数值表达式型蜕变关系选择方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310842888.2A CN117056203B (zh) | 2023-07-11 | 2023-07-11 | 一种基于复杂性的数值表达式型蜕变关系选择方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117056203A CN117056203A (zh) | 2023-11-14 |
CN117056203B true CN117056203B (zh) | 2024-04-09 |
Family
ID=88663470
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310842888.2A Active CN117056203B (zh) | 2023-07-11 | 2023-07-11 | 一种基于复杂性的数值表达式型蜕变关系选择方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117056203B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010238057A (ja) * | 2009-03-31 | 2010-10-21 | Nippon Telegr & Teleph Corp <Ntt> | テスト制約抽出装置、方法およびプログラム |
CN103713999A (zh) * | 2013-11-27 | 2014-04-09 | 中国人民解放军理工大学 | 基于定量度量的蜕变关系测试优先级排序方法 |
CN103885876A (zh) * | 2012-12-21 | 2014-06-25 | 百度在线网络技术(北京)有限公司 | 测试方法及设备 |
CN107766229A (zh) * | 2016-08-19 | 2018-03-06 | 南京理工大学 | 一种利用蜕变测试评价商品搜索系统正确性的方法 |
EP3467662A1 (en) * | 2017-10-09 | 2019-04-10 | Accenture Global Solutions Limited | Verification of applications that utilize artificial intelligence |
US10642723B1 (en) * | 2019-02-05 | 2020-05-05 | Bank Of America Corporation | System for metamorphic relationship based code testing using mutant generators |
CN111882199A (zh) * | 2020-07-23 | 2020-11-03 | 深圳慕智科技有限公司 | 一种基于规则变异的自动驾驶激光雷达数据扩增方法 |
DE102019209554A1 (de) * | 2019-06-28 | 2020-12-31 | Robert Bosch Gmbh | Verfahren zum Testen der Robustheit eines simulierbaren technischen Systems, Computerprogramm, maschinenlesbares Speichermedium und Vorrichtung sowie ein technisches System |
CN113778865A (zh) * | 2021-08-27 | 2021-12-10 | 南华大学 | 一种蜕变测试的测试用例自适应随机生成方法 |
CN114077545A (zh) * | 2021-11-18 | 2022-02-22 | 浙江中控技术股份有限公司 | 验证数据的获取方法、装置、设备及可读存储介质 |
CN114896134A (zh) * | 2022-03-29 | 2022-08-12 | 中国科学院软件研究所 | 面向目标检测模型的蜕变测试方法、装置及设备 |
CN115658515A (zh) * | 2022-10-31 | 2023-01-31 | 武汉大学 | 一种深度学习蜕变测试用例排序方法及计算机可读介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070226546A1 (en) * | 2005-12-22 | 2007-09-27 | Lucent Technologies Inc. | Method for determining field software reliability metrics |
US9703683B2 (en) * | 2015-11-24 | 2017-07-11 | International Business Machines Corporation | Software testing coverage |
US11379553B2 (en) * | 2018-01-10 | 2022-07-05 | International Business Machines Corporation | Interpretable symbolic decomposition of numerical coefficients |
US11928051B2 (en) * | 2021-05-28 | 2024-03-12 | International Business Machines Corporation | Test space sampling for model-based biased random system test through rest API |
-
2023
- 2023-07-11 CN CN202310842888.2A patent/CN117056203B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010238057A (ja) * | 2009-03-31 | 2010-10-21 | Nippon Telegr & Teleph Corp <Ntt> | テスト制約抽出装置、方法およびプログラム |
CN103885876A (zh) * | 2012-12-21 | 2014-06-25 | 百度在线网络技术(北京)有限公司 | 测试方法及设备 |
CN103713999A (zh) * | 2013-11-27 | 2014-04-09 | 中国人民解放军理工大学 | 基于定量度量的蜕变关系测试优先级排序方法 |
CN107766229A (zh) * | 2016-08-19 | 2018-03-06 | 南京理工大学 | 一种利用蜕变测试评价商品搜索系统正确性的方法 |
EP3467662A1 (en) * | 2017-10-09 | 2019-04-10 | Accenture Global Solutions Limited | Verification of applications that utilize artificial intelligence |
US10642723B1 (en) * | 2019-02-05 | 2020-05-05 | Bank Of America Corporation | System for metamorphic relationship based code testing using mutant generators |
DE102019209554A1 (de) * | 2019-06-28 | 2020-12-31 | Robert Bosch Gmbh | Verfahren zum Testen der Robustheit eines simulierbaren technischen Systems, Computerprogramm, maschinenlesbares Speichermedium und Vorrichtung sowie ein technisches System |
CN111882199A (zh) * | 2020-07-23 | 2020-11-03 | 深圳慕智科技有限公司 | 一种基于规则变异的自动驾驶激光雷达数据扩增方法 |
CN113778865A (zh) * | 2021-08-27 | 2021-12-10 | 南华大学 | 一种蜕变测试的测试用例自适应随机生成方法 |
CN114077545A (zh) * | 2021-11-18 | 2022-02-22 | 浙江中控技术股份有限公司 | 验证数据的获取方法、装置、设备及可读存储介质 |
CN114896134A (zh) * | 2022-03-29 | 2022-08-12 | 中国科学院软件研究所 | 面向目标检测模型的蜕变测试方法、装置及设备 |
CN115658515A (zh) * | 2022-10-31 | 2023-01-31 | 武汉大学 | 一种深度学习蜕变测试用例排序方法及计算机可读介质 |
Non-Patent Citations (3)
Title |
---|
Meng Li等.a selection method of effective metamorphic relations.2022 13th internatinal conference on reliability,maintainability,and safety.2022,第1-6页. * |
Metamorphic Relations Prioritization And Selection Based on Test Adequacy Criteria;Meng Li等;2022 4th internatinal acedemic exchange conferance on science and techology innovation;20230317;第503-508页 * |
龙格库塔程序的似然蜕变关系识别方法;文双华;计算机工程与设计;20220430;第43卷(第4期);第1152-1159页 * |
Also Published As
Publication number | Publication date |
---|---|
CN117056203A (zh) | 2023-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
van de Plassche et al. | Fast modeling of turbulent transport in fusion plasmas using neural networks | |
CN108491302B (zh) | 一种检测spark集群节点状态的方法 | |
EP3846034A1 (en) | Systems and methods for automated testing using artificial intelligence techniques | |
CN108388751B (zh) | 基于虚拟试验系统与实际系统的虚实比对分析方法 | |
Vicente-Valdez et al. | Nuclear data evaluation augmented by machine learning | |
Yang et al. | Local versus global models for just-in-time software defect prediction | |
Trujillo et al. | Does neuron coverage matter for deep reinforcement learning? a preliminary study | |
CN115630045A (zh) | 基于人工智能的数据溯源追踪方法及ai系统 | |
de Oliveira et al. | An ant colony hyperheuristic approach for matrix bandwidth reduction | |
Tousi et al. | Comparative analysis of machine learning models for performance prediction of the spec benchmarks | |
CN116822803B (zh) | 基于智能算法的碳排放数据图构建方法、装置与设备 | |
CN117056203B (zh) | 一种基于复杂性的数值表达式型蜕变关系选择方法 | |
CN107644145B (zh) | 一种基于蒙特卡洛和决策逻辑的故障行为仿真方法 | |
Sáez | Noise simulation in classification with the noisemodel R package: Applications analyzing the impact of errors with chemical data | |
JP2014110047A (ja) | 電子回路シミュレーションのための方法及び装置 | |
Zhang et al. | Generating optimal class integration test orders using genetic algorithms | |
CN115484112A (zh) | 支付大数据安全防护方法、系统及云平台 | |
CN114861538A (zh) | 基于随机森林算法的后处理厂退役辐射场估算方法及系统 | |
CN114265764A (zh) | 一种基于带权重采样的深度学习算子测试数据生成方法 | |
Škvorc et al. | A comprehensive analysis of the invariance of exploratory landscape analysis features to function transformations | |
Tsai et al. | Inverting cosmic ray propagation by convolutional neural networks | |
CN110969340A (zh) | 一种确定智能电能表质量技术基础能力的方法和系统 | |
Dhulipala et al. | Bayesian Inference with Latent Hamiltonian Neural Networks | |
Abdolshah et al. | A review of systems reliability analysis using fuzzy logic | |
Khayrullin | Multi-Step Algorithm for Constructing Statistical Estimates Based on the Bayesian Approach in Measurement Problems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |