Abordagem: Melhorando o Tratamento de Exceções no Código com Base em LLM e Abordagem Multiagente
Seeker: Enhancing Exception Handling in Code with LLM-based Multi-Agent Approach
October 9, 2024
Autores: Xuanming Zhang, Yuxuan Chen, Yuan Yuan, Minlie Huang
cs.AI
Resumo
No desenvolvimento de software do mundo real, o tratamento inadequado ou ausente de exceções pode impactar severamente a robustez e confiabilidade do código. Mecanismos de tratamento de exceções exigem que os desenvolvedores detectem, capturem e gerenciem exceções de acordo com altos padrões, mas muitos desenvolvedores têm dificuldade com essas tarefas, resultando em código frágil. Esse problema é particularmente evidente em projetos de código aberto e afeta a qualidade geral do ecossistema de software. Para enfrentar esse desafio, exploramos o uso de grandes modelos de linguagem (LLMs) para aprimorar o tratamento de exceções no código. Através de uma análise extensiva, identificamos três questões-chave: Detecção Insensível de Código Frágil, Captura Inexata de Tipos de Exceção e Soluções de Tratamento Distorcidas. Esses problemas são generalizados em repositórios do mundo real, sugerindo que práticas robustas de tratamento de exceções são frequentemente negligenciadas ou mal gerenciadas. Em resposta, propomos Seeker, um framework multiagente inspirado em estratégias de desenvolvedores especializados para tratamento de exceções. Seeker utiliza agentes: Scanner, Detector, Predator, Ranker e Handler para auxiliar os LLMs na detecção, captura e resolução de exceções de forma mais eficaz. Nosso trabalho é o primeiro estudo sistemático sobre o aproveitamento de LLMs para aprimorar práticas de tratamento de exceções, fornecendo insights valiosos para futuras melhorias na confiabilidade do código.
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