Buscador: Rumo à Geração de Código com Segurança de Exceções com o Framework de Agentes de Linguagem Intermediária

Seeker: Towards Exception Safety Code Generation with Intermediate Language Agents Framework

December 16, 2024
Autores: Xuanming Zhang, Yuxuan Chen, Yiming Zheng, Zhexin Zhang, 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. Os mecanismos de tratamento de exceções requerem que os desenvolvedores detectem, capturem e gerenciem exceções de acordo com altos padrões, mas muitos desenvolvedores enfrentam dificuldades nessas 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 melhorar 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 do Bloco de Exceção e Solução de Tratamento Distorcida. Esses problemas são generalizados em repositórios do mundo real, sugerindo que práticas robustas de tratamento de exceções frequentemente são negligenciadas ou mal gerenciadas. Em resposta, propomos o Seeker, um framework multiagente inspirado em estratégias de desenvolvedores especializados para tratamento de exceções. O Seeker utiliza os 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 a alavancagem de LLMs para aprimorar as práticas de tratamento de exceções em cenários reais de desenvolvimento, 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 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

PDF52December 18, 2024