论文
Viverra:有保证的文本到代码
Viverra: Text-to-Code with Guarantees
摘要
文本到代码的一个基本限制是无法保证生成代码的正确性。因此,为了确保其正确性,生成的代码仍然需要开发人员进行审查、测试和维护。然而,解析 LLM 生成的代码可能非常乏味且耗时,可能会抵消 AI 编码工具所承诺的生产力提升。为了应对这一挑战,我们推出了 Viverra,这是一个系统,可以自动生成经过形式验证的注释以及生成的代码,以帮助用户理解生成的程序。给定自然语言任务描述,Viverra 提示 LLM 合成 C 程序以及表达安全性和正确性属性的候选断言。然后,它通过有界模型检查器组合以组合和尽力的方式验证这些断言。对 18 种不同编程任务的评估表明,Viverra 可以有效地生成具有经过验证的断言的代码,并且这些断言提高了用户在超过 400 名参与者的用户研究中执行代码理解任务的表现。