An identification of program factors that impact crossover performance in evolutionary test input generation for the branch coverage of C programs

An identification of program factors that impact crossover performance in evolutionary test input generation for the branch coverage of C programs
复制标题

识别影响 C 程序分支覆盖的进化测试输入生成中交叉性能的程序因素

DOI:
10.1016/j.infsof.2012.03.010
复制
发表时间:
2013
影响因子:
3.9
通讯作者:
McMinn P
McMinn P
中科院分区:
计算机科学2区
文献类型:
--
作者:
McMinn P

文献摘要

参考文献

被引文献

相似文献

上下文遗传算法是一种流行的基于搜索的优化技术,用于自动为程序的结构覆盖生成测试输入,但是很少有工作研究遗传算法在哪一类程序中表现良好。本文提出并评估了假设影响交叉性能的一系列程序因素,交叉是遗传算法中的一个关键搜索算子,当搜索覆盖C函数分支结构的输入时。方法采用遗传算法对实例程序中每个程序因子进行有交叉和无交叉计算。实验还测试了在搜索测试数据时,交叉是否作为宏突变算子而不是有效地重组输入向量的组成部分。结果结果表明,跨界对所研究的每个节目因素都有影响。结论对于具有大、多维输入空间的规划,交叉问题的作用越来越重要,目标结构的输入条件分解为独立的子问题,这些子问题可以并行求解。此外,当被测程序是非结构化的或包含嵌套的条件语句时,交叉可以被抑制;当分支条件中使用中间变量时,与直接输入值相反。
ContextGenetic Algorithms are a popular search-based optimisation technique for automatically generating test inputs for structural coverage of a program, but there has been little work investigating the class of programs for which they will perform well.ObjectiveThis paper presents and evaluates a series of program factors that are hypothesised to affect the performance of crossover, a key search operator in Genetic Algorithms, when searching for inputs that cover the branching structure of a C function.MethodEach program factor is evaluated with example programs using Genetic Algorithms with and without crossover. Experiments are also performed to test whether crossover is acting as macro-mutation operator rather than usefully recombining the component parts of input vectors when searching for test data.ResultsThe results show that crossover has an impact for each of the program factors studied.ConclusionIt is concluded crossover plays an increasingly important role for programs with large, multi-dimensional input spaces, where the target structure’s input condition breaks down into independent sub-problems for which solutions may be sought in parallel. Furthermore, it is found that crossover can be inhibited when the program under test is unstructured or involves nested conditional statements; and when intermediate variables are used in branching conditions, as opposed to direct input values.
使用软件测量评估进化可测试性
DOI: 10.1007/978-3-540-24855-2_156
发表时间: 2004
期刊: 2010 Third International Conference on Software Testing, Verification and Validation
影响因子: --
作者:
Frank Lammermann;A. Baresel;J. Wegener
通讯作者: J. Wegener
DOI: 10.1093/comjnl/bxh093
发表时间: 2005-07
期刊: Comput. J.
影响因子: --
作者:
R. Hierons;M. Harman;C. Fox
通讯作者: R. Hierons;M. Harman;C. Fox
DOI: --
发表时间: 1991
期刊: --
影响因子: --
作者:
Melanie Mitchell;S. Forrest;J. Holland
通讯作者: Melanie Mitchell;S. Forrest;J. Holland
DOI: 10.1109/ssbse.2010.11
发表时间: 2010
期刊: --
影响因子: --
作者:
McMinn P
通讯作者: McMinn P
DOI: 10.1145/1525880.1525884
发表时间: 2009-05
期刊: ACM Trans. Softw. Eng. Methodol.
影响因子: --
作者:
Phil McMinn;D. Binkley;M. Harman
通讯作者: Phil McMinn;D. Binkley;M. Harman