论文

离散扩散约束代码生成

Constrained Code Generation with Discrete Diffusion

模型推理解码与生成控制

摘要

离散扩散模型是一种强大的、新兴的代码生成范例。他们通过对部分损坏的词元序列进行迭代细化来构建程序,并实现并行词元细化。重要的是,该范例在每个去噪步骤中公开了全局程序状态,这为强制执行程序级功能和安全约束提供了自然的干预点,从而在提交最终代码之前指导生成。基于这一观察,本文介绍了代码约束扩散 (CDC),这是一种 无需训练 神经符号推理框架,可将约束满足直接集成到反向去噪过程中。 CDC 通过约束感知去噪算子增强了基础离散扩散采样器,这些算子将数学优化与程序分析相结合,以识别中间程序状态的约束相关区域并局部调整去噪轨迹,引导生成走向可行的程序,同时保持接近基本模型。在代码生成基准测试中,CDC 不断提高功能正确性、安全性甚至语法方面的约束满意度,以更少的校正计算和更多的本地化编辑优于离散扩散和自回归基线。