论文

云模拟器的自动合成

Automated Synthesis of Cloud Emulators

摘要

DevOps 编程(例如,使用 CLI/API 脚本或 IaC 框架)是云基础设施管理的关键。与传统的编程任务不同,DevOps 程序测试需要针对实际的云资源进行配置和执行,这通常非常耗时、不安全且成本高昂。云模拟器因简化 DevOps 程序测试而广受欢迎;它们通常是 API 级模拟,可以在本地环境中执行 DevOps 程序。尽管如此,构建这些模拟器仍然具有挑战性:开发人员必须手动解释每个服务、API 及其交互的大量云文档和手工逻辑。这无法适应云的复杂性,随着服务和 API 的发展,云的复杂性进一步成为一个不断变化的目标。 CloudEmu 是一种自动化方法,可通过神经符号代码合成基于云文档构建模拟器。关键思想是将 LLM 在文档理解和代码生成方面的一般优势与特定于云的符号抽象相结合,以抑制幻觉并大规模增强精度,同时使用真实的云作为自动化测试、修复和对齐的预言机。我们的评估显示了 CloudEmu 在主要云提供商(AWS 和 GCP)服务上的覆盖率和准确性方面的有效性。 CloudEmu 的性能优于现有的领先工具 LocalStack,后者是由大型工程师团队十多年来手动开发的。