Исследование: Направленность на генерацию кода с обеспечением безопасности исключений с использованием промежуточного языка и агентов фреймворка.
Seeker: Towards Exception Safety Code Generation with Intermediate Language Agents Framework
December 16, 2024
Авторы: Xuanming Zhang, Yuxuan Chen, Yiming Zheng, Zhexin Zhang, Yuan Yuan, Minlie Huang
cs.AI
Аннотация
В разработке программного обеспечения реального мира неправильная или отсутствующая обработка исключений может серьезно повлиять на надежность и надежность кода. Механизмы обработки исключений требуют от разработчиков обнаруживать, захватывать и управлять исключениями в соответствии с высокими стандартами, но многие разработчики испытывают затруднения с этими задачами, что приводит к хрупкому коду. Эта проблема особенно заметна в проектах с открытым исходным кодом и влияет на общее качество программной экосистемы. Для решения этой проблемы мы исследуем применение больших языковых моделей (LLM) для улучшения обработки исключений в коде. Проведя обширный анализ, мы выявляем три ключевых проблемы: Нечувствительное обнаружение хрупкого кода, Неточный захват блока исключения и Искаженное решение обработки. Эти проблемы широко распространены в репозиториях реального мира, что указывает на то, что надежные практики обработки исключений часто игнорируются или неправильно обрабатываются. В ответ мы предлагаем Seeker, многоагентную платформу, вдохновленную стратегиями опытных разработчиков по обработке исключений. Seeker использует агентов: Сканер, Детектор, Хищник, Ранкер и Обработчик для помощи LLM в более эффективном обнаружении, захвате и разрешении исключений. Наша работа является первым систематическим исследованием по использованию LLM для улучшения практик обработки исключений в реальных сценариях разработки, предоставляя ценные идеи для будущих улучшений в надежности кода.
English
In real world software development, improper or missing exception handling
can severely impact the robustness and reliability of code. Exception handling
mechanisms require developers to detect, capture, and manage exceptions
according to high standards, but many developers struggle with these tasks,
leading to fragile code. This problem is particularly evident in open-source
projects and impacts the overall quality of the software ecosystem. To address
this challenge, we explore the use of large language models (LLMs) to improve
exception handling in code. Through extensive analysis, we identify three key
issues: Insensitive Detection of Fragile Code, Inaccurate Capture of Exception
Block, and Distorted Handling Solution. These problems are widespread across
real world repositories, suggesting that robust exception handling practices
are often overlooked or mishandled. In response, we propose Seeker, a
multi-agent framework inspired by expert developer strategies for exception
handling. Seeker uses agents: Scanner, Detector, Predator, Ranker, and Handler
to assist LLMs in detecting, capturing, and resolving exceptions more
effectively. Our work is the first systematic study on leveraging LLMs to
enhance exception handling practices in real development scenarios, providing
valuable insights for future improvements in code reliability.Summary
AI-Generated Summary