首页> 外文学位 >Approche basee sur l'intelligence collective pour la generation de donnees de test par mutation.
【24h】

Approche basee sur l'intelligence collective pour la generation de donnees de test par mutation.

机译:基于集体智能的方法来生成突变测试数据。

获取原文
获取原文并翻译 | 示例

摘要

In many software organizations software testing accounts for more than 40-50% of the total development costs. Also, testing and test case generation are among the most labor intensive and technically difficult activities in any software project. So, techniques reducing the need for manual intervention will positively affect project costs. Indeed, thorough testing is often unfeasible because of the potentially infinite execution space or high cost with respect to tight budget limitations. Other techniques such as code inspection are known to be more effective, but even more costly than testing. Unfortunately, defects slipped into deployed software may crash safety or mission critical applications with catastrophic consequences. Mutation testing, originally proposed by DeMillo in 1978, consists in injecting simple faults into the original program in order to obtain faulty versions of the program: the mutants. Then, test data are produced to attain the highest possible mutation score, i.e., to kill the highest number of mutants. A mutant is said to be killed if it behaves in a different way than the original program for the same test data. A set of test cases is more adequate than another if it kills a larger number of mutants. On the other hand, a test suite is preferred over others if it contains fewer test cases and is closer to the adequacy criterion. In this case, the adequacy criterion is having the highest mutation score. Intuitively, mutation testing promotes high quality test suites and has high potential for automation. In this thesis, we address the problem of automatic test data generation, as it is a computational expensive activity in the testing process.;This work summarizes the use of a swarm intelligence approach in order to generate data that kills mutants in the context of mutation testing. In the technique proposed in this thesis, test data generation is mapped into a minimization problem guided by a cost function, a fitness function inspired by Bottaci work. The Bottaci fitness function is defined in a way that a test case is able to kill a mutant if it satisfies three conditions used by Offutt in CBT, namely, the reachability, the necessary and the sufficiency conditions. Indeed, this fitness function measures how close a test case is to kill a mutant. This thesis adopted Ant Colony Optimization (ACO) as the metaheuristic algorithm to solve the minimization problem. Two reasons justify our choice. First, metaheuristics have been proven to be suitable approaches for data generation in the context of coverage based testing. Second, ACO leads to implement the well-known "do smarter" approaches in a natural way because ACO intrinsically allows a parallel search. In this thesis ants have the mission of killing one mutant each time by searching a test data that satisfies the three Offutt conditions. Furthermore, our ACO algorithm is enhanced by a probability density estimation process that automatically guides and refines the search in promising regions. This thesis main contributions and innovations are: (1) A new swarm intelligence approach for automatic test data generation in the context of mutation testing, which naturally reduces the computational cost in such test strategy; (2) Exploitation of a new emergent search technique, ACO, to facilitate test data generation and compare results with Hill Climbing, Genetic Algorithm and random search on two programs; (3) Incorporation of new ideas based on a probability density estimation process to automatically define and guide the search toward promising regions; (4) A customization of ACO to the problem of generating test data to kill mutants.;This thesis demonstrates that ACO performed far better than the other metaheuristics we implemented.
机译:在许多软件组织中,软件测试占总开发成本的40-50%以上。此外,在任何软件项目中,测试和测试用例的生成都是劳动密集型且技术难度最大的活动之一。因此,减少手动干预需求的技术将对项目成本产生积极影响。实际上,由于严格的预算限制可能存在无限的执行空间或高成本,因此彻底的测试通常是不可行的。众所周知,诸如代码检查之类的其他技术更有效,但比测试还要昂贵。不幸的是,滑入已部署软件中的缺陷可能会使安全性或关键任务应用程序崩溃,并带来灾难性后果。突变测试最初由DeMillo于1978年提出,包括将简单的错误注入原始程序中,以获得程序的错误版本:突变体。然后,产生测试数据以获得可能的最高突变得分,即杀死最高数量的突变体。如果突变体的行为方式与原始程序相同,且测试数据相同,则认为该突变体被杀死。如果一组测试用例杀死大量的突变体,则比另一组更为合适。另一方面,如果测试套件包含较少的测试用例并且更接近适当性标准,则它是首选套件。在这种情况下,适当性标准具有最高的突变得分。直观地讲,变异测试促进了高质量的测试套件的发展,并具有很高的自动化潜力。在这篇论文中,我们解决了自动测试数据生成的问题,因为它在测试过程中是计算量大的活动。;这项工作总结了群体智能方法的使用,以便生成在突变情况下杀死突变体的数据测试。在本文提出的技术中,将测试数据生成映射到以成本函数为指导的最小化问题,成本函数是受Bottaci工作启发的适应性函数。 Bottaci适应度函数的定义方式是,如果一个测试用例满足Offutt在CBT中使用的三个条件,即可达性,必要条件和充分性条件,则它可以杀死一个突变体。实际上,此适应度函数可衡量测试用例杀死突变体的接近程度。本文采用蚁群算法(ACO)作为元启发式算法来解决最小化问题。有两个理由证明了我们的选择。首先,已证明元启发法是在基于覆盖率的测试环境中用于数据生成的合适方法。其次,由于ACO本质上允许并行搜索,因此ACO以自然的方式实现了众所周知的“更智能”方法。在本文中,蚂蚁的任务是通过搜索满足三个Offutt条件的测试数据来每次杀死一个突变体。此外,我们的ACO算法通过概率密度估计过程得到增强,该过程可自动指导和完善有希望的区域中的搜索。本论文的主要贡献和创新之处在于:(1)在变异测试环境下自动生成测试数据的群体智能新方法,自然降低了这种测试策略的计算成本。 (2)开发一种新的紧急搜索技术ACO,以促进测试数据的生成,并与爬坡,遗传算法和两个程序的随​​机搜索结果进行比较; (3)结合基于概率密度估计过程的新想法,以自动定义并指导有希望的地区的搜索; (4)针对生成突变体的测试数据生成问题,对ACO进行了个性化设计;这表明ACO的性能远远优于我们实施的其他元启发式算法。

著录项

  • 作者

    Ayari, Kamel.;

  • 作者单位

    Ecole Polytechnique, Montreal (Canada).;

  • 授予单位 Ecole Polytechnique, Montreal (Canada).;
  • 学科 Engineering Electronics and Electrical.
  • 学位 M.Sc.A.
  • 年度 2007
  • 页码 78 p.
  • 总页数 78
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类 无线电电子学、电信技术;
  • 关键词

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号