Zoeker: Naar Codegeneratie voor Uitzonderingsveiligheid met het Framework van Tussenliggende Taalagenten
Seeker: Towards Exception Safety Code Generation with Intermediate Language Agents Framework
December 16, 2024
Auteurs: Xuanming Zhang, Yuxuan Chen, Yiming Zheng, Zhexin Zhang, Yuan Yuan, Minlie Huang
cs.AI
Samenvatting
In de softwareontwikkeling in de echte wereld kan onjuiste of ontbrekende uitzonderingsafhandeling een ernstige invloed hebben op de robuustheid en betrouwbaarheid van code. Uitzonderingsafhandelingsmechanismen vereisen van ontwikkelaars dat ze uitzonderingen detecteren, vastleggen en beheren volgens hoge normen, maar veel ontwikkelaars worstelen met deze taken, wat leidt tot kwetsbare code. Dit probleem is met name duidelijk in open-source projecten en heeft invloed op de algehele kwaliteit van het software-ecosysteem. Om deze uitdaging aan te pakken, onderzoeken we het gebruik van grote taalmodellen (LLM's) om de uitzonderingsafhandeling in code te verbeteren. Door uitgebreide analyse identificeren we drie belangrijke problemen: Ongevoelige Detectie van Kwetsbare Code, Onnauwkeurige Vastlegging van Uitzonderingsblok en Verstoorde Afhandelingsoplossing. Deze problemen komen veel voor in repositories in de echte wereld, wat suggereert dat robuuste uitzonderingsafhandelingspraktijken vaak over het hoofd worden gezien of verkeerd worden behandeld. Als reactie hierop stellen we Seeker voor, een multi-agent framework geïnspireerd door strategieën van ervaren ontwikkelaars voor uitzonderingsafhandeling. Seeker maakt gebruik van agenten: Scanner, Detector, Predator, Ranker en Handler om LLM's te helpen bij het effectiever detecteren, vastleggen en oplossen van uitzonderingen. Ons werk is de eerste systematische studie naar het benutten van LLM's om uitzonderingsafhandelingspraktijken in echte ontwikkelscenario's te verbeteren, en biedt waardevolle inzichten voor toekomstige verbeteringen in codebetrouwbaarheid.
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.