Meta 运用基于大型语言模型的变异测试提升合规覆盖率

作者:Leela Kumili
  • 2026-01-09
    北京
  • 本文字数:1187 字

    阅读完需:约 4 分钟

为了提高其软件系统的合规覆盖率,Meta 已经将大型语言模型应用于变异测试。这种方法将 LLM 生成的变异体(mutants)和测试集成到 Meta 的自动化合规加固(ACH)系统中,消除了传统变异测试在可扩展性和准确性方面的限制。该系统的目标是在满足合规义务的同时保持产品和服务的安全,帮助团队更高效地满足全球监管要求。

 

变异测试是故意在代码中引入一些小的变异体,并检查测试是否能够检测到它们,以此来评估测试套件的有效性。由于变异体数量过多、计算成本高昂且存在价值有限的等效变异体等因素,传统编译测试的应用有限。Meta 的方法是利用大型语言模型生成具备上下文感知能力的变异体以及对应的测试,从而降低噪声并使工程工作聚焦于高价值代码路径。

 

在没有 LLM 指引之前,变异测试依赖于基于规则的静态操作符。这些操作符会无差别地生成大量的变异体,其中许多在语义上与原始代码等价,压跨了测试基础设施和开发流程。

 

Meta的ACH系统使用 LLM 生成恰当的变异体和有针对性的测试,重点关注隐私、安全和监管问题。基于LLM的等价检测器会过滤掉多余的变异体,而测试生成器会生成单元测试,工程师可以进行审查但不需要手动编写,这显著降低了运营开销。Facebook、Instagram、WhatsApp 和 Meta 的可穿戴平台的早期部署产生了数万个变异体和数百个可执行的测试。

ACH 系统架构概览(图片来源:Meta技术博客

 

自从将研究成果纳入 ACH 以来,Meta 在FSE 2025EuroSTAR 2025大会上展示了他们的工作成果,即 LLM 如何帮助他们克服以前限制大规模变异测试的障碍。借助生成式 AI 更高效地生成测试用例,传统上用于评估测试质量的变异测试如今变得更具实用性和可扩展性。

 

正如 Meta 工程团队所强调的那样:

 

从 2024 年 10 月到 12 月,我们尝试在 Facebook、Instagram、WhatsApp 和 Meta 的可穿戴平台上部署了用于隐私测试的 ACH。在数千个变异体和生成的数百个测试中,隐私工程师接受了 73%的测试,其中 36%被判定为与隐私相关。

 

在 ACH 的基础上,Meta 推出了即时捕获测试(JiTTest)挑战赛,旨在探索大型语言模型在自动化软件测试中的应用。该系统会生成强化测试以防止回归问题,并生成捕获测试用于检测新代码或变更代码中的缺陷。它会在拉取请求进入生产环境前生成测试结果以供审核,这既解决了测试预言问题(Test Oracle Problem),又保留了人工监督环节。在 FSE 2025 大会上,Meta 发表了一篇论文,详细阐述了 JiTTest 挑战及其相关的开放研究课题。

 

Meta 表示,LLM 将耗时且容易出错的过程转变为更高效的系统,帮助简化并优化了合规和风险管理框架。正在进行的工作包括:将 ACH 扩展到隐私测试和 Kotlin 之外的更多领域和语言;通过微调和提示工程改进变异体生成;解决测试预言问题。Meta 还在研究开发人员如何与 LLM 生成的测试互动,以提升采用率和可用性。更多研究成果将在即将召开的会议中展示,包括Product@Scale

 

原文链接:

https://www.infoq.com/news/2026/01/meta-llm-mutation-testing/