中文

揭示 LLM 在验证代码是否符合自然语言规范方面的系统性失效

软件工程 2025-08-19 v1 人工智能

摘要

大型语言模型 (LLM) 已成为软件开发中不可或缺的工具,广泛用于需求工程、代码生成和审查任务。软件工程师常常依赖 LLM 来评估系统代码实现是否满足任务要求,从而提高代码的鲁棒性和准确性。然而,仍不清楚 LLM 是否能够可靠地确定代码是否完全符合给定的任务描述,而这通常是自然语言规范。在本文中,我们发现了 LLM 在评估代码是否与自然语言要求一致时的系统性失效。具体而言,我们采用统一的提示词结合广泛使用的基准测试,对代码正确性进行判断。我们的结果表明,LLM 常常将正确的代码实现误分类为“不满足要求”或包含潜在缺陷。令人惊讶的是,更复杂的提示,特别是当利用涉及解释和提出纠正措施的提示工程技术时,导致更高的误判率,这突显了在将 LLM 作为代码审查助手方面的关键可靠性问题。我们进一步分析了这些误判的根本原因,提出两种改进的提示策略进行缓解。首次,我们的发现揭示了 LLM 匹配代码与要求方面未被认识到的局限性。我们也为在自动化代码审查和任务导向型代理场景中有效使用 LLM 提供了新颖的见解和实用指导。

关键词

引用

@article{arxiv.2508.12358,
  title  = {Uncovering Systematic Failures of LLMs in Verifying Code Against Natural Language Specifications},
  author = {Haolin Jin and Huaming Chen},
  journal= {arXiv preprint arXiv:2508.12358},
  year   = {2025}
}

备注

Accepted to the NIER track of the 40th IEEE/ACM International Conference on Automated Software Engineering (ASE 2025)