CN104536877A - 一种基于混合策略的测试数据生成方法 - Google Patents
一种基于混合策略的测试数据生成方法 Download PDFInfo
- Publication number
- CN104536877A CN104536877A CN201410709716.9A CN201410709716A CN104536877A CN 104536877 A CN104536877 A CN 104536877A CN 201410709716 A CN201410709716 A CN 201410709716A CN 104536877 A CN104536877 A CN 104536877A
- Authority
- CN
- China
- Prior art keywords
- data
- constraint
- path constraint
- test data
- strategy
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000012360 testing method Methods 0.000 title claims abstract description 47
- 238000005516 engineering process Methods 0.000 claims abstract description 34
- 238000007667 floating Methods 0.000 claims description 22
- 230000006978 adaptation Effects 0.000 claims description 18
- 230000002068 genetic effect Effects 0.000 claims description 5
- 238000007670 refining Methods 0.000 claims description 5
- 239000012634 fragment Substances 0.000 claims description 4
- 238000004064 recycling Methods 0.000 claims description 3
- 230000007246 mechanism Effects 0.000 abstract 1
- 238000012217 deletion Methods 0.000 description 4
- 230000037430 deletion Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 230000007812 deficiency Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000035772 mutation Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000000746 purification Methods 0.000 description 1
- 230000008672 reprogramming Effects 0.000 description 1
- 238000013522 software testing Methods 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
一种基于混合策略的测试数据生成方法,综合利用多种技术的特点融合为测试数据的生成方法。虽然近来各种各样的测试数据生成机制层出不穷,每种技术还是有自己的局限性,例如囿于本身特点每种技术只对有限的几种数据结构适用性与精确性较强。以上的特点导致了单一测试数据生成技术不能广泛而精确地得到试用。我们的方法结合了随机策略,动态符号执行和搜索策略建立数据生成流程,构成了一个可以利用多种技术的优点而进行的高可靠性高拓展性的测试数据生成方法。
Description
技术领域
本发明属于计算机技术领域,涉及软件测试技术,尤其是软件测试测试数据生成领域,是一种基于混合策略的测试数据生成方法。
背景技术
测试是软件开发周期中保障软件质量的一个极其重要的阶段,而测试本身正囿于测试数据规模的庞大和人工成本的繁多。其中,测试数据的生成是造成人工成本高昂的罪魁祸首之一。于是,为了减少测试数据生成的代价,人们提出了许多自动化的技术。这些技术大体上可以被归类为三种类型:随机策略(RS),动态符号执行(DSE)和基于搜索的策略(SBS)。然而,所有这些技术都有一个本质上的局限性,便是只在某些特征合适的数据结构上能产生优良和精确的效果。这个局限性很大程度上阻碍了这些测试数据生成技术被应用于真实世界的工业生产中。
由此提出了混合策略,总的说来,混合策略在各种领域被成功的应用的本质原因就是因为单一技术的不完备性。
本发明提出的混合策略方案可以融合最新技术优点,首先我们总结了本发明在基于混合策略方法所涉及到的一些技术的特点和局限性,如表1所示。
表1
技术 | 随机策略 | 动态符号执行 | 基于搜索的策略 |
特征 | 随机 | 利用路径的约束 | 面向目标的 |
优点 | 快速,成本低 | 利用了结构化信息 | 可拓展性强 |
缺点 | 散乱 | 复杂约束或路径爆炸 | 局部最优和搜索瓶颈 |
适合的数据类型 | * | 整型,枚举类型 | 浮点类型,字符串类型 |
在表格中,我们展示了随机策略、动态符号执行和基于搜索的策略各自的优点和缺点。随机测试是一个高性价比的方法,可以快速而低成本地生成大量地数据,但是生成的数据状态不稳定而且容易有很多冗余。至于动态符号执行,目前大多存在的相关技术对于整型及相关类型处理较好,可以准确而有效地计算满足约束的整型数,但是对于其他类型的数据类型支持相对一般。虽然有一些特定的技术旨在解决某一或某些特定类型,主流的约束求解器实践中并不能精确和低成本地得到使用。
为了阐述得更加精确,我们列举以下几种典型类型作为例子:
1.大多数约束求解器利用与有理数处理方法相同的方法处理浮点类型数值,换句话说就是利用了与浮点类型数值存储格式不同的数据结构的处理方法,因此我们利用该类约束求解器求出的浮点类型解就会有一定的精度损失,进而会导致我们遗失对于一些程序缺陷的检测或者获得高覆盖率。即使已经有人提出较好的能够处理浮点类型数的方法,这些方法仍存在自身的局限性,比如在处理整型数和浮点数结合的约束时会显得捉襟见肘。
2.对于字符串类型的数据,约束求解器会利用类似数组形式数据的处理方法或者是利用自动机进行处理。利用数组型处理方法比如利用位向量,如果和目前的字符串长度相同的字符串都不能满足约束,我们就需要调整字符串的长度,利用不同长度的字符串来满足约束,于是我们的约束就需要被重新求解,这无疑大大增加了动态符号执行的成本。另一方面,若选择自动机方法,在借助自动机方法的同时会受制于自动机方法本质上的缺点,如对于否定约束处理的不完善(例如在Java中的不等于notEquals方法等)。
鉴于约束求解器本身在面对多种多样不同的数据类型的时候存在缺点,更好的方法需要被提出及使用来更为妥善地处理这些数据类型。对于一些典型的数据类型如浮点数或者字符串类型,本发明选择利用基于搜索的策略去增加方案的稳定性和精度。本质上来讲,基于搜索的策略本身并不会和符号执行技术有什么冲突,反而能够很好地补充约束求解器的不足,有能力以更低的成本获取精度更高的浮点型、字符串乃至其他类型的数据。
总的说来,任何一种单一的技术都远远不能满足一个相对可用的数据生成的要求。因此,混合策略成为了越来越多人选择的方向。尽管很多人提出了基于混合策略的技术,他们往往局限于两者之间,只利用一种技术去增进另一种技术。本发明想提出的是一个融合了多种技术的优点的一个有效而可用的方法。
发明内容
本发明要解决的问题是:现有的单一的自动化测试数据生成技术由于各自算法以及实现方法的局限性,对于不同类型的数据类型的生成所需的成本和提供的可用性差距很大,对于含有各种类型数据的真实世界中的软件的生成效果较差,所需成本却过高,因而需要提高测试用例生成技术的可用性并在同时削减成本。现有的混合策略方法只利用一种技术去增进另一种技术,达到的效果有限。
本发明的技术方案为:一种基于混合策略的测试数据生成方法,利用混合测试数据生成技术制定生成流程:利用随机策略生成测试的基础数据,利用动态符号执行完成对于满足路径约束条件的整型数据的计算,利用基于搜索的策略完成对于其他类型数值型数据的精化以及对于字符串或用户自定义类型数据的获取,实现自动化的测试数据生成,包括以下步骤:
1)随机策略生成初始数据,利用初始数据进行程序的动态执行,并记录路径约束;
2)将步骤1)记录的路径约束的最后一个谓词进行反转,使其程序逻辑转向最后一个分支的另一边,生成一个新的路径约束,如果新生成的路径约束可解,则将新生成的路径约束对应的测试数据作为引导数据,进入步骤3),之后迭代进行步骤2)-5)直至到达极优解或使定时器超时而至死锁,进而保留结果并重启步骤1);如果新生成的路径约束不可解则直接重启步骤1),重新生成初始引导数据;
3)将步骤2)生成的路径约束基于不同的数据类型进行解析与拆解,分别提取出不同类型的数据结构,包括pcf、pcs和pco,其中pcf是路径约束中包含浮点类型数据的部分,pcs和pco分别是包含字符串类型和其他类型的约束片段;
4)对于不同数据类型基于搜索的策略有不同的处理方法:
对于浮点类型的数据结构,使用交替变量法来精化浮点数的精度;
对于字符串类型的数据结构,利用基因算法来解决对于字符串类型的处理问题;
对于其他类型的数据结构,提供自定义的精化算法接口,用于用户针对数据类型自定义匹配函数,如果用户并没有定义对应数据结构的精化规则,默认对数据结构利用搜索的策略进行精化;
5)将步骤2)得到的路径约束中的变量替换为经步骤4)精化后的具体数值,简化路径约束,使之更容易被约束求解器计算而得到可行解,再利用约束求解器对简化后的路径约束进行求解,生成的测试数据作为下一次迭代的输入数据,进行下一轮的生成和精化。
其中,利用随机策略生成测试的基础数据对应步骤1),利用动态符号执行完成对于满足路径约束条件的整型数据的计算对应步骤2)与步骤5)前半部,利用基于搜索的策略完成对于其他类型数值型数据的精化以及对于字符串或用户自定义类型数据的获取对应步骤5)的后半部。
本发明利用随机测试快速地获取初始输入,利用动态符号执行获取可以指导程序控制流的数据,利用搜索策略针对不同的数据类型获取更高的精度和匹配度。这个方法为自动化测试提供了更高的坚固性和拓展性。
本发明提出了一个初步的基于混合策略的测试数据生成技术,即融合了现有技术的优点而构成一个旨在解决单一测试数据生成技术产生的局限性的问题。鉴于随机策略、动态符号执行和基于搜索的策略彼此本质上的很大的相异点和异构性,本发明提出的方法能够在提升数据质量的同时减少成本。
本发明的特点在于:1、综合了自动化测试数据生成领域的多种技术的优点;2、利用随机策略生成初始数据,保证高效率与低成本;3、根据记录的路径约束信息,对谓词中的子句进行反转,通过改变程序谓词的方法引导程序控制流至未覆盖区域,达到更高覆盖;4、利用基于搜索的策略进行对于多种数据类型,包括浮点型数据、字符串型数据以及其他用户自定义类型数据等的数据进行精化,找到最优解,提高数据质量。将这4点结合,本发明可以在提高自动化生成的测试数据质量的同时削减所需的生成成本,使得依靠生成的数据构建的单元测试用例集具有更高的质量,能够达到更高覆盖率,进而能够发现更多程序缺陷。
附图说明
图1为本发明的实施流程图。
具体实施方式
在本发明方法中,首先利用随机策略随机生成测试数据作为初始的引导数据,接下来利用动态符号执行和基于搜索的策略来对于不同数据类型进行处理和精化,利用了一些最新的解决方案来保证本发明方法的健壮性和拓展性。
如图1,本发明利用混合测试数据生成技术的优点制定生成流程,利用随机策略生成测试的基础数据,利用动态符号执行完成对于满足路径约束条件的整型数据的计算,利用基于搜索的策略完成对于其他类型数值型数据的精化以及对于字符串或用户自定义类型数据的获取,以期达到自动化的测试生成,并且拥有尽可能小的成本以及尽可能高的可用性,步骤如下:
1)构建引导数据:由随机策略生成初始数据,初始化的情况是输入是随机产生的,借助随机产生的数据,程序得以被执行并且在执行的过程中记录一些信息,例如路径约束。利用初始数据进行动态执行并记录路径约束,记录下来的路径约束等信息会被用于接下来的阶段用来通过改变控制信息内容引导测试数据的生成。
2)导向性逻辑反转:路径约束(Path Constraint,PC)将输入域分割成不同的区域。为了使程序所覆盖的代码区域尽可能的远离已经被之前的测试数据执行并覆盖过的代码段,更准确地说,尽可能控制程序的逻辑流向至已覆盖程序逻辑的反向,需要将控制条件反转,使其流向程序未被覆盖到的一条分支。如上所述,本发明将在构建初始引导数据阶段运行并记录的路径约束的最后一个谓词进行反转,使其程序逻辑转向最后一个分支的另一边,生成一个新的路径约束。如果新生成的路径约束可解,便将该约束对应的测试数据作为新的候选数据,即作为引导数据,然后进入步骤3)进一步处理。如果新生成的路径约束不可解则直接重启步骤1),重新生成初始引导数据。
3)路径约束信息提取:生成的路径约束会基于不同的数据类型被解析与拆解。包含浮点数或字符串等典型的数据结构的部分会被分别地从路径约束中提取出来。假设pc=pcf∧pcs∧pco,其中pc指得到的全部谓词,pcf是路径约束中包含浮点类型数据的部分,pcs和pco分别是包含字符串类型和其他类型的约束片段。
4)数据精化:对于每个数据类型,符号化地表示为上一阶段所提取的pcf,pcs和pco,本发明中会施以不同的处理方法,利用基于搜索的策略针对不同类型的数据结构进行测试数据生成。
对于浮点类型(pcf),因为约束求解器对于浮点类型数据的计算的能力的不足,使用交替变量法(Alternating Varaible Method,AVM)来精化浮点数的精度。AVM包含两个主要阶段,首先AVM会开始于探索阶段(exploratory phase),在这个阶段中我们会对输入数据进行微调,即对每个输入数据增加或者减少一个很小的数值。在使用AVM的时候定义一个匹配函数,表明现有的数据与真实数据的差距。一旦进行微调后匹配函数求值更小,也就是说现有的数据更加接近真实数据,那么算法就进入下一阶段,模式阶段(pattern phase)。在这一阶段中,会对刚才确定的会对最终匹配函数值产生影响的变量与变量变化的方向进行一次更大的调整,即增加或减少一个更大的数值,直至达到一个最优情况。当对于一个变量已经无法找到更优情况时,对其他的变量都利用相似的方法进行优化。
对于字符串类型的约束片段(pcs),利用一个与字符串天然适配的算法,基因算法(Genetic Algorithm,GA)来解决对于字符串类型的处理问题。GA的计算过程涉及一系列的候选数据和一个可以用来指导测试生成的匹配函数。我们可以根据匹配函数的取值(这个取值函数可能是覆盖率或者是成本等)好坏来评价候选的数据的质量,进而生成并选择新的更好的候选者。在我们的算法中,我们维护了一个候选数据的集合,我们会对这个集合中的候选数据进行迭代式重组和变异来接连获得新的候选者,匹配函数取值更好的候选者会替代更坏的候选者,形成新的集合。我们选择的匹配函数是字符串序数距离,变异操作符包括删除,增加和替换。更明确地说,删除操作符别定义为在字符串中随机删除一个字符;增加操作符被定义为在字符串的随机位置中插入随机的字符;而替换操作符被定义为替换字符串中的字符,使之拥有相似的序数值。
而对于其他类型(pco),鉴于许多数据结构如java中的一些对象也同样是用户自己定义的,于是我们为用户提供了可以自定义的精化算法接口。如果用户并没有定义对应数据结构的精化规则,默认对数据结构利用搜索策略进行精化。
5)测试数据生成:在利用以上几步获得结果后,将步骤2)得到的路径约束中的变量替换为经步骤4)精化后的具体数值,简化路径约束,使之更容易被约束求解器计算而得到可行解,再利用约束求解器对简化后的路径约束进行求解,生成的测试数据作为下一次迭代的输入数据,进行下一轮的生成和精化。
本发明中迭代进行步骤2)-5),直至到达极优解或使定时器超时而至死锁,保留结果并重启步骤1),也就是不断利用分支的深度优先算法进行谓词的反转,直至所有可能分支都被遍历过或者程序卡死才将步骤流程重置回第一步。步骤2)-5)利用迭代不断精化提高生成的输入数据质量,在迭代执行到路径全收集或局部最优化的时候启动下一次迭代,并在时限后结束步骤流程。
本发明中涉及的几个主要策略别是随机策略、动态符号执行和基于搜索的策略,下面具体说明其实施方式。
1、随机策略
随机策略最简单也是最普遍的应用是在一个固定的域中随机挑选生成的指定类型的数据。本发明为了保证方法的可用性和计算效率,所利用的随机策略正是这种最普遍的应用。对于整型数值和浮点型数值,我们在他们各自的取值域中随机抽取数值作为初始执行数据,而对于字符串型数值,我们随机生成字符串长度,并根据对应长度生成字符序列,构成字符串。
2、动态符号执行
动态符号执行是一个混合型的技术,融合了利用符号取值和真实数值对程序执行的符号执行和真实执行两种方法。在本发明中,动态符号执行用来较快地获得整型数值以及获取精度较低的浮点型数值,为下一步进化步骤准备粗制的数据。具体步骤如下:
1)利用符号数据作为输入数据,不能被符号数据取代的变量会被利用随机策略生成的数值取代。
2)对程序进行插桩使得符号数值在程序中的变化和执行顺序能够得到记录。
3)选定一组输入数据并且利用其对程序进行执行,利用符号数据进行执行的时候记录并生成一组符号型的路径约束。
4)对最后一个路径约束进行取反使得程序可能遍历到一条新的执行路径,直至全路径都被覆盖或者程序出现错误。
5)利用约束求解器进行求解,获得整型数值或粗化的浮点型数值。
3、基于搜索的策略
基于搜索的策略的主要思想是在程序对应的搜索域中进行取样并对数据进行调整,同时策略维护一个用来评价数据质量的度量方法,一般被称为匹配函数或目标函数,函数在取样点处的取值即代表数据在搜索域中的质量,为了达到更好的质量,利用搜索策略对数据进行优化。
本发明中主要利用了基于搜索的策略中的两个子策略。对于浮点型数据,选择利用交替变量方法(AVM),而对于字符串型数据,选择利用基因算法(GA)。
其中,AVM包含两个主要阶段,首先AVM会开始于探索阶段(exploratory phase),在这个阶段中我们会对输入数据进行微调,即对每个输入数据增加或者减少一个很小的数值。在使用AVM的时候我们会定义一个匹配函数,表明我们现有的数据与真实数据的差距。一旦我们进行微调后匹配函数求值更小,也就是说我们现有的数据更加接近真实数据,那么我们的算法就进入下一阶段,模式阶段(pattern phase)。在这一阶段中,我们会对刚才确定的会对最终匹配函数值产生影响的变量与变量变化的方向进行一次更大的调整,即增加或减少一个更大的数值,直至达到一个最优情况。当对于一个变量我们已经无法找到更优情况时,我们对其他的变量都利用相似的方法进行优化。
而GA,它的计算过程涉及一系列的候选数据和一个可以用来指导测试生成的匹配函数。我们可以根据匹配函数的取值(这个取值函数可能是覆盖率或者是成本等)好坏来评价候选的数据的质量,进而生成并选择新的更好的候选者。在我们的算法中,我们维护了一个候选数据的集合,我们会对这个集合中的候选数据进行迭代式重组和变异来接连获得新的候选者,匹配函数取值更好的候选者会替代更坏的候选者,形成新的集合。本发明选择的匹配函数是字符串序数距离,变异操作符包括删除,增加和替换。更明确地说,删除操作符别定义为在字符串中随机删除一个字符;增加操作符被定义为在字符串的随机位置中插入随机的字符;而替换操作符被定义为替换字符串中的字符,使之拥有相似的序数值。
Claims (1)
1.一种基于混合策略的测试数据生成方法,其特征是利用混合测试数据生成技术制定生成流程:利用随机策略生成测试的基础数据,利用动态符号执行完成对于满足路径约束条件的整型数据的计算,利用基于搜索的策略完成对于其他类型数值型数据的精化以及对于字符串或用户自定义类型数据的获取,实现自动化的测试数据生成,包括以下步骤:
1)随机策略生成初始数据,利用初始数据进行程序的动态执行,并记录路径约束;
2)将步骤1)记录的路径约束的最后一个谓词进行反转,使其程序逻辑转向最后一个分支的另一边,生成一个新的路径约束,如果新生成的路径约束可解,则将新生成的路径约束对应的测试数据作为引导数据,进入步骤3),之后迭代进行步骤2)-5)直至到达极优解或使定时器超时而至死锁,进而保留结果并重启步骤1);如果新生成的路径约束不可解则直接重启步骤1),重新生成初始引导数据;
3)将步骤2)生成的路径约束基于不同的数据类型进行解析与拆解,分别提取出不同类型的数据结构,包括pcf、pcs和pco,其中pcf是路径约束中包含浮点类型数据的部分,pcs和pco分别是包含字符串类型和其他类型的约束片段;
4)对于不同数据类型基于搜索的策略有不同的处理方法:
对于浮点类型的数据结构,使用交替变量法来精化浮点数的精度;
对于字符串类型的数据结构,利用基因算法来解决对于字符串类型的处理问题;
对于其他类型的数据结构,提供自定义的精化算法接口,用于用户针对数据类型自定义匹配函数,如果用户并没有定义对应数据结构的精化规则,默认对数据结构利用搜索的策略进行精化;
5)将步骤2)得到的路径约束中的变量替换为经步骤4)精化后的具体数值,简化路径约束,使之更容易被约束求解器计算而得到可行解,再利用约束求解器对简化后的路径约束进行求解,生成的测试数据作为下一次迭代的输入数据,进行下一轮的生成和精化。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410709716.9A CN104536877B (zh) | 2014-11-28 | 2014-11-28 | 一种基于混合策略的测试数据生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410709716.9A CN104536877B (zh) | 2014-11-28 | 2014-11-28 | 一种基于混合策略的测试数据生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104536877A true CN104536877A (zh) | 2015-04-22 |
CN104536877B CN104536877B (zh) | 2017-09-12 |
Family
ID=52852407
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410709716.9A Active CN104536877B (zh) | 2014-11-28 | 2014-11-28 | 一种基于混合策略的测试数据生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104536877B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105893243A (zh) * | 2015-12-14 | 2016-08-24 | 乐视网信息技术(北京)股份有限公司 | 用于测试工具的测试框架及一种测试工具 |
CN107153605A (zh) * | 2016-03-02 | 2017-09-12 | 阿里巴巴集团控股有限公司 | 测试样本的生成方法及装置 |
CN108733528A (zh) * | 2018-04-23 | 2018-11-02 | 南京航空航天大学 | 一种基于约束的系统故障注入方法 |
CN109165102A (zh) * | 2018-09-28 | 2019-01-08 | 北京航空航天大学 | 一种基于智能合约的约束求解器分布式调度方法 |
CN110554925A (zh) * | 2019-09-05 | 2019-12-10 | 中国人民解放军国防科技大学 | 面向死锁检查的非阻塞mpi程序符号执行方法、系统及介质 |
US11556870B2 (en) | 2020-07-29 | 2023-01-17 | Oracle International Corporation | System and method for validating a candidate recommendation model |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102323906A (zh) * | 2011-09-08 | 2012-01-18 | 哈尔滨工程大学 | 一种基于遗传算法的mc/dc测试数据自动生成方法 |
CN102622558A (zh) * | 2012-03-01 | 2012-08-01 | 北京邮电大学 | 一种二进制程序漏洞的挖掘装置和方法 |
CN103645987A (zh) * | 2013-12-20 | 2014-03-19 | 南京大学 | 基于代码生成和符号执行的访问控制策略测试自动生成方法 |
-
2014
- 2014-11-28 CN CN201410709716.9A patent/CN104536877B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102323906A (zh) * | 2011-09-08 | 2012-01-18 | 哈尔滨工程大学 | 一种基于遗传算法的mc/dc测试数据自动生成方法 |
CN102622558A (zh) * | 2012-03-01 | 2012-08-01 | 北京邮电大学 | 一种二进制程序漏洞的挖掘装置和方法 |
CN103645987A (zh) * | 2013-12-20 | 2014-03-19 | 南京大学 | 基于代码生成和符号执行的访问控制策略测试自动生成方法 |
Non-Patent Citations (2)
Title |
---|
史娇娇等: "基于遗传算法的动态可变参数的测试数据自动生成工具", 《计算机科学》 * |
薛云志等: "一种基于Messy GA的结构测试数据自动生成方法", 《软件学报》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105893243A (zh) * | 2015-12-14 | 2016-08-24 | 乐视网信息技术(北京)股份有限公司 | 用于测试工具的测试框架及一种测试工具 |
CN107153605A (zh) * | 2016-03-02 | 2017-09-12 | 阿里巴巴集团控股有限公司 | 测试样本的生成方法及装置 |
CN107153605B (zh) * | 2016-03-02 | 2021-07-06 | 阿里巴巴集团控股有限公司 | 测试样本的生成方法及装置 |
CN108733528A (zh) * | 2018-04-23 | 2018-11-02 | 南京航空航天大学 | 一种基于约束的系统故障注入方法 |
CN109165102A (zh) * | 2018-09-28 | 2019-01-08 | 北京航空航天大学 | 一种基于智能合约的约束求解器分布式调度方法 |
CN109165102B (zh) * | 2018-09-28 | 2022-04-01 | 北京航空航天大学 | 一种基于智能合约的约束求解器分布式调度方法 |
CN110554925A (zh) * | 2019-09-05 | 2019-12-10 | 中国人民解放军国防科技大学 | 面向死锁检查的非阻塞mpi程序符号执行方法、系统及介质 |
CN110554925B (zh) * | 2019-09-05 | 2022-02-08 | 中国人民解放军国防科技大学 | 面向死锁检查的非阻塞mpi程序符号执行方法、系统及介质 |
US11556870B2 (en) | 2020-07-29 | 2023-01-17 | Oracle International Corporation | System and method for validating a candidate recommendation model |
Also Published As
Publication number | Publication date |
---|---|
CN104536877B (zh) | 2017-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104536877A (zh) | 一种基于混合策略的测试数据生成方法 | |
CN101093559B (zh) | 一种基于知识发现的专家系统构造方法 | |
Benachio et al. | Interactions between lean construction principles and circular economy practices for the construction industry | |
CN103473171A (zh) | 一种基于函数调用路径的覆盖率动态跟踪方法及装置 | |
CN107784598A (zh) | 一种网络社区发现方法 | |
CN105630988A (zh) | 一种快速检测空间数据变化并更新的方法及系统 | |
CN102073708A (zh) | 面向大规模不确定图数据库的子图查询方法 | |
CN106156082A (zh) | 一种本体对齐方法及装置 | |
CN107168868B (zh) | 一种基于采样和集成学习的软件更改缺陷预测方法 | |
CN102799627B (zh) | 一种基于一阶逻辑和神经网络的数据对应方法 | |
CN104239570A (zh) | 论文的搜索方法及装置 | |
CN109542783A (zh) | 一种基于变量分割的扩展有限状态机测试数据生成方法 | |
Chakraborty et al. | Citation interactions among computer science fields: a quantitative route to the rise and fall of scientific research | |
CN101344902B (zh) | 一种基于关联分析与关联分类的蛋白质二级结构预测方法 | |
CN102968669B (zh) | 对负荷进行预测的方法和装置 | |
CN105868115A (zh) | 软件密集型系统软件测试模型的构建方法和系统 | |
CN106295252B (zh) | 用于基因产品的检索方法 | |
CN110955892B (zh) | 一种基于机器学习和电路行为级特征的硬件木马检测方法 | |
Shi et al. | Sustainability at the community level: A bibliometric journey around a set of sustainability‐related terms | |
Zafarmand et al. | Fast local community discovery relying on the strength of links | |
Müller et al. | Extracting knowledge from life courses: Clustering and visualization | |
CN114723108B (zh) | 城市路网海量公共服务设施可达性计算方法与装置 | |
CN102495856A (zh) | 一种基于电子地图的步行商圈生成方法 | |
CN105487912A (zh) | 公共问题修改多分支维护系统及方法 | |
Saghafi et al. | Developing a catch-up model of technology: a grounded theory approach |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: 210000 Huizhi Building, 28 Ningshuang Road, Yuhuatai District, Nanjing City, Jiangsu Province, 7th Floor Co-patentee after: Nanjing University Patentee after: Jiangsu Testing and Certification Co., Ltd. Address before: 210000 Huizhi Building, 28 Ningshuang Road, Yuhuatai District, Nanjing City, Jiangsu Province, 7th Floor Co-patentee before: Nanjing University Patentee before: JIANGSU SUCE SOFTWARE DETECTION TECHNOLOGY CO., LTD. |