On Integrating Large Language Models and Scenario-Based Programming for Improving Software Reliability
2509.09194v1
cs.SE, cs.AI, 68N19
2025-09-13
Авторы:
Ayelet Berzack, Guy Katz
Резюме на русском
## Контекст
Large Language Models (LLMs) стали незаменимыми инструментами для разработчиков программного обеспечения, помогая имитировать участие человека в создании программного кода. Однако, несмотря на их выгоды, LLMs могут вводить серьезные ошибки, выдавая неверный код с высоким уровнем уверенности. Это может мишенить разработчиков и привести к использованию недостатнного решения. В этой работе, мы рассматриваем возможность интеграции LLMs с Scenario-Based Programming (SBP) -- подходом, ориентированным на создание программных решений с помощью сценариев и событий. Наша цель -- создать методологию, которая позволит повысить надежность программ, используя LLMs в сочетании с традиционными приемами программирования.
## Метод
Мы предлагаем интегрировать LLMs с SBP, позволяя разработчикам внедрять свой опыт в LLMs. Это позволит проверять и визуализировать выходные данные LLMs, улучшая надежность программ. Наш подход включает в себя сценарий-ориентированный подход, где LLMs используются как специализированные помощники, а разработчики могут управлять их поведением и проверять результаты. Мы также полагаемся на структурированную архитектуру SBP, которая помогает разделить задачи на меньшие, более управляемые этапы.
## Результаты
Мы провести совершенно новую систему, которая использует LLMs для создания сценариев и SBP для проверки и управления поведением LLM. Мы протестировали нашу систему в рамках случайного сценария -- игру Connect4. Наше решение позволило создать сильного агента, который мог проигрывать существующим профессиональным агентам. Мы также доказали возможность формального верификации поведения агента, что демонстрирует надежность нашего подхода.
## Значимость
Предложенная система может относиться к различным сферам, включая игровое программирование, автоматизацию процедур разработки и поддержки разработчиков. Наш подход демонстрирует следующие преимущества: повышение надежности, упрощение разработки, улучшение возможностей проверки и визуализации. Мы считаем, что наш подход может существенно повлиять на развитие систем, которые сочетают ЛС и традиционные методы программирования.
## Выводы
Мы показали, что интеграция LLMs с SBP может стать мощным инструментом для улучшения надежности программного обеспечения. Наши результаты открывают новые пути для будущих исследований в области интеграции ЛС и традиционных подходов в программировании. Мы планируем расширить нашу систему для работы с более сложными задачами и типами программ.
Abstract
Large Language Models (LLMs) are fast becoming indispensable tools for
software developers, assisting or even partnering with them in crafting complex
programs. The advantages are evident -- LLMs can significantly reduce
development time, generate well-organized and comprehensible code, and
occasionally suggest innovative ideas that developers might not conceive on
their own. However, despite their strengths, LLMs will often introduce
significant errors and present incorrect code with persuasive confidence,
potentially misleading developers into accepting flawed solutions.
In order to bring LLMs into the software development cycle in a more reliable
manner, we propose a methodology for combining them with ``traditional''
software engineering techniques in a structured way, with the goal of
streamlining the development process, reducing errors, and enabling users to
verify crucial program properties with increased confidence. Specifically, we
focus on the Scenario-Based Programming (SBP) paradigm -- an event-driven,
scenario-based approach for software engineering -- to allow human developers
to pour their expert knowledge into the LLM, as well as to inspect and verify
its outputs.
To evaluate our methodology, we conducted a significant case study, and used
it to design and implement the Connect4 game. By combining LLMs and SBP we were
able to create a highly-capable agent, which could defeat various strong
existing agents. Further, in some cases, we were able to formally verify the
correctness of our agent. Finally, our experience reveals interesting insights
regarding the ease-of-use of our proposed approach. The full code of our
case-study will be made publicly available with the final version of this
paper.
Ссылки и действия
Дополнительные ресурсы: