Meta 发布自动化合规强化工具 (ACH)
概述
Meta 推出了自动化合规强化工具 (Automated Compliance Hardening, ACH),这是一个基于大语言模型 (LLM) 的突变引导测试生成系统,旨在提高软件的可靠性和安全性。ACH 通过在源代码中引入故障并生成相应的测试来检测和解决这些问题。
传统方法与 ACH 的区别
- 传统方法:主要集中在提高代码覆盖率,但这种方法并不总能有效检测故障。
- ACH 方法:专注于针对特定故障生成测试,而不仅仅是覆盖更多代码。工程师可以使用纯文本描述定义要解决的问题类型,即使这些描述不完整或矛盾,ACH 也能自动生成相应的故障(突变)和测试。
ACH 的工作原理
ACH 利用 LLM 简化了突变测试的过程,具体步骤如下:
- 解释工程师对潜在故障的描述。
- 基于这些描述生成现实的故障。
- 自动创建测试以识别和解决这些故障。
系统架构
ACH 遵循结构化的工作流程,包括以下三个基于 LLM 的关键代理:
- 故障生成器 (Fault Generator):根据提供的描述在代码中引入模拟故障。
- 等价检测器 (Equivalence Detector):判断新引入的故障是否与原始代码在语义上不同,以避免冗余。
- 测试生成器 (Test Generator):创建专门用于捕捉引入故障的测试用例。
/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 驱动的测试和故障生成集成到大规模工业系统中,代表了自动化软件测试的重大进步,可能会对行业在合规性和质量保证方面的实践产生深远影响。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。