基于模式组合的粒子群优化测试用例生成方法

被引:46
作者
姜淑娟 [1 ,2 ]
王令赛 [1 ]
薛猛 [1 ]
张艳梅 [1 ,3 ]
于巧 [1 ]
姚慧冉 [1 ]
机构
[1] 中国矿业大学计算机科学与技术学院
[2] 广西可信软件重点实验室(桂林电子科技大学)
[3] 计算机软件新技术国家重点实验室(南京大学)
关键词
测试用例生成; 粒子群优化算法; 交叉算子; 局部搜索策略;
D O I
暂无
中图分类号
TP18 [人工智能理论];
学科分类号
140502 [人工智能];
摘要
适应度函数的设计在基于搜索的测试用例生成技术中占据重要的位置,然而在某些特殊的程序中,如存在嵌套、非结构性跳转或因return,break等语句跳出循环的程序,已有的适应度函数无法评价到所有的分支.目前的方法是修改程序的源代码,以使每个分支得到评价.但修改源代码不但可能影响程序的原有结构、引入错误,而且很难实现自动化.针对这一问题,提出一种基于模式组合的粒子群优化测试用例生成方法.首先,将分支条件定义为"模式",即,一类具有相同特征且能提高适应度值的个体集合,并改变其分支函数的插桩方式,可解决分支条件不完全评价的问题;然后,设计一种新的交叉算子,寻找到所有使模式的分支函数值最小的个体,将这些个体中含有模式的部分通过交叉算子组合到一个个体上,既可防止模式在进化过程中被破坏,又可因多种模式的组合而提高个体的适应度值;最后,使用局部搜索策略对种群中的最优个体进行搜索,提高粒子群优化算法的局部搜索精度,进一步提高测试用例生成效率.为了评价该方法的有效性,基于一组基准程序和开源程序进行实验.实验结果表明:对于含有模式的程序,该测试用例生成方法与已有方法相比,在覆盖率和平均进化代数上均有明显优势.
引用
收藏
页码:785 / 801
页数:17
相关论文
共 14 条
[1]
基于正交搜索的粒子群优化测试用例生成方法 [J].
王令赛 ;
姜淑娟 ;
张艳梅 ;
于巧 .
电子学报, 2014, 42 (12) :2345-2351
[2]
基于粒子群优化的测试数据生成及其实证分析 [J].
毛澄映 ;
喻新欣 ;
薛云志 .
计算机研究与发展, 2014, 51 (04) :824-837
[3]
自适应粒子群优化算法及其在测试数据生成中的应用研究 [J].
史娇娇 ;
姜淑娟 ;
韩寒 ;
王令赛 .
电子学报, 2013, 41 (08) :1555-1559
[4]
A Large-Scale Evaluation of Automated Unit Test Generation Using EvoSuite[J] Gordon Fraser;Andrea Arcuri ACM Transactions on Software Engineering and Methodology (TOSEM) 2014,
[5]
A Memetic Algorithm for whole test suite generation[J] Gordon Fraser;Andrea Arcuri;Phil McMinn The Journal of Systems & Software 2015,
[6]
An identification of program factors that impact crossover performance in evolutionary test input generation for the branch coverage of C programs[J] Phil McMinn Information and Software Technology 2013,
[7]
Empirical evaluation of a nesting testability transformation for evolutionary testing[J] Phil McMinn;David Binkley;Mark Harman ACM Transactions on Software Engineering and Methodology (TOSEM) 2009,
[8]
Empirical evaluation of optimization algorithms when used in goal-oriented automated test data generation techniques[J] Man Xiao;Mohamed El-Attar;Marek Reformat;James Miller Empirical Software Engineering 2007,
[9]
Evolutionary test data generation: a comparison of fitness functions[J] Alison Watkins;Ellen M. Hufnagel Software: Practice and Experience 2006,
[10]
Automatic test data generation using genetic algorithm and program dependence graphs[J] James Miller;Marek Reformat;Howard Zhang Information and Software Technology 2005,