Amélioration de la gestion des exceptions dans le code avec une approche multi-agent basée sur LLM
Seeker: Enhancing Exception Handling in Code with LLM-based Multi-Agent Approach
October 9, 2024
Auteurs: Xuanming Zhang, Yuxuan Chen, Yuan Yuan, Minlie Huang
cs.AI
Résumé
Dans le développement de logiciels du monde réel, une gestion incorrecte ou absente des exceptions peut avoir un impact grave sur la robustesse et la fiabilité du code. Les mécanismes de gestion des exceptions exigent des développeurs qu'ils détectent, capturent et gèrent les exceptions selon des normes élevées, mais de nombreux développeurs éprouvent des difficultés avec ces tâches, ce qui conduit à un code fragile. Ce problème est particulièrement visible dans les projets open source et affecte la qualité globale de l'écosystème logiciel. Pour relever ce défi, nous explorons l'utilisation de grands modèles de langage (GML) pour améliorer la gestion des exceptions dans le code. À travers une analyse approfondie, nous identifions trois problèmes clés : Détection insensible du code fragile, Capture inexacte des types d'exceptions, et Solutions de gestion déformées. Ces problèmes sont répandus dans les dépôts du monde réel, suggérant que les bonnes pratiques de gestion des exceptions sont souvent négligées ou mal gérées. En réponse, nous proposons Seeker, un cadre multi-agent inspiré des stratégies de développeurs experts pour la gestion des exceptions. Seeker utilise des agents : Scanner, Détecteur, Prédateur, Classeur et Gestionnaire pour aider les GML à détecter, capturer et résoudre les exceptions de manière plus efficace. Notre travail est la première étude systématique sur l'exploitation des GML pour améliorer les pratiques de gestion des exceptions, fournissant des perspectives précieuses pour les améliorations futures de la fiabilité du code.
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
Types, and Distorted Handling Solutions. 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, providing valuable insights for future improvements in code
reliability.Summary
AI-Generated Summary