SpecRover: Code Intent Extraction via LLMs
Haifeng Ruan, Yuntong Zhang, Abhik Roychoudhury

TL;DR
SpecRover leverages large language models to iteratively infer specifications from code and project structure, improving automated program repair efficacy and providing better explanations for patch confidence.
Contribution
This work introduces SpecRover, a low-cost, iterative specification inference workflow that enhances program repair and patch vetting using LLMs and project analysis.
Findings
Over 50% improvement in repair efficacy on SWE-Bench.
Modest cost of $0.65 per GitHub issue resolved.
Enhanced explanations improve developer confidence in patches.
Abstract
Autonomous program improvement typically involves automatically producing bug fixes and feature additions. Such program improvement can be accomplished by a combination of large language model (LLM) and program analysis capabilities, in the form of an LLM agent. Since program repair or program improvement typically requires a specification of intended behavior - specification inference can be useful for producing high quality program patches. In this work, we examine efficient and low-cost workflows for iterative specification inference within an LLM agent. Given a GitHub issue to be resolved in a software project, our goal is to conduct iterative code search accompanied by specification inference - thereby inferring intent from both the project structure and behavior. The intent thus captured is examined by a reviewer agent with the goal of vetting the patches as well as providing a…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsNatural Language Processing Techniques · Web Application Security Vulnerabilities · Mathematics, Computing, and Information Processing
