Исследователи представили SeGaBench — бенчмарк для оценки способности больших языковых моделей восстанавливать семантику программ, упущенную стандартными компиляторами C/C++. Модели анализируют гетерогенный контекст кода, чтобы находить возможности для оптимизации, которые недоступны классическим алгоритмам из-за отсутствия необходимых семантических данных в промежуточном представлении программы. Результаты показывают потенциал ИИ в автоматизации низкоуровневой оптимизации кода.

Современные компиляторы опираются на строгие правила анализа потока данных, которые часто не учитывают высокоуровневые намерения разработчика или контекст, скрытый в сложных структурах кода. LLM, обладая способностью к интерпретации семантического контекста, могут выявлять паттерны, которые позволяют применять агрессивные трансформации кода без нарушения его логики и контрактов.

Использование ИИ в этой области направлено на создание «валидируемых артефактов», где модель предлагает оптимизацию, а компилятор или специализированный верификатор подтверждает её корректность. Это позволяет преодолеть ограничения статических анализаторов, которые часто вынуждены отказываться от потенциально эффективных преобразований из-за консервативных оценок безопасности.

Ключевые факты

  • SeGaBench включает 100 синтетических тестов и 20 примеров, основанных на реальном исходном коде.
  • Основная цель — восстановление семантики, которую пропускают стандартные оптимизирующие компиляторы.
  • Исследование сфокусировано на языках программирования C и C++.
  • Метод предполагает генерацию оптимизаций, сохраняющих исходные контракты и семантическую корректность программы.