Defect predictors, static bug detectors and humans inspecting the code can locate the parts of the program that are buggy before they are discovered through testing. Automated test generators such as search-based software testing (SBST) techniques can use this information to direct their search for test cases to likely buggy code, thus speeding up the process of detecting existing bugs. However, often the predictions given by these tools or humans are imprecise, which can misguide the SBST technique and may deteriorate its performance. In this paper, we study the impact of imprecision in defect prediction on the bug detection effectiveness of SBST. Our study finds that the recall of the defect predictor, i.e., the probability of correctly identifying buggy code, has a significant impact on bug detection effectiveness of SBST with a large effect size. On the other hand, the effect of precision, a measure for false alarms, is not of meaningful practical significance as indicated by a very small effect size. In particular, the SBST technique finds 7.5 less bugs on average (out of 420 bugs) for every 5% decrements of the recall. In the context of combining defect prediction and SBST, our recommendation for practice is to increase the recall of defect predictors at the expense of precision, while maintaining a precision of at least 75%. To account for the imprecision of defect predictors, in particular low recall values, SBST techniques should be designed to search for test cases that also cover the predicted non-buggy parts of the program, while prioritising the parts that have been predicted as buggy.
翻译:然而,这些工具或人类提供的预测往往不精确,可能误导SBST技术,并可能使其性能恶化。在本文中,我们研究缺陷预测不精确对SBST的检测效果的影响。我们的研究发现,对故障预测器的回顾,即正确识别错误代码的概率,对SBST的错误检测效果有重大影响。另一方面,精确性的影响,一种测量错误警报的尺度,如影响小小的尺寸所示,并不具有实际意义。特别是,SBST的技术在对SBST的错误检测效果进行不精确的预测时发现7.5个错误预测(在420个错误中)的平均值。我们的研究发现,对故障预测器(即正确识别错误代码的概率)的回顾,可以对SBST的错误检测效果产生很大影响。另一方面,精确性的影响是精确性,精确性的精确性(SST的精确性)的精确性能,而SB之前的精确性预测的精确性部分则是对成本预测的精确性。在SST的精确性分析中,在S-ST的精确性预测的精确性分析中,在成本的精确性分析中会增加一个特定的精确性分析部分,在SB的精确性预测的精确性方面,在成本的精确性分析中会的精确性分析中会的精确性方面,在成本的精确性分析中会的精确性分析中会增加一个特定的精确性。