论文
LLM 生成的测试套件的覆盖率和突变分数与其有效性相关吗? (可重复性研究)
Do Coverage and Mutation Scores of LLM-Generated Test Suites Correlate with Their Effectiveness? (Replicability Study)
摘要
大语言模型 (LLM) 的最新进展激发了人们对使用 LLM 自动生成测试的兴趣。先前的工作通常使用代码覆盖率和突变分数等代理指标来评估生成的测试套件。然而,Inozemtseva 等人的研究。和帕帕达基斯等人。研究表明,对于人工编写的测试,一旦控制了测试套件的大小,覆盖率、突变和真实错误检测之间的相关性就会在很大程度上消失,这引发了人们对基于代理指标的评估有效性的担忧。鉴于流行的基于 LLM 的测试生成工作流程与传统方法有很大不同,目前还不清楚这些结论是否适用于 LLM 生成的测试。在本文中,我们使用由不同的 LLM 集生成的广泛测试套件对这两项先前的工作进行了大规模的复制研究,并重新检查了覆盖率、突变和真实错误检测有效性之间的关系。我们的研究结果与之前的结果存在很大差异。我们证明了覆盖率和变异的有用性是高度依赖于上下文的:在回归风格的设置中,可以合理地假设提供给 LLM 的代码没有错误,这些指标在跨模型比较时可以提供有意义的信号;在另一种常见情况下,被测代码可能已经存在错误,并且目标是暴露被测代码中的错误,它们不再充当可靠的指标。我们还发现几乎没有证据表明测试套件大小是 LLM 生成的测试的覆盖率、突变和真实错误检测之间相关性的主要混杂因素。基于这些发现,我们讨论如何解释先前研究的结果,并为评估基于 LLM 的测试生成提供可行的指导。