NeuroAST:一种用于检测大语言模型代码翻译幻觉的确定性两阶段验证器及其性能边界

《IEEE Access》:NeuroAST: Progressive Neuro-Symbolic Verification for Algorithmic Code Translation

【字体: 大 中 小 】 时间:2026年10月27日 来源:IEEE Access 4.2

编辑推荐:

  **摘要:** 大语言模型能流利地将代码从一种语言翻译成另一种语言,但无法提供保证:那些能够编译且读起来很自然的翻译结果,可能悄悄丢失条件、发明控制结构或改变依赖语义。如今,要检测这些翻译幻觉,需要全面的测试套件,而算法型代码库往往并不具备。我们要探究的是:确定性的程序分析,能

  **摘要:**大语言模型能流利地将代码从一种语言翻译成另一种语言,但无法提供保证:那些能够编译且读起来很自然的翻译结果,可能悄悄丢失条件、发明控制结构或改变依赖语义。如今,要检测这些翻译幻觉,需要全面的测试套件,而算法型代码库往往并不具备。我们要探究的是:确定性的程序分析,能否作为一种快速、无需执行的“事后验证器”,用于检测大语言模型生成的翻译结果,以及它的检测边界到底在哪里。我们提出了 **NeuroAST**,这是一个用于 C 语言到 Java 算法代码翻译的渐进式两阶段验证器:轻量级的基于抽象语法树(AST)的结构匹配可在毫秒级过滤候选幻觉;然后,对于结构上“干净”的翻译,进行跨语言归一化程序依赖图(NormPDG)比较,以检查依赖是否被保留;同时,一个“惯用法感知容错引擎”会将真正的语义偏离与合法的跨语言变换区分开来。在三个大语言模型(7B–70B)对 IBM CodeNet 算法问题的 600 个翻译结果中,结构分析涵盖了 2,877 个被标记的候选幻觉中的 98% 以上,其中“发明构造”(55–61%)构成了最大的类别——这一分布在不同规模的模型上保持稳定。对 257 个已标记实例进行分层人工审计,在最常见的“发明”类别中,精度达到 91.2%(95% 置信区间 [84.9%, 95.0%];N=125;标注者间一致性 κ=0.81);在所有五个类别中,整体精度为 65.4% [59.4%, 70.9%](按总体加权:69.4%)。合成故障注入显示,对于占所评估语料库检测结果 98% 以上的结构性故障类别,其灵敏度为 100%;但对于保持结构不变的语义故障,灵敏度仅为 22–24%——这是一个明确的范围边界。以 NeuroAST 的结构标记为基准,一个大语言模型“自审法官”仅对 12.2% 的被标记文件表示同意(在其能解析的文件中占 35.8%),而一个独立的 Llama-3.3-70B 法官同意率为 32.0%,且其每文件延迟是 NeuroAST 的 1,500–25,000 倍。这些结果表明……
相关新闻
生物通微信公众号
微信
新浪微博
  • 搜索
  • 国际
  • 国内
  • 人物
  • 产业
  • 热点
  • 科普

热点排行

    今日动态 | 人才市场 | 新技术专栏 | 中国科学人 | 云展台 | BioHot | 云讲堂直播 | 会展中心 | 特价专栏 | 技术快讯 | 免费试用

    版权所有 生物通

    Copyright© eBiotrade.com, All Rights Reserved

    联系信箱:

    粤ICP备09063491号