arXiv cs.AI· Zhaorui Yang, Haichao Zhu, Qian Zhang, Rajiv Gupta, Ashish Kundu·· 12 小时前AI 评分39
SemLoc:将 LLM 自由形式推理结构化锚定用于故障定位
SemLoc: Structured Grounding of Free-Form LLM Reasoning for Fault Localization
AI 导读
SemLoc 把 LLM 的自由形式推理转成可执行、可验证的语义约束,每条约束带固定类别并锚定到代码图中的变量定义、分支、循环或返回点。
正文 · AI 翻译
摘要:大型语言模型(LLM)能够描述一段代码应当计算什么,但它们是以自由文本的形式进行描述的。这类文本无法对照程序执行结果进行检查,也无法揭示某条陈述是否正确。我们提出 SemLoc,它将 LLM 的推理转化为可执行、可验证的语义约束。借助结构化语义接地,LLM 将每个属性写成一个具有固定类别的约束,并挂接到代码图中的锚点上,例如变量定义、分支、循环或返回语句。SemLoc 将每个约束作为运行时检查插入,并运行测试,从而在通过的测试和失败的测试上得到语义违规谱。随后,反事实验证会在某个锚点处修补代码并重新运行测试;只有当所有测试都通过时,某个约束所建议的补丁才算通过验证。
我们在故障定位任务上研究 SemLoc,其中测试充当验证的判定基准,使用四个 LLM 在 QuixBugs 以及 SemBugs 上进行实验,后者是一个包含来自 750 个 GitHub 项目的 809 个真实缺陷的新数据集。这些约束是可执行的:99.4% 成为运行时检查;在覆盖率将故障行与至少一半的已覆盖行并列的程序上,仅凭这些约束的违规情况就能在 40.9% 的案例中将其排在第一,而基于频谱的故障定位为 2.2%,Daikon 不变式为 7.0%。它们使 LLM 的答案可验证:SemLoc 排名最高的答案中有 68.4% 带有经测试确认的补丁,其中 93.6% 是正确的,而 LLM 自身的置信度无法与之相比。对于四个 LLM 中的任何一个,SemLoc 的第一名准确率与给定相同输入的 LLM 相比均无显著差异(81.4% 对 82.0%),并且远超仅能看到函数的 LLM(50.0%)。
| 主题: | 软件工程(cs.SE);人工智能(cs.AI) |
| ACM 分类: | K.6.3;D.2.5 |
| 引用为: | arXiv:2603.29109 [cs.SE] |
| (或 arXiv:2603.29109v2 [cs.SE] 对应此版本) | |
| https://doi.org/10.48550/arXiv.2603.29109 由 DataCite 颁发的 arXiv DOI |
提交历史
来自:Zhaorui Yang [查看邮箱]
[v1]
2026年3月31日 星期二 00:56:43 UTC(1,087 KB)
[v2]
2026年10月27日 星期二 03:31:22 UTC(345 KB)
来源:arXiv cs.AI · arxiv.org