基于类型约束的代码生成与语言模型
arXiv:2504.09246 (cs) [2025年4月12日提交 (v1), 最近修订于2025年5月8日 (此版本, v2)]
标题: Type-Constrained Code Generation with Language Models
作者: Niels Mündler, Jingxuan He, Hao Wang, Koushik Sen, Dawn Song, Martin Vechev 查看由Niels M"undler, Jingxuan He, Hao Wang, Koushik Sen, Dawn Song 和 Martin Vechev 撰写的题为 Type-Constrained Code Generation with Language Models 的论文的PDF版本 View PDF
摘要:大型语言模型(LLMs)在代码生成方面取得了显著的成功。然而,由于它们的下一个token推理过程没有对代码的形式化方面进行建模,因此它们仍然经常产生无法编译的输出。虽然约束解码是缓解此问题的一种有前景的方法,但它仅被应用于处理特定领域语言或通用编程语言的语法特征。然而,LLMs经常生成带有类型错误的代码,这些错误超出了语法的范围,并且通常难以充分约束。为了应对这一挑战,我们引入了一种类型约束的解码方法,该方法利用类型系统来指导代码生成。为此,我们开发了新型前缀自动机和对可居住类型的搜索,形成了一种可靠的方法来强制执行LLM生成的代码的良好类型性。我们在一门基础的简单类型语言上形式化了我们的方法,并将其扩展到 TypeScript 以证明实用性。我们对 HumanEval 和 MBPP 数据集的评估表明,我们的方法减少了超过一半的编译错误,并显着提高了各种大小和模型系列的LLM在代码合成、翻译和修复任务中的功能正确性,包括具有超过30B参数的state-of-the-art的开放权重模型。结果表明,我们的方法在用类型系统的形式规则约束LLM代码生成方面的通用性和有效性。 主题: | 机器学习 (cs.LG); 编程语言 (cs.PL) ---|--- 引用为: | arXiv:2504.09246 [cs.LG] (或者 arXiv:2504.09246v2 [cs.LG] 对于此版本) https://doi.org/10.48550/arXiv.2504.09246 Focus to learn more arXiv-issued DOI via DataCite 相关 DOI: | https://doi.org/10.1145/3729274 Focus to learn more DOI(s) linking to related resources
提交历史
来自: Niels Mündler [查看邮件] [v1] 2025年4月12日 15:03:00 UTC (2,798 KB) [v2] 2025年5月8日 09:33:40 UTC (2,667 KB) 全文链接:
访问论文:
查看由Niels M"undler, Jingxuan He, Hao Wang, Koushik Sen, Dawn Song 和 Martin Vechev 撰写的题为 Type-Constrained Code Generation with Language Models 的论文的PDF版本