论文
PR-Aware 自动单元测试生成:挑战和机遇
PR-Aware Automated Unit Test Generation: Challenges and Opportunities
摘要
自动测试生成有大量工作要做,但大多数研究重点是为完整的软件单元(例如类)生成测试,并依赖于代码覆盖率等指标进行评估。相比之下,现代软件开发主要通过拉取请求 (PR) 中引入的小型、有针对性的更改来发展。尽管如此,专门为这些 PR 生成测试的关键任务却被忽视了,并且用于此目的的最先进工具的性能仍然未知。本研究评估了两种不同的 PR 感知测试生成方法:EvoSuite(一种基于搜索的领先工具)和 GPT-4o(广泛使用的 大语言模型 (LLM) 之一)。为了衡量它们在验证 PR 特定更改方面的有效性,我们评估了它们生成失败通过 (F2P) 测试用例的能力,这意味着测试在更改之前的代码上失败并在更改后的代码上通过。我们的评估表明,EvoSuite 的性能优于 GPT-4o,至少生成了一项 F2P 测试,PR 的比例明显更高(36% 对 13%)。 GPT-4o 的性能受到高编译错误率 (63%) 的严重影响,而 EvoSuite 生成的测试中只有 2% 无法运行。尽管 EvoSuite 相对成功,但我们的研究结果表明,这两种工具对于这项任务基本上无效,因为它们未能为大多数 PR(64%)生成任何有意义的变更捕获测试。尽管在我们的评估中,两种生成器都无法实现高 F2P 比率,并且 EvoSuite 的性能优于 GPT-4o,但我们相信代理代码生成方法可能对此任务具有巨大潜力。最终,我们的工作凸显了工具方面的关键差距,并呼吁开发适合现代软件开发增量性质的高性能测试生成器。