Ansatz: Verbesserung der Fehlerbehandlung im Code mit einem auf LLM basierenden Multi-Agenten-Ansatz
Seeker: Enhancing Exception Handling in Code with LLM-based Multi-Agent Approach
October 9, 2024
Autoren: Xuanming Zhang, Yuxuan Chen, Yuan Yuan, Minlie Huang
cs.AI
Zusammenfassung
In der Softwareentwicklung der realen Welt kann eine unzureichende oder fehlende Ausnahmebehandlung die Robustheit und Zuverlässigkeit des Codes erheblich beeinträchtigen. Mechanismen zur Ausnahmebehandlung erfordern von Entwicklern, Ausnahmen nach hohen Standards zu erkennen, zu erfassen und zu verwalten, doch viele Entwickler haben Schwierigkeiten mit diesen Aufgaben, was zu fragilen Codes führt. Dieses Problem ist besonders in Open-Source-Projekten offensichtlich und beeinflusst die Gesamtqualität des Software-Ökosystems. Um dieser Herausforderung zu begegnen, untersuchen wir den Einsatz großer Sprachmodelle (LLMs) zur Verbesserung der Ausnahmebehandlung im Code. Durch umfangreiche Analysen identifizieren wir drei Hauptprobleme: Empfindliche Erkennung von fragilen Codes, ungenaue Erfassung von Ausnahmetypen und verzerrte Lösungen zur Behandlung. Diese Probleme sind in der realen Welt weit verbreitet, was darauf hindeutet, dass robuste Praktiken zur Ausnahmebehandlung häufig übersehen oder falsch gehandhabt werden. Als Antwort schlagen wir Seeker vor, ein Multi-Agenten-Framework, das von Strategien erfahrener Entwickler für die Ausnahmebehandlung inspiriert ist. Seeker verwendet Agenten: Scanner, Detector, Predator, Ranker und Handler, um LLMs bei der effektiveren Erkennung, Erfassung und Lösung von Ausnahmen zu unterstützen. Unsere Arbeit ist die erste systematische Studie zur Nutzung von LLMs zur Verbesserung von Praktiken zur Ausnahmebehandlung und liefert wertvolle Erkenntnisse für zukünftige Verbesserungen in der Code-Zuverlässigkeit.
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