近日,来自莱斯大学、德州大学奥斯汀分校和威斯康星大学的研究团队在NeurIPS 2021上发表的论文《Neural Program Generation Modulo Static Analysis》,提出了一种突破性的神经符号代码生成模型NSG。该模型将深度学习的模式识别能力与编译器静态分析的符号逻辑相结合,显著提升了Java方法体的自动生成质量。

传统LLM(如CodeGPT)采用逐词预测模式,而NSG创新性地基于BNF语法构建语法树。研究团队在模型训练中引入符号表弱监督机制——通过传统编译器算法实时生成变量类型声明等上下文信息,指导神经网络生成符合语义约束的语法节点。在包含160万Java方法的测试集上,仅用6300万参数的NSG模型,对比1.3B参数的GPT-Neo,其代码静态检查通过率从67%跃升至86%,AST结构相似度达到后者的两倍。

Cadence验证事业部总经理Paul Cunningham强调,EDA工具中硬件描述语言的代码生成对语义准确性要求极高。NSG的语法树递归生成架构,可天然适配SystemVerilog等复杂工业语言的符号系统。研究显示,该模型在变量作用域管理、类型匹配等维度的错误率较LLM降低50%以上,对芯片验证中的断言生成、测试基准构建等场景具有重要价值。

Silicon Catalyst专家Raúl Camposano进一步指出,神经符号编程将是下一代EDA智能化的关键方向。通过将形式化验证规则编码为符号属性文法,不仅能提升代码生成质量,还可为数字电路的形式化验证提供可解释性更强的AI解决方案。随着3nm以下工艺对验证效率要求的提升,这类融合符号推理的生成式AI或将在RTL代码综合、功耗分析等领域引发变革。