Boosting Skeleton-Driven SMT Solver Fuzzing by Leveraging LLM to Produce Formula Generators

2508.20340v1 cs.SE, cs.AI, cs.PL 2025-08-30
Авторы:

Maolin Sun, Yibiao Yang, Yuming Zhou

Резюме на русском

#### Контекст Satisfiability Modulo Theory (SMT) solvers являются ключевыми инструментами в области исследований по системам и программированию. Они лежат в основе таких задач, как символьное выполнение и автоматическая проверка. Их достоверность и качество тестовых формул, используемых для выявления ошибок, играют ключевую роль в обеспечении надежности этих систем. Однако современные SMT-решатели постоянно развиваются, что сильно усложняет создание качественных тестов. Ранее разработанные методы показали эффективность на более старых версиях систем, но не могут справиться с новыми функциями, добавляемыми в развивающиеся решатели. Данное исследование ориентировано на решение этой проблемы с помощью нового подхода, использующего Large Language Models (LLM) для генерации тестовых формул. #### Метод Предлагаемый подход, Chimera, представляет собой новую LLM-ориентированную стратегию для fuzzing SMT-решателей. Он отличается двумя основными инновациями. Во-первых, Chimera автоматически извлекает контекст-фри грамматики (CFG) из документации для SMT-теорий, включая расширения, специфичные для каждого способа. Во-вторых, Chimera использует генераторы логических выражений, генерируемые LLMs, для создания термов (логических выражений), которые соответствуют этим грамматикам. Эти термы последуют размещаться в уже существующие структурные шаблоны формул, чтобы обеспечить их синтаксическую корректность и нормативность. Этот подход снижает количество ложных срабатываний и позволяет держать высокую скорость генерации формул. Заметно, что Chimera использует LLMs только один раз в начале, чтобы сгенерировать грамматики, чтобы уменьшить накладные расходы на вычислительной мощности. #### Результаты За счет нового подхода, Chimera позволил выявить 43 багов в двух ведущих SMT-решателях: Z3 и cvc5. Из этих 43, 40 багов уже исправлены разработчиками. Эксперименты показали, что Chimera не только увеличил эффективность тестирования, но и повысил качество тестовых формул, при этом существенно сократив время вычислений. Таким образом, Chimera является эффективным инструментом для тестирования и совершенствования существующих SMT-решателей. #### Значимость Полученные результаты важны для многих областей, таких как формальные методы, автоматизированная проверка, и системы символьного вычисления. Улучшенные методы тестирования могут привести к более надежным и производительным системам. Благодаря инновационной интеграции LLMs, Chimera демонстрирует повышенную эффективность в проверке и генерации тестовых формул. Это позволяет

Abstract

Satisfiability Modulo Theory (SMT) solvers are foundational to modern systems and programming languages research, providing the foundation for tasks like symbolic execution and automated verification. Because these solvers sit on the critical path, their correctness is essential, and high-quality test formulas are key to uncovering bugs. However, while prior testing techniques performed well on earlier solver versions, they struggle to keep pace with rapidly evolving features. Recent approaches based on Large Language Models (LLMs) show promise in exploring advanced solver capabilities, but two obstacles remain: nearly half of the generated formulas are syntactically invalid, and iterative interactions with the LLMs introduce substantial computational overhead. In this study, we present Chimera, a novel LLM-assisted fuzzing framework that addresses both issues by shifting from direct formula generation to the synthesis of reusable term (i.e., logical expression) generators. Particularly, Chimera uses LLMs to (1) automatically extract context-free grammars (CFGs) for SMT theories, including solver-specific extensions, from documentation, and (2) synthesize composable Boolean term generators that adhere to these grammars. During fuzzing, Chimera populates structural skeletons derived from existing formulas with the terms iteratively produced by the LLM-synthesized generators. This design ensures syntactic validity while promoting semantic diversity. Notably, Chimera requires only one-time LLM interaction investment, dramatically reducing runtime cost. We evaluated Chimera on two leading SMT solvers: Z3 and cvc5. Our experiments show that Chimera has identified 43 confirmed bugs, 40 of which have already been fixed by developers.

Ссылки и действия