Ricerca: Migliorare la Gestione delle Eccezioni nel Codice con un Approccio Multi-Agente basato su LLM
Seeker: Enhancing Exception Handling in Code with LLM-based Multi-Agent Approach
October 9, 2024
Autori: Xuanming Zhang, Yuxuan Chen, Yuan Yuan, Minlie Huang
cs.AI
Abstract
Nello sviluppo di software nel mondo reale, una gestione impropria o mancante delle eccezioni può avere un impatto significativo sulla solidità e affidabilità del codice. I meccanismi di gestione delle eccezioni richiedono ai programmatori di individuare, catturare e gestire le eccezioni secondo standard elevati, ma molti sviluppatori faticano con queste attività, portando a codice fragile. Questo problema è particolarmente evidente nei progetti open source e influisce sulla qualità complessiva dell'ecosistema software. Per affrontare questa sfida, esploriamo l'uso di grandi modelli linguistici (LLM) per migliorare la gestione delle eccezioni nel codice. Attraverso un'analisi approfondita, identifichiamo tre problemi chiave: Rilevamento Insensibile del Codice Fragile, Cattura Inaccurata dei Tipi di Eccezioni e Soluzioni di Gestione Distorte. Questi problemi sono diffusi nei repository del mondo reale, suggerendo che spesso le pratiche robuste di gestione delle eccezioni vengono trascurate o gestite in modo errato. In risposta, proponiamo Seeker, un framework multiagente ispirato alle strategie degli sviluppatori esperti per la gestione delle eccezioni. Seeker utilizza agenti: Scanner, Detector, Predator, Ranker e Handler per assistere i LLM nel rilevare, catturare e risolvere le eccezioni in modo più efficace. Il nostro lavoro è il primo studio sistematico sull'utilizzo dei LLM per migliorare le pratiche di gestione delle eccezioni, fornendo preziose intuizioni per futuri miglioramenti nella affidabilità del codice.
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.