中文

基于变异引导的 Meta LLM 测试生成

软件工程 2025-01-23 v1 人工智能 机器学习

摘要

本文描述了 Meta 的 ACH 系统用于变异引导的 LLM 测试生成。ACH 生成的突变体数量较传统突变测试少得多。相反,它专注于生成当前未被检测到的、特定于关心的问题的故障。从这些当前未被捕获的故障中,ACH 生成能够捕获这些故障的测试,从而“杀死”突变体,从而加强平台抵抗 regression 的能力。我们利用隐私问题来说明我们的方案,但 ACH 可以加强代码抵抗任何类型的 regression。在总计方面,ACH 被应用于 Meta 部署的 7 个软件平台上的 10,795 个 Android Kotlin 类中,生成了 9,095 个突变体和 571 个隐私加固测试用例。ACH 还部署了一个基于 LLM 的等效突变体检测代理,实现了 0.79 的精确率和 0.47 的召回率(经过简单的预处理后分别提升至 0.95 和 0.96)。ACH 被用于 Messenger 和 WhatsApp 的测试马拉松中,其中工程师接受了其 73% 的测试,判定 36% 与隐私相关。我们得出结论,ACH 加强了代码抵抗特定关切的问题,并且即使其测试不直接针对特定关切,工程师也发现它们对于其他益处有用。

关键词

引用

@article{arxiv.2501.12862,
  title  = {Mutation-Guided LLM-based Test Generation at Meta},
  author = {Christopher Foster and Abhishek Gulati and Mark Harman and Inna Harper and Ke Mao and Jillian Ritchey and Hervé Robert and Shubho Sengupta},
  journal= {arXiv preprint arXiv:2501.12862},
  year   = {2025}
}

备注

Submitted to FSE 2025 Industry Track