Uncovering Systematic Failures of LLMs in Verifying Code Against Natural Language Specifications
2508.12358v1
cs.SE, cs.AI
2025-08-19
Авторы:
Haolin Jin, Huaming Chen
Резюме на русском
## Контекст
Large language models (LLMs) широко применяются в программировании для задач, таких как создание кода, его проверка и анализ. Инженеры часто используют LLMs для проверки того, что код соответствует требованиям задач, что позволяет значительно повысить качество и надежность программного обеспечения. Однако недостаточно ясно, насколько эффективно LLMs справляются с такой задачей, так как оценивать соблюдение кода естественно-языковых спецификаций остается сложной задачей. Наши исследования показали, что LLMs могут достаточно часто ошибаться при работе с таким типом задач. Это может привести к серьезным недочетам в работе программного обеспечения. Мы видим следующую проблему: LLMs не всегда выполняются должным образом, а сложные техники подбора ответов в конечном итоге могут ухудшить результат.
## Метод
Мы разработали и использовали процедуры для определения работоспособности LLMs в проверке кода на соответствие естественно-языковым спецификациям. Наши эксперименты основывались на различных стандартных бенчмарках и ситуациях. Мы использовали простые и сложные (с применением техник подбора ответов) управляющие запросы для выявления недостатков LLMs. Наш алгоритм был разработан с учетом возможности анализа потенциальных ошибок и их воспроизведения в различных сценариях. Мы также проанализировали корни проблемы и предложили стратегии для улучшения работы LLMs в такой области.
## Результаты
Мы выявили, что LLMs часто неверно определяют соответствие кода требованиям, в том числе могут ошибиться, воспринимая правильный код за несоответствующий. Даже при использовании более сложных управляющих запросов, в том числе с применением техник подбора ответов, ситуация не улучшается. Наши результаты показывают, что необходимо значительно усовершенствовать технологии LLMs, чтобы они могли более точно оценивать соответствие кода требованиям. Мы также выявили, что некоторые типы ошибок возникают на ранних этапах, что может ухудшить общую надежность LLMs в этой области.
## Значимость
Наши находки могут быть применены в различных сферах, включая автоматизацию кода, кодирование и анализ информационных систем. Мы показали, что LLMs могут стать более эффективными используя наши усовершенствованные методы, что может повысить качество программного обеспечения. Это также может повлиять на развитие новых систем, которые будут более точно оценивать код, и сделать его более надежным.
## Выводы
Мы выявили системные недостатки LLMs в проверке кода на соответствие естественно-языковым требованиям. Наши результаты показывают, что более сложные методы управляющих запросов могут привести к большему количеств
Abstract
Large language models (LLMs) have become essential tools in software
development, widely used for requirements engineering, code generation and
review tasks. Software engineers often rely on LLMs to assess whether system
code implementation satisfy task requirements, thereby enhancing code
robustness and accuracy. However, it remains unclear whether LLMs can reliably
determine whether the code complies fully with the given task descriptions,
which is usually natural language specifications. In this paper, we uncover a
systematic failure of LLMs in evaluating whether code aligns with natural
language requirements. Specifically, with widely used benchmarks, we employ
unified prompts to judge code correctness. Our results reveal that LLMs
frequently misclassify correct code implementations as either ``not satisfying
requirements'' or containing potential defects. Surprisingly, more complex
prompting, especially when leveraging prompt engineering techniques involving
explanations and proposed corrections, leads to higher misjudgment rate, which
highlights the critical reliability issues in using LLMs as code review
assistants. We further analyze the root causes of these misjudgments, and
propose two improved prompting strategies for mitigation. For the first time,
our findings reveals unrecognized limitations in LLMs to match code with
requirements. We also offer novel insights and practical guidance for effective
use of LLMs in automated code review and task-oriented agent scenarios.
Ссылки и действия
Дополнительные ресурсы: