Исследователи описали «patchwork problem» в коде, сгенерированном LLM
Исследователи предложили термин «patchwork problem» для описания класса ошибок в коде, созданном LLM. Речь о случаях, когда код компилируется, проходит тесты и выглядит корректным, но после развертывания ломается из-за структурной несогласованности проекта. Среди примеров: обращения к несуществующим конфигурационным ключам, импорты пакетов, которых нет в реестрах, а также маршруты без обязательной аутентификации.
Авторы отмечают, что отдельные изменения могут быть локально правильными, но при этом нарушать целостность всей кодовой базы. По их оценке, стандартные CI-инструменты редко обнаруживают такие проблемы. Как пишет arXiv cs.AI (Artificial Intelligence), в работе структурная согласованность формализуется как набор инвариантов для графовых представлений артефактов репозитория. В их число входят графы импортов, вызовов, зависимостей, конфигураций, схем, ресурсов, control-flow и маршрутизации.
В статье также представлена таксономия из восьми категорий сбоев. Она разделяет дефекты, специфичные для генерации кода LLM, и ошибки, которые такие системы лишь усиливают. Авторы предлагают гибридный подход к проверке кода: использовать существующие инструменты статического анализа там, где они уже показывают эффективность, и дополнять их специализированными механизмами для выявления структурных нарушений.
Ключевые факты
Авторы описывают структурную согласованность через инварианты для графов импортов, вызовов, зависимостей, конфигураций, схем, ресурсов, control-flow и маршрутизации
В работе предложена таксономия из восьми категорий сбоев в коде, связанном с генерацией LLM
Среди примеров ошибок названы ссылки на необъявленные конфигурационные ключи и импорты несуществующих пакетов
Исследователи предлагают гибридную систему проверки, сочетающую существующие инструменты статического анализа и специализированные механизмы верификации