摘要
arXiv:2502.11844v2 通告类型: replace-cross
摘要:程序的自动生成长期以来一直是计算机科学中的一个基本挑战。最近的基准测试显示,大规模语言模型(LLMs)能够有效地在函数级别生成代码、修改代码,并解决算法编码任务。然而,要实现完全自动化,LLMs 应该能够生成生产级别的、自包含的应用模块。为了评估 LLMS 在解决这一挑战方面的能力,我们引入了 BaxBench,这是一个由 392 个任务组成的新型评估基准,用于生成后端应用程序。我们重点关注后端的原因有三方面:(i)它们具有实际相关性,构成了大多数现代 Web 和云软件的核心组件;(ii)它们很难做对,需要多个函数和文件来实现所需的功能;(iii)它们是关键安全领域,因为它们向不可信第三方暴露,因此防止部署时攻击的安全解决方案至关重要。BaxBench 使用全面的测试用例验证生成的应用程序的功能性,并通过端到端执行漏洞测试来评估其安全暴露程度。我们的实验揭示了当前 LLMS 在功能性和安全性方面的一些关键限制:(i)即使是最好的模型,OpenAI o1,代码正确性也只能达到 60%;(ii)平均而言,在每个 LLMS 正确生成的程序中,我们成功执行了超过一半的安全漏洞测试;(iii)在不那么流行的后端框架中,模型进一步难以生成正确且安全的应用程序。BaxBench 上的进步标志着使用 LLMS 实现自主和安全软件开发的重要步骤。