Meta推出基于LLM的软件测试工具

Meta 发布自动化合规强化工具 (ACH)

概述

Meta 推出了自动化合规强化工具 (Automated Compliance Hardening, ACH),这是一个基于大语言模型 (LLM) 的突变引导测试生成系统,旨在提高软件的可靠性和安全性。ACH 通过在源代码中引入故障并生成相应的测试来检测和解决这些问题。

传统方法与 ACH 的区别

  • 传统方法:主要集中在提高代码覆盖率,但这种方法并不总能有效检测故障。
  • ACH 方法:专注于针对特定故障生成测试,而不仅仅是覆盖更多代码。工程师可以使用纯文本描述定义要解决的问题类型,即使这些描述不完整或矛盾,ACH 也能自动生成相应的故障(突变)和测试。

ACH 的工作原理

ACH 利用 LLM 简化了突变测试的过程,具体步骤如下:

  1. 解释工程师对潜在故障的描述
  2. 基于这些描述生成现实的故障
  3. 自动创建测试以识别和解决这些故障

系统架构

ACH 遵循结构化的工作流程,包括以下三个基于 LLM 的关键代理:

  1. 故障生成器 (Fault Generator):根据提供的描述在代码中引入模拟故障。
  2. 等价检测器 (Equivalence Detector):判断新引入的故障是否与原始代码在语义上不同,以避免冗余。
  3. 测试生成器 (Test Generator):创建专门用于捕捉引入故障的测试用例。

ACH 架构/filters:no_upscale()/news/2025/02/meta-ach-tool/en/resources/1Screenshot%202025-02-19%20182611-1739986812835.png)

应用与成果

  • 应用平台:ACH 已在 Facebook Feed、Instagram、Messenger 和 WhatsApp 等多个平台中实施。
  • 初步成果:ACH 帮助工程师针对特定问题强化代码,同时通过优化测试生成流程带来更广泛的好处。

行业反馈

SAP Labs India 的高级开发者 Rajkumar S 表示:

ACH 工具利用 LLM 自动生成代码突变和相应的测试,彻底改变了软件测试方式,是提高代码可靠性和效率的真正游戏规则改变者。测试用例不仅仅是为了代码覆盖率。

未来发展方向

Meta 计划:

  • 扩大 ACH 的部署范围。
  • 改进衡量突变相关性的方法。
  • 增强故障检测机制。

总结

ACH 通过将 LLM 驱动的测试和故障生成集成到大规模工业系统中,代表了自动化软件测试的重大进步,可能会对行业在合规性和质量保证方面的实践产生深远影响。

阅读 15 (UV 14)
0 条评论