Seeker: Towards Exception Safety Code Generation with Intermediate Language Agents Framework
Xuanming Zhang, Yuxuan Chen, Yiming Zheng, Zhexin Zhang, Yuan Yuan, Minlie Huang
TL;DR
Open-source code often suffers from fragile exception handling, undermining robustness. The authors propose Seeker, a five-agent intermediate language framework combined with Common Exception Enumeration and a Deep-RAG retrieval strategy to guide robust exception handling in code generation. By decomposing handling into Planner, Detector, Predator, Ranker, and Handler and anchoring decisions to CEE, Seeker standardizes and generalizes exception strategies across inheritance hierarchies and long-tail types. Empirical results on 750 Java snippets and additional benchmarks show substantial gains in detection accuracy, coverage, and code quality, establishing a new state-of-the-art in exception handling for real development scenarios.
Abstract
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.
