Measuring LLM Code Generation Stability via Structural Entropy
2508.14288v1
cs.SE, cs.CL
2025-08-22
Авторы:
Yewei Song, Tiezhu Sun, Xunzhu Tang, Prateek Rajput, Tegawende F. Bissyande, Jacques Klein
Резюме на русском
## Контекст
Оценка стабильности генерации кода в крупных языковых моделях (LLM) является ключевым аспектом оценки их надежности в реальном мире. Несмотря на развитие технологий, существуют проблемы, такие как недостаточная универсальность и недостаточная транспарентность в процессе генерации кода. Эти проблемы напрямую влияют на доверие разработчиков к LLM. Для решения этого вызвано внимание на методы, которые могут измерить и проанализировать стабильность генерации кода. В статье предлагается расширенная парадигма "структурной энтропии", которая может быть применена к абстрактным синтаксическим деревьям (AST), чтобы измерить стабильность генерации кода.
## Метод
В статье рассматривается расширенная концепция "структурной энтропии", применяемая к программному коду. На основе абстрактных синтаксических деревьев (AST) полученных из программ, созданных LLMs, вводятся две метрики для измерения стабильности. Первая метрика — Jensen-Shannon Divergence, измеряет степень сходства различных AST. Вторая метрика — Structural Cross-Entropy Ratio, выявляет отсутствие высоко-вероятных узлов в AST. На основе этих метрик можно определить контрольную форму кода и точность генерации токенов. Метод является агностичным к языку и не требует сравнения с оригиналом, что делает его универсальным и эффективным для различных типов кода.
## Результаты
В ходе экспериментов были измерены уровни стабильности генерации кода нескольких лидирующих LLMs. Использовались стандартные кодовые задачи, позволяющие изучить различные аспекты генерации кода, включая контрольную форму и точность генерации токенов. Были получены результаты, показывающие различия в стабильности генерации кода между LLMs. Метод AST-driven structural entropy показал высокую степень детализации в измерении стабильности, включая контрольную форму и точность токенов.
## Значимость
Метод, описанный в статье, может быть использован в различных областях, включая выявление проблем в LLMs, а также в создании более надежного и понятного кода. Его применение позволяет выявлять проблемы в коде, такие как несогласованность в генерации контрольных форм и токенов. Это может привести к улучшению качества кода и уменьшению риска ошибок в реальных приложениях. Также может быть использован как универсальный инструмент для сравнения различных LLMs.
## Выводы
В статье был представлен новый подход к измерению стабильности генерации кода с использованием структурной энтропии и AST-анализа. Этот подход позволил выявить детализированные различия в стабильности LLMs и показал себя как эффективный инструмент для оценки кода. В дальнейших
Abstract
Assessing the stability of code generation from large language models (LLMs)
is essential for judging their reliability in real-world development. We extend
prior "structural-entropy concepts" to the program domain by pairing entropy
with abstract syntax tree (AST) analysis. For any fixed prompt, we collect the
multiset of depth-bounded subtrees of AST in each generated program and treat
their relative frequencies as a probability distribution. We then measure
stability in two complementary ways: (i) Jensen-Shannon divergence, a
symmetric, bounded indicator of structural overlap, and (ii) a Structural
Cross-Entropy ratio that highlights missing high-probability patterns. Both
metrics admit structural-only and token-aware variants, enabling separate views
on control-flow shape and identifier-level variability. Unlike pass@k, BLEU, or
CodeBLEU, our metrics are reference-free, language-agnostic, and
execution-independent. We benchmark several leading LLMs on standard code
generation tasks, demonstrating that AST-driven structural entropy reveals
nuances in model consistency and robustness. The method runs in O(n,d) time
with no external tests, providing a lightweight addition to the code-generation
evaluation toolkit.
Ссылки и действия
Дополнительные ресурсы: