首页 | 本学科首页   官方微博 | 高级检索  
     

基于粒子群优化的测试数据生成及其实证分析
引用本文:毛澄映, 喻新欣, 薛云志. 基于粒子群优化的测试数据生成及其实证分析[J]. 计算机研究与发展, 2014, 51(4): 824-837.
作者姓名:毛澄映  喻新欣  薛云志
作者单位:软件工程国家重点实验室(武汉大学);江西财经大学软件与通信工程学院;中国科学院软件研究所基础软件国家工程研究中心;
基金项目:国家自然科学基金项目(61063013,61100070);江西省自然科学基金项目(2010GZS0044);武汉大学软件工程国家重点实验室开放基金项目(SKLSE2010-08-23)
摘    要:运用元启发式搜索进行结构性测试数据生成已经被证实是一种有效的方法.在讨论基于搜索的测试数据生成基本框架的基础上,以分支覆盖作为测试覆盖准则,给出了基于粒子群优化(particle swarm optimization, PSO)的测试数据生成算法,并通过分析分支谓词的结构特征提出了一种新的适应函数构造形式.在此基础上,针对一些公开的程序集开展对比性实验分析,证实粒子群优化算法在平均覆盖率、全覆盖成功率、平均收敛代数和搜索时间4项指标上均要优于遗传算法和模拟退火算法.同时,编程实现了4种典型的PSO变体算法并进行测试数据生成效果的实证分析,结果表明:基本PSO是解决测试数据生成问题的首选算法,而综合学习式PSO算法的表现则相对较差.

关 键 词:结构性测试  测试数据生成  分支覆盖  搜索算法  粒子群优化

Algorithm Design and Empirical Analysis for Particle Swarm Optimization-Based Test Data Generation
Mao Chengying, Yu Xinxin, Xue Yunzhi. Algorithm Design and Empirical Analysis for Particle Swarm Optimization-Based Test Data Generation[J]. Journal of Computer Research and Development, 2014, 51(4): 824-837.
Authors:Mao Chengying  Yu Xinxin  Xue Yunzhi
Abstract:How to generate a test dataset with high coverage and strong fault-revealing ability is a difficult problem, especially for software structural testing. Recently, meta-heuristic search has been confirmed to be an effective way to generate structural test data. In the paper, a swarm intelligence-based method is proposed to handle this problem. At first, the basic framework for search-based test data generation is discussed. Then, with regard to branch coverage criterion, the algorithm for generating test data based on particle swarm optimization (PSO) is proposed. Meanwhile, a new way to construct fitness function is defined according to the structure analysis for branch predicates in program under test. Subsequently, ten open published programs are used to perform experimental evaluation. The experimental results show that PSO outperforms genetic algorithm (GA) and simulated annealing (SA) in all four metrics, i.e., average coverage, success rate, average convergence generation and average time. In addition, other four PSO variant algorithms are also introduced and implemented to conduct comparison analysis with the basic PSO. The results indicate that the basic PSO is the most suitable algorithm for test data generation problem. On the contrary, comprehensive learning PSO (CLPSO) exhibits the worst performance in all variant algorithms.
Keywords:structural testing  test data generation  branch coverage  searching algorithm  particle swarm optimization (PSO)
本文献已被 CNKI 等数据库收录!
点击此处可从《计算机研究与发展》浏览原始摘要信息
点击此处可从《计算机研究与发展》下载全文
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号