论文标题
通过随机森林偶然正确正确的测试用例检测
Detection of Coincidentally Correct Test Cases through Random Forests
论文作者
论文摘要
基于覆盖的故障本地化的性能在很大程度上取决于正在执行的测试案例的质量。这些测试用例执行给定程序的某些行,并确定基础测试是否通过还是失败。特别是,在执行错误的陈述时,某些测试用例可能会得到很好的行为(即通过)。这些测试用例,也称为偶然正确的测试用例,可能会对基于光谱的故障定位的性能产生负面影响,因此作为自动调试目的的工具的帮助较小。换句话说,这些偶然正确的测试用例的参与可能会引起故障定位计算的噪音,从而导致有效地将可能的错误定位在给定代码中的位置。在本文中,我们提出了一种合奏学习的混合方法,并结合了有监督的学习算法,即随机森林(RF),目的是正确识别被错误标记为通过的测试案例的测试用例。还报道了对翻转测试状态或修剪的经济有效分析(即从计算中删除)重合正确的测试用例。
The performance of coverage-based fault localization greatly depends on the quality of test cases being executed. These test cases execute some lines of the given program and determine whether the underlying tests are passed or failed. In particular, some test cases may be well-behaved (i.e., passed) while executing faulty statements. These test cases, also known as coincidentally correct test cases, may negatively influence the performance of the spectra-based fault localization and thus be less helpful as a tool for the purpose of automated debugging. In other words, the involvement of these coincidentally correct test cases may introduce noises to the fault localization computation and thus cause in divergence of effectively localizing the location of possible bugs in the given code. In this paper, we propose a hybrid approach of ensemble learning combined with a supervised learning algorithm namely, Random Forests (RF) for the purpose of correctly identifying test cases that are mislabeled to be the passing test cases. A cost-effective analysis of flipping the test status or trimming (i.e., eliminating from the computation) the coincidental correct test cases is also reported.