论文标题
使用缺陷预测来提高基于搜索的软件测试的错误检测能力
Using Defect Prediction to Improve the Bug Detection Capability of Search-Based Software Testing
论文作者
论文摘要
自动测试生成器,例如基于搜索的软件测试(SBST)技术,取代了手动编写测试用例的繁琐而昂贵的任务。 SBST技术可有效地生成具有高码覆盖率的测试。但是,高码覆盖范围是否足以最大程度地提高发现的错误数量?我们认为,SBST需要专注于在有缺陷的区域中搜索测试用例,而不是在代码的非缺陷领域中搜索测试案例,以最大程度地发现发现错误的可能性。缺陷预测算法提供了有关软件中容易发生区域的有用信息。因此,我们制定了本文的目的:\ textit {通过合并缺陷预测信息来提高SBST的错误检测能力}。 To achieve this, we devise two research objectives, i.e., 1) Develop a novel approach (SBST$_{CL}$) that allocates time budget to classes based on the likelihood of classes being defective, and 2) Develop a novel strategy (SBST$_{ML}$) to guide the underlying search algorithm (i.e., genetic algorithm) towards the defective areas in a class.通过对缺陷4J数据集中434个实际报告的错误进行的经验评估,我们证明了我们的新颖方法SBST $ _ {Cl} $比在资源约束环境中给予紧张的时间预算时,与TAR SBST的状态相比,SBST $ _ {Cl} $要高得多。
Automated test generators, such as search based software testing (SBST) techniques, replace the tedious and expensive task of manually writing test cases. SBST techniques are effective at generating tests with high code coverage. However, is high code coverage sufficient to maximise the number of bugs found? We argue that SBST needs to be focused to search for test cases in defective areas rather in non-defective areas of the code in order to maximise the likelihood of discovering the bugs. Defect prediction algorithms give useful information about the bug-prone areas in software. Therefore, we formulate the objective of this thesis: \textit{Improve the bug detection capability of SBST by incorporating defect prediction information}. To achieve this, we devise two research objectives, i.e., 1) Develop a novel approach (SBST$_{CL}$) that allocates time budget to classes based on the likelihood of classes being defective, and 2) Develop a novel strategy (SBST$_{ML}$) to guide the underlying search algorithm (i.e., genetic algorithm) towards the defective areas in a class. Through empirical evaluation on 434 real reported bugs in the Defects4J dataset, we demonstrate that our novel approach, SBST$_{CL}$, is significantly more efficient than the state of the art SBST when they are given a tight time budget in a resource constrained environment.