SemAgent: A Semantics Aware Program Repair Agent

📅 2025-06-19
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
Existing program repair agents suffer from insufficient semantic understanding, leading to overfitting and poor generalization due to excessive focus on suspicious code lines. This work proposes a semantics-driven, two-stage intelligent repair agent—the first to jointly integrate problem semantics (generalized abstract modeling), code semantics (context-sensitive understanding with multi-line collaborative isolation), and execution semantics (trace analysis and context-aware retrieval)—to establish a “repair–review” dual-phase decision workflow. The method significantly enhances robustness against multi-line bugs and edge-case failures. Evaluated on SWEBench-Lite, it achieves a 44.66% task resolution rate, outperforming the strongest baseline by 7.66 percentage points and surpassing all prior workflow-based approaches.

Technology Category

Application Category

📝 Abstract
Large Language Models (LLMs) have shown impressive capabilities in downstream software engineering tasks such as Automated Program Repair (APR). In particular, there has been a lot of research on repository-level issue-resolution benchmarks such as SWE-Bench. Although there has been significant progress on this topic, we notice that in the process of solving such issues, existing agentic systems tend to hyper-localize on immediately suspicious lines of code and fix them in isolation, without a deeper understanding of the issue semantics, code semantics, or execution semantics. Consequently, many existing systems generate patches that overfit to the user issue, even when a more general fix is preferable. To address this limitation, we introduce SemAgent, a novel workflow-based procedure that leverages issue, code, and execution semantics to generate patches that are complete - identifying and fixing all lines relevant to the issue. We achieve this through a novel pipeline that (a) leverages execution semantics to retrieve relevant context, (b) comprehends issue-semantics via generalized abstraction, (c) isolates code-semantics within the context of this abstraction, and (d) leverages this understanding in a two-stage architecture: a repair stage that proposes fine-grained fixes, followed by a reviewer stage that filters relevant fixes based on the inferred issue-semantics. Our evaluations show that our methodology achieves a solve rate of 44.66% on the SWEBench-Lite benchmark beating all other workflow-based approaches, and an absolute improvement of 7.66% compared to our baseline, which lacks such deep semantic understanding. We note that our approach performs particularly well on issues requiring multi-line reasoning (and editing) and edge-case handling, suggesting that incorporating issue and code semantics into APR pipelines can lead to robust and semantically consistent repairs.
Problem

Research questions and friction points this paper is trying to address.

Addresses hyper-localized fixes without deeper semantic understanding
Improves patch generation to avoid overfitting to specific issues
Enhances multi-line reasoning and edge-case handling in repairs
Innovation

Methods, ideas, or system contributions that make the work stand out.

Leverages execution semantics for context retrieval
Comprehends issue-semantics via generalized abstraction
Two-stage architecture: repair and reviewer stages
🔎 Similar Papers
No similar papers found.