alphaFeedback

WorksComputer Science

ExploreRepair: Evidence-Specialized Agents for Vulnerability Repair under Information Constraints

AI contributions
Not recorded for this paper
View details

Abstract

Automated vulnerability repair must often operate with incomplete vulnerability information: developers may lack an accurate vulnerability classification or a provided proof-of-vulnerability (PoV) test, yet still need to produce a repair. Without detailed information, a key challenge is to explore multiple plausible interpretations of the vulnerability before committing to a repair. To address this challenge, we propose ExploreRepair, a vulnerability repair framework that reconciles the vulnerability observations and repair implementations from a team of exploration agents. We first collect these observations and repair implementations from three agents, each tasked with exploring a specific dimension of the vulnerability. Then, a Lesson Aggregator and a Patch Aggregator independently synthesize repairs from these observations and concrete implementations before a final Aggregator reconciles their proposals without benchmark feedback. On PatchEval, ExploreRepair achieves repair success rates of 39.6% and 71.6% with GPT-5.6-Luna and DeepSeek-V4.1-Flash, respectively, exceeding EvoRepair, a state-of-the-art vulnerability repair approach, by 16.0 and 25.4 percentage points. On VulnLoc+, it achieves success rates of 51.4% and 62.9%, respectively, exceeding LoopRepair's variant without PoV tests by 20.0 and 17.1 percentage points.

Introduction

Automated vulnerability repair (AVR) focuses on removing security flaws while preserving intended program behavior ([5, 39, 40, 17, 35, 13, 7]). Recent approaches depend on complete vulnerability information, such as detailed vulnerability descriptions or proof-of-vulnerability (PoV) tests, to guide repair. These artifacts help characterize the flaw and guide patch generation, for example by providing feedback for validating and refining candidate repairs.

In practice, developers often have to fix vulnerabilities without access to critical vulnerability information, as it is frequently missing or unavailable ([6, 25]). For example, only 4.1% of 75,807 CVEs had an available public PoV within one year of disclosure ((Householder et al., 2020)). Nevertheless, state-of-the-art AVR approaches, such as EvoRepair and ContraFix, depend on information available from a complete vulnerability analysis, including PoVs and oracle feedback, to guide repair ([15] (Hu et al. 2026)).

In this study, we investigate vulnerability repair without complete information. This setting reflects real-world practice, in which such information is frequently missing, especially for newly discovered vulnerabilities whose fixes are urgently required. To compensate for the loss of complete vulnerability information, a repair method has to explore the codebase to gather evidence while avoiding premature commitment to an incorrect repair hypothesis.

The need to simultaneously consider heterogeneous evidence types makes this task difficult. First, the vulnerable code location provides incomplete structural evidence, e.g., information about how inputs can reach the code, and parallel repair sites may lie elsewhere in the repository ([27]). Second, source code provides incomplete semantic evidence, e.g., the relevant API contract and intended behavior must be reconstructed. Third, the absence of a ground-truth PoV removes executable evidence that demonstrates the vulnerable behavior.

To this end, we propose ExploreRepair, a vulnerability repair framework with two phases, exploration and aggregation. During exploration, three independent, evidence-specialized agents investigate repository structure, infer developer intent, or construct and execute a PoV. Each agent returns a candidate patch and the trajectory of its exploration.

During aggregation, the agents’ trajectories and patches are hierarchically aggregated to leverage their complementary information and avoid committing to a single dimension of analysis. First, we use an LLM to distill the agents’ trajectories and candidate patches into lessons that capture their vulnerability observations and supporting evidence. Next, the Lesson Aggregator and Patch Aggregator independently synthesize repairs from the distilled lessons and candidate patches, respectively. This allows the two aggregators to consider the agents’ vulnerability diagnoses and concrete repair implementations separately. Finally, the Aggregator reconciles their proposals, combining complementary changes and resolving conflicting assumptions to produce the final repair.

We evaluate EXPLOREREPAIR on 169 Python, JavaScript, and Go vulnerabilities from PatchEval [30] and 35 C/C++ vulnerabilities from VulnLoc+ [35]. On PatchEval, EXPLOREREPAIR achieves repair success rates of 39.6% and 71.6% with GPT-5.6-Luna and DeepSeek-V4.1-Flash, respectively, exceeding a single-agent baseline using the same model by 7.1 and 14.2 percentage points. Our framework also outperforms EvoRepair, a state-of-the-art vulnerability repair approach, by 16.0 and 25.4 percentage points, respectively. These results demonstrate that EXPLOREREPAIR’s improvements are unlikely to be attributable to additional tools or instructions. On VulnLoc+, EXPLOREREPAIR achieves repair success rates of 51.4% and 62.9%, exceeding LoopRepair by 20.0 and 17.1 percentage points. Even when LoopRepair is given access to the ground-truth PoV, EXPLOREREPAIR outperforms it by 2.9 and 11.4 percentage points, respectively.

In short, this paper makes three contributions:

  • We formulate information-constrained vulnerability repair as a task of repairing the vulnerability using repository context without relying on vulnerability metadata or oracle feedback.

  • We propose EXPLOREREPAIR, a new automated vulnerability repair approach that employs evidence-specialized exploration with hierarchical lesson–patch aggregation to guide repair generation.

  • We evaluate EXPLOREREPAIR on two benchmarks comprising 204 vulnerabilities in total, showing that it substantially outperforms state-of-the-art vulnerability repair methods.

Related Work

Automated Vulnerability Repair

Recent program analysis-based approaches generate repairs from executions that trigger the vulnerability. They often require language-specific analyses or a demonstration of the security flaw [9, 5, 39] (Shariffdeen et al. 2025). For example, LoopRepair requires a PoV test and uses information from its execution to refine C/C++ patches [35].

Training-based approaches learn from historical fixes using CWE knowledge, security patterns, or compiler feedback [40, 13, 32, 38]. Recent LLM-based repair systems use repository context [17, 8, 22] to understand vulnerabilities. For example, IntentFix analyzes the codebase and reconstructs developer intent when synthesizing a repair. EvoRepair (Hu et al., 2026) retrieves experiences from earlier repairs, guided by ground-truth PoV tests. ContraFix [15] mutates the PoV to contrast runtime behavior. KeaRepair [1] combines verified program facts with knowledge from historical fixes. AgenticRepair [4] uses a multi-agent approach to examine different context sources. Similar to EXPLOREREPAIR, these methods coordinate agents for codebase exploration; however, they do not prevent premature commitment to an incorrect repair.

Multi-Agent Reasoning and Trajectory Distillation

Multi-agent systems assign software tasks to specialized roles, as in MetaGPT and ChatDev [10, 21, 11]. Related systems coordinate agents for code generation, review, vulnerability detection, and general program repair [28, 16, 31, 2, 12]. While most organize agents around discussion of a shared task, EXPLOREREPAIR assigns each agent to explore a different dimension of the codebase independently.

While prior work used multi-agent approaches, such approaches do not automatically improve diversity or correctness [3]. In particular, incorrect initial analysis can mislead other agents [18, 36, 41]. To avoid this, EXPLOREREPAIR uses independent agents for exploration, with each agent specializing in a single evidence type.

ExploreRepair architecture

Figure 1. EXPLOREREPAIR has two phases. (1) In its exploration phase, three exploration agents independently produce trajectories and patches. (2) In its aggregation phase, the Lesson Aggregator and Patch Aggregator synthesize repairs from the agents’ observations and repair implementations, respectively. The final Aggregator reconciles these two repairs. Trajectory distillation uses an LLM to summarize exploration trajectories and candidate patches into role-specific lessons, and aggregation trajectories into lessons for the final Aggregator.

An agent’s trajectory is a sequence of thoughts, actions, and environment observations generated while solving a task [34]. Prior work summarizes information from trajectories into feedback, workflows, or reusable strategies [24, 29, 33]. ReasoningBank distills lessons from successful and failed trajectories for later retrieval [20]. Because each trajectory is lengthy and excessively large contexts can lead to confused reasoning [14], EXPLOREREPAIR distills each agent’s exploration into lessons during aggregation, before synthesizing the repair.

Problem Setting

Let CC denote the repository at its vulnerable revision and let ℓ\ell denote a function-level localization hint containing one or more file and line ranges. Prior AVR methods may also receive additional vulnerability information, such as CWE labels or developer-written PoV tests, as well as feedback from evaluating candidate patches against a benchmark oracle. We denote these artifacts by FF.

In an information-constrained vulnerability repair setting, the repair agent A\mathcal{A} receives only (C,ℓ)(C,\ell). It can inspect the repository’s code and can execute its test suites, but has no access to FF. It produces a single patch pp:

p=A(C,ℓ).p = \mathcal{A}(C,\ell).

An ideal patch should eliminate the vulnerability, as determined by the benchmark’s PoV test. At the same time, it should preserve existing functionality, as assessed by the repository’s unit tests [37, 22, 26].

ExploreRepair

Overview

Figure 1 outlines EXPLOREREPAIR, which is a two-phase approach. First, in its exploration phase, EXPLOREREPAIR invokes three exploration agents that collect evidence along different dimensions of analysis. Second, in the aggregation phase, the trajectories and patches produced by each exploration agent are distilled into lessons before they are aggregated into a single final patch, produced as the output of EXPLOREREPAIR.

In the exploration phase, each of the three exploration agents is individually tasked with producing a repair for the vulnerability. To do so, each agent must collect and consider evidence along its assigned dimension of the codebase that may be relevant to the repair. One agent collects structural evidence captured in a Code Knowledge Graph. The graph represents files, functions, and classes and their call and import relationships, extracted from abstract syntax trees (ASTs). We also use Git history to link files changed in the same commit. The Intent agent collects semantic evidence by focusing on reconstructing developer intent. Finally, the PoV agent focuses on constructing executable evidence of the vulnerability. Each exploration agent produces a pair of a trajectory and a candidate patch. These outputs are used in the aggregation phase.

In the aggregation phase, to leverage the diverse information produced by the different evidence-specialized agents, the trajectories and patches are hierarchically aggregated. First, we use an LLM to distill each agent’s trajectory and candidate patch into a role-specific lesson covering code structure, developer intent, or observed execution, together with the proposed change and remaining uncertainties. Next, in parallel, the Lesson Aggregator synthesizes a repair from the lessons, while the Patch Aggregator synthesizes one from the exploration agents’ patches. Each of these aggregators captures a complementary aspect of the repair. The former captures the agents’ diagnoses and inferred security constraints, while the latter preserves concrete implementation details that may be lost during distillation. The final Aggregator then reconciles the two proposals by examining their supporting evidence and implementation choices, combining compatible changes or resolving conflicting assumptions to produce the final repair.

Evidence-Specialized Exploration

Structural Evidence

The Code Knowledge Graph agent investigates the code related to the localized function (Figure 2a). For each vulnerability, we construct a graph of functions, classes, and files from abstract syntax trees. Call edges connect callers and callees, import edges connect dependent files, and shared-commit edges connect files that developers changed together. We also embed the node text in a vector store for that vulnerability.

The three exploration agents: Code Knowledge Graph, Intent, and PoV

Figure 2. The three exploration agents receive the same repository and localization hint. They investigate (a) repository structure, (b) intended behavior and trust constraints, and (c) failures that demonstrate the vulnerability.

The agent uses two tools to query the graph. search_code retrieves nodes related to a natural-language or code query, and graph_neighbors returns calls and imports connected to a selected node. The agent traces how external inputs reach the localized function, examines helpers and validators, and compares related paths that perform similar operations. It uses these findings to diagnose the vulnerability and produce a patch, returning its trajectory alongside the patch.

Semantic Evidence

The Intent agent reconstructs developer intent by identifying the expected behavior and trust assumptions before attempting a repair (Figure 2b). It addresses four questions adapted from IntentFix [8]: what specification or API contract governs the code, who can reach it and control its inputs, what resources it protects, and what constraints should hold for untrusted data. From these observations, the agent infers up to five security constraints that should be enforced.

The agent answers these questions in order and supports its claims with file and line references. It records uncertainty when the repository does not provide enough information. It then identifies where the implementation violates the inferred constraints and produces a patch, returning the trajectory that explains its diagnosis.

Executable Evidence

The PoV agent constructs a test to demonstrate the vulnerability it has inferred (Figure 2c). It first traces attacker-controlled input from a public API, command-line interface, or endpoint to the localized code. It then writes and executes a PoV test against the vulnerable repository, revising the test until the observed behavior demonstrates the suspected security violation. Finally, it repairs the root cause and reruns the same test to check the repair.

The agent derives this test from the repository and its own diagnosis. It cannot access the developer-written PoV used for benchmark evaluation. The prompt prohibits weakening the generated test or adding a repair specific to its input, and asks the agent to address the underlying flaw in production code. The agent returns its patch and the execution observations that support it.

Hierarchical Evidence Aggregation

The aggregation phase requires ExploreRepair to aggregate its findings while leveraging the complementary information from the trajectories and proposed patches. Each agent provides a trajectory and a proposed patch. Its trajectory provides evidence and justification for its diagnosis, while its proposed patch provides implementation details, such as the code locations where new code should be added.

The Lesson Aggregator and Patch Aggregator first synthesize repairs separately, allowing each to examine the information in its inputs before a final Aggregator reconciles their proposals. This process has three steps.

1) Distilling the agents’ observations. We use a separate LLM call to distill each agent’s trajectory and candidate patch into a short lesson. The lesson records the suspected vulnerability, supporting code locations or execution observations, proposed change, and unresolved claims. The LLM accounts for the agent’s role: structural lessons focus on code paths and repair locations, semantic lessons focus on expected behavior and trust constraints, and executable lessons focus on the observed violation and the effect of the patch.

2) Aggregating observations and implementations separately. The Lesson Aggregator receives the three lessons and synthesizes a repair from the agents’ observations. In parallel, the Patch Aggregator receives the three candidate diffs and synthesizes a repair from their concrete implementations. Both can inspect the original repository and are instructed to check the supplied attempts, since any of them may be incorrect. The lessons provide the reasoning and uncertainty behind a repair, while the patches retain implementation details that the lessons may omit.

3) Reconciling the repair proposals. After the Lesson Aggregator and Patch Aggregator propose their repairs, we use an LLM to distill each aggregator’s trajectory into a lesson. The final Aggregator receives these two lessons and their corresponding patches, checks their claims against the repository, and produces the final patch. It can adopt one repair, combine compatible changes, reject assumptions shared by both attempts, or construct a new patch. Its decision uses the supplied observations, implementation details, and repository code.

Experimental Setup

Benchmark

PatchEval provides runnable test artifacts and pre-built Docker images for 230 CVEs across Python, JavaScript, and Go ([30]). Of the 176 instances with both a PoV and a unit-test suite, we exclude seven whose benchmark test patches do not compile against the vulnerable repository. We evaluate on the remaining 169 vulnerabilities: 64 in Python, 49 in JavaScript, and 56 in Go. Table 1 summarizes their vulnerability types.

Table caption: PatchEval CVEs by language and CWE. A CVE may have multiple CWEs; Other groups the 27 types with fewer than 10 instances.

Vulnerability TypeCWEPyJSGoTotal
Path traversalCWE-22144927
Code injectionCWE-94119626
Ext. file path controlCWE-73144725
Command injectionCWE-77117624
OS command injectionCWE-78116623
Open redirectCWE-60166416
Unnecessary privilegesCWE-25062412
Improper privilege mgmt.CWE-26962412
Improper authorizationCWE-28562412
SQL injectionCWE-8943411
Missing authorizationCWE-862–4610
Other (27 CWEs)24252978
CVEs644956169

Table 1.

To evaluate transfer to C/C++, we use VulnLoc+, the benchmark introduced with LoopRepair ([35]). We use 35 of the 40 vulnerabilities included in the benchmark, excluding vulnerabilities whose PoV tests already pass on the vulnerable version before a correct patch is applied. VulnLoc+ provides PoVs but no unit tests. Table 2 summarizes the vulnerabilities in the benchmark.

Table caption: VulnLoc+ ([35]) vulnerabilities by type. The benchmark spans 9 C projects.

TypeProjectsTotal
Buffer overflow923
Integer overflow33
Divide by zero23
Null-pointer dereference22
Data-type overflow12
Use after free12
Vulnerabilities935

Table 2.

Metrics

On PatchEval, a patch is considered plausible if it passes the benchmark PoV test and successful if it also passes the repository’s unit tests. Let NN denote the number of evaluated CVEs, SS the number of successful repairs, and PP the number of plausible patches. We report Repair Success Rate (RSR) and Overfitting Rate (OFR) as percentages:

RSR=SN×100,OFR=P−SN×100.\mathrm{RSR} = \frac{S}{N} \times100,\qquad\mathrm{OFR} = \frac{P-S}{N} \times100.

OFR measures the proportion of all evaluated CVEs whose patches pass the PoV but fail the repository’s unit tests. As VulnLoc+ does not provide unit tests, we measure RSR using the benchmark PoV alone and do not report OFR for this benchmark.

Baselines

We compare EXPLOREREPAIR with IntentFix, which infers developer intent ([8]), and EvoRepair, which retrieves experiences from prior trajectories ((Hu et al., 2026)). We adapt EvoRepair to exclude ground-truth PoVs and benchmark evaluation feedback. On VulnLoc+, we evaluate LoopRepair, a C/C++ repair approach ([35]), in its released PoV-assisted setting and a no-PoV variant. We also include a standalone LLM, Single Agent, and Multi-Agent. Baseline configurations are provided in Appendix § 12.

Exploration and Aggregation Configurations

We evaluate the 3-in-1 Agent to compare independent exploration against combining all three exploration mechanisms within a single agent. We also compare four aggregation configurations using the same exploration agents’ outputs.

3-in-1 Agent. The 3-in-1 Agent extends the Single Agent baseline with Code Knowledge Graph tools, Intent guidance, and PoV-generation guidance. It uses all three exploration mechanisms within a single trajectory to investigate the vulnerability and produce a repair. This allows us to compare joint exploration within one agent against independent explorations followed by hierarchical aggregation.

Patch and Lesson Aggregators. We also compare four aggregation configurations using the same exploration agents’ outputs. The Patch Aggregator receives only the exploration agents’ candidate patches. The Lesson Aggregator receives only the three lessons distilled from their observations. Direct Lessons + Patches gives one agent the three lessons and candidate patches together. In the complete system, the Lesson Aggregator and Patch Aggregator independently produce repairs. The final Aggregator receives these repairs and their distilled lessons, then reconciles their proposals.

General-Purpose Coding Agent

We also compare EXPLOREREPAIR with Codex, OpenAI’s general-purpose coding agent ([19]), to assess whether specialized exploration and aggregation improve vulnerability repair beyond a general-purpose coding workflow. Codex uses its native agent loop and receives the same repository and localization hint, with benchmark artifacts removed and external capabilities disabled. We run Codex with GPT-5.6-Luna and DeepSeek-V4.1-Flash.

Implementation and Hardware

Our experiments use OpenAI GPT-5.6-Luna and DeepSeek-V4.1-Flash through OpenRouter. We set a time limit for each phase to 1800 s per vulnerability. The Code Knowledge Graph agent uses bge-large-en-v1.5 to embed code and retrieves k=5k = 5 locations. We run the agents in isolated, network-disabled Docker containers with the repository at its vulnerable commit. To prevent data leakage, we remove benchmark PoVs, reference patches, and grading scripts from the containers. Repository tests remain available. Throughout the experiments, the agents do not have access to the benchmark evaluation code or results. The experiments were run on a machine running Ubuntu. 22.04.5, with an AMD EPYC 7763 processor and 251 GB of RAM.

Results

Overall Repair Effectiveness

We investigate the overall effectiveness of EXPLOREREPAIR. Table 3 shows the experimental results of the baselines, individual exploration agents, and EXPLOREREPAIR on PatchEval.

ApproachGPT-5.6-LunaDeepSeek-V4.1-Flash
RSR ↑ (OFR ↓)
IntentFix4.7% (1.2%)9.5% (1.2%)
EvoRepair23.7% (3.0%)46.2% (1.8%)
LLM10.7% (1.2%)23.7% (2.4%)
Multi-Agent30.2% (1.2%)55.6% (1.2%)
Single Agent32.5% (0.6%)57.4% (0.6%)
Codex34.3% (0.6%)43.8% (0.6%)
Structural (Graph)36.1% (1.2%)55.6% (0.0%)
Semantic (Intent)29.6% (0.0%)59.8% (0.0%)
Executable (PoV)33.7% (0.0%)58.0% (0.6%)
3-in-1 Agent30.8% (1.2%)53.3% (0.6%)
EXPLOREREPAIR39.6% (0.0%)71.6% (0.6%)

Table 3. Repair outcomes on 169 PatchEval vulnerabilities. Each entry reports Repair Success Rate (RSR) followed by Overfitting Rate (OFR) in parentheses.

EXPLOREREPAIR outperforms EvoRepair under the same information constraints. EvoRepair retrieves experiences from prior trajectories to guide successive repair attempts (Hu et al., 2026). With the adaptation described in § 5.3, it achieves an RSR of 23.7% using GPT-5.6-Luna. EXPLOREREPAIR achieves 39.6%, a gain of 16.0 percentage points (Table 3). EvoRepair’s OFR is 3.0%, compared with 0.0% for EXPLOREREPAIR. With DeepSeek-V4.1-Flash, EvoRepair achieves an RSR of 46.2%, compared with 71.6% for EXPLOREREPAIR, a gain of 25.4 percentage points. Its OFR is 1.8%, compared with 0.6% for EXPLOREREPAIR.

EXPLOREREPAIR achieves the highest repair success rate with both models. With GPT-5.6-Luna, EXPLOREREPAIR achieves an RSR of 39.6%, a gain of 7.1 percentage points compared with 32.5% for Single Agent. With DeepSeek-V4.1-Flash, its RSR is 71.6%, compared with 57.4% for Single Agent, a gain of 14.2 percentage points. IntentFix achieves RSRs of 4.7% and 9.5%, yielding gains of 34.9 and 62.1 percentage points for EXPLOREREPAIR, respectively. EXPLOREREPAIR’s OFR is 0.0% with GPT-5.6-Luna and 0.6% with DeepSeek-V4.1-Flash, compared with 0.6% for Single Agent with either model.

Multi-Agent achieves RSRs of 30.2% with GPT-5.6-Luna and 55.6% with DeepSeek-V4.1-Flash, below Single Agent and EXPLOREREPAIR with both models. The improvements of EXPLOREREPAIR over the multi-agent baseline suggest that generic subagent delegation does not achieve the benefits of evidence-specialized explorations and hierarchical aggregation. These results show that the effectiveness of EXPLOREREPAIR goes beyond a single model.

The strongest exploration agent differs between models. The Code Knowledge Graph agent performs best with GPT-5.6-Luna, achieving an RSR of 36.1%, whereas the Intent agent performs best with DeepSeek-V4.1-Flash, achieving 59.8%. Neither agent performs best with both models. Full results are available in Appendix § 9.

Aggregating independent explorations outperforms the 3-in-1 Agent. The 3-in-1 Agent, which has access to all three exploration mechanisms, achieves RSRs of 30.8% with GPT-5.6-Luna and 53.3% with DeepSeek-V4.1-Flash. EXPLOREREPAIR improves on these rates by 8.9 and 18.3 percentage points, respectively. This suggests that agents struggle to correctly reason over the different evidence types. The results show the effectiveness of aggregating independent explorations of each dimension.

Aggregation Analysis

To understand the contribution of the aggregation phase to the effectiveness of EXPLOREREPAIR, we conduct a detailed ablation analysis. In these experiments, we compare the Lesson Aggregator, Patch Aggregator, Direct Lessons + Patches, and the complete EXPLOREREPAIR using the same exploration agents’ outputs.

Reconciling the two aggregators’ repairs improves success rates. EXPLOREREPAIR achieves RSRs of 39.6% and 71.6%, exceeding both separate aggregators and Direct Lessons + Patches. Compared with the stronger separate aggregator, the final Aggregator repairs one additional vulnerability with GPT-5.6-Luna and four with DeepSeek-V4.1-Flash, corresponding to gains of 0.6 and 2.4 percentage points, respectively.

ConfigurationGPT-5.6-LunaDeepSeek-V4.1-Flash
Lesson Aggregator39.1% (0.6%)63.9% (0.6%)
Patch Aggregator37.3% (0.6%)69.2% (1.2%)
Direct Lessons + Patches37.3% (0.6%)67.5% (0.6%)
EXPLOREREPAIR39.6% (0.0%)71.6% (0.6%)

Table 4. Effectiveness of different aggregation methods on PatchEval. Each entry reports Repair Success Rate (RSR) followed by Overfitting Rate (OFR) in parentheses. RSR ↑\uparrow (OFR ↓\downarrow)

Aggregation enables successful repairs even when all three exploration agents fail. On PatchEval, EXPLOREREPAIR successfully repairs 11 vulnerabilities with DeepSeek-V4.1-Flash and 3 vulnerabilities with GPT-5.6-Luna that none of the three exploration agents could repair individually. These results demonstrate that aggregation can produce successful repairs by combining information from individually unsuccessful explorations.

The stronger aggregator differs between models. While EXPLOREREPAIR outperforms the baselines with both models, there are differences in the individual performance of each aggregator. The Lesson Aggregator outperforms the Patch Aggregator with GPT-5.6-Luna, achieving an RSR of 39.1% versus 37.3%, while the Patch Aggregator performs better with DeepSeek-V4.1-Flash, achieving 69.2% versus 63.9%. Direct Lessons + Patches achieves RSRs of 37.3% and 67.5%, respectively. With either model, giving the lessons and patches to one agent does not outperform the stronger of the two separate aggregators.

C/C++ Programming Language Transfer

Next, we investigate whether EXPLOREREPAIR’s effectiveness transfers to other programming languages. Table 5 compares EXPLOREREPAIR with LoopRepair on VulnLoc+. We run LoopRepair both with its required PoV and without it.

ApproachGPT-5.6-LunaDeepSeek-V4.1-Flash
LoopRepair + PoV48.6%51.4%
LoopRepair (no PoV)31.4%45.7%
Single Agent48.6%57.1%
EXPLOREREPAIR51.4%62.9%

Table 5. Repair Success Rate (RSR) on 35 VulnLoc+ C/C++ vulnerabilities. OFR cannot be measured because this benchmark has no unit tests. LoopRepair + PoV receives the ground-truth PoV while the other configurations do not. RSR ↑\uparrow

The framework transfers to C/C++. Without access to a provided PoV, EXPLOREREPAIR achieves RSRs of 51.4% with GPT-5.6-Luna and 62.9% with DeepSeek-V4.1-Flash, compared with 31.4% and 45.7% for LoopRepair without a PoV, gains of 20.0 and 17.1 percentage points, respectively. Even when LoopRepair receives the ground-truth PoV, EXPLOREREPAIR achieves higher RSRs, exceeding it by 2.9 and 11.4 percentage points, respectively.

Comparison with a General-Purpose Coding Agent

Next, we compare EXPLOREREPAIR with Codex [19] using GPT-5.6-Luna and DeepSeek-V4.1-Flash at medium reasoning effort. Both receive the same localization hint and repository, with external capabilities disabled. Codex uses its native agent loop, and EXPLOREREPAIR uses ReAct agents with the exploration and aggregation phases. As Table 3 shows, EXPLOREREPAIR achieves an RSR of 39.6%, compared with 34.3% for Codex, a gain of 5.3 percentage points. Their OFRs are 0.0% and 0.6%, respectively. With DeepSeek-V4.1-Flash, EXPLOREREPAIR achieves an RSR of 71.6%, compared with 43.8% for Codex, a gain of 27.8 percentage points. Both have an OFR of 0.6%. Under the same model and vulnerability information, EXPLOREREPAIR’s exploration and aggregation also outperform a general-purpose coding agent.

Conclusion

We propose EXPLOREREPAIR, which collects vulnerability observations and repair implementations from three exploration agents. A Lesson Aggregator and a Patch Aggregator independently synthesize repairs from these outputs, and a final Aggregator reconciles their proposals without benchmark feedback. Experiments on PatchEval and VulnLoc+ show that EXPLOREREPAIR outperforms the evaluated baselines, including IntentFix, LoopRepair, other LLM-based approaches, and Codex. We plan to expand the evaluation of EXPLOREREPAIR to a more diverse range of programming languages in future work.

Limitations

First, EXPLOREREPAIR’s results depend on the underlying LLM. While EXPLOREREPAIR outperforms the baselines for the two models used in our experiments, the strongest exploration agent differs between them. As such, the experimental results are likely to vary with other models, prompts, or sampling seeds. We ran the experiments three times at a sampling temperature of 1, with repair counts varying by at most one across runs.

Second, some baselines were designed to use vulnerability reports or PoVs. Removing these artifacts transforms the setting for which the baseline approaches were designed. We preserved their original code where possible, and thoroughly assessed the implementation details. During this process, we identified an evaluation flaw in IntentFix’s replication package, which has been confirmed by its authors.

Ethical Considerations

Automated repair can help maintainers respond to security flaws, but an incorrect patch may give developers unwarranted confidence in the repair. Automated repair methods can also reveal exploitable behavior that can be used by malicious adversaries. However, advances in offensive capabilities also increase the need to improve automated defensive tools.

Our experiments use vulnerabilities from public benchmarks within isolated, network-disabled containers. Agents used in our experiments were prevented from communicating over the network and interacting with other deployed systems. The replication package contains repair infrastructure and public benchmark outputs, but excludes credentials and previously undisclosed vulnerabilities.

References

Motivation for Hierarchical Evidence Aggregation

We compare the vulnerabilities successfully repaired by each exploration agent to determine whether the agents repair different vulnerabilities. The analysis uses the same 169 PatchEval vulnerabilities as § 6.1. Each set contains the vulnerabilities whose patches pass both the benchmark PoV and unit tests. We count unsuccessful or missing attempts as failures. Figure 3 shows the overlap for both models.

Venn diagrams showing overlap among successful repairs by Code Knowledge Graph, Intent, and PoV agents for (a) GPT-5.6-Luna and (b) DeepSeek-V4.1-Flash; totals are Code Knowledge Graph (61), Intent (50), PoV (57), and Code Knowledge Graph (94), Intent (101), PoV (98), respectively

Figure 3. Overlap among successful repairs from the three evidence-specialized agents on 169 PatchEval vulnerabilities. Numbers indicate repairs achieved by exactly the agents whose circles intersect in that region; totals appear beside the agent names.

Each agent repairs vulnerabilities that the others miss. With GPT-5.6-Luna, the Code Knowledge Graph agent achieves an RSR of 36.1%, compared with 29.6% for the Intent agent and 33.7% for the PoV agent. Their union covers 40.8% of the evaluation set, including 4.7% that the strongest agent misses. Moreover, each role contributes successes that neither of the other two achieves: 5.3% of the evaluation set for the Code Knowledge Graph agent, 0.6% for the Intent agent, and 3.0% for the PoV agent. The same pattern holds with DeepSeek-V4.1-Flash: the union covers 72.2% of the evaluation set, while the strongest agent, Intent, achieves an RSR of 59.8%. The Code Knowledge Graph, Intent, and PoV agents uniquely repair 2.4%, 7.7%, and 4.7% of the evaluation set, respectively. With both models, each agent successfully repairs some vulnerabilities that the other two do not. Using only the strongest agent would miss these repairs.

Aggregation must assess the attempts without benchmark feedback. These results motivate using all three agents’ findings. However, selecting a successful candidate for each vulnerability would require knowing which patches pass the benchmark tests. The agents do not receive those results, so aggregation must assess the observations behind each diagnosis and the implementation details in each patch. EXPLOREREPAIR uses lessons to summarize the agents’ vulnerability observations and patches to retain their concrete repair implementations. The Lesson Aggregator and Patch Aggregator independently synthesize repairs from these inputs, and a final Aggregator reconciles their proposals. § 6.2 evaluates this design. Appendix § 11 examines cases in which aggregation produces a new fix or loses a successful one.

Exploration Agents

The exploration agents provide vulnerability observations and candidate patches for aggregation. The Code Knowledge Graph, Intent, and PoV agents investigate repair scope, intended behavior, and observed failures, respectively. This section gives further details of the agents described in § 4.2 and how they gather evidence for their diagnosis. All three use the same ReAct scaffold and independently investigate the same vulnerable revision. They receive the repository and localization hint under the setting defined in § 3. They can inspect files, execute shell commands and repository tests, and edit production code beyond the localized function. Each agent runs at medium reasoning effort with a time limit of 1800 s. It returns a production-code patch and a trajectory that records its observations.

Code Knowledge Graph Agent

The Code Knowledge Graph agent investigates where a repair should be applied and whether the same flaw appears along related paths. Before editing, it traces callers toward entry points and external inputs, examines the helpers and validators used by the localized code, and compares sibling paths that perform similar operations. This analysis can reveal that a guard belongs in a shared helper or that a local fix needs to cover another branch.

For each vulnerability, we construct a separate graph from the repository at its vulnerable revision, using Tree-sitter to parse source files into abstract syntax trees. The graph contains file nodes and symbol nodes for functions, methods, classes, and other language-specific definitions. Symbol nodes retain qualified names and source locations so that the agent can inspect the corresponding code. We resolve call sites and import statements to repository-local symbols and files to create call and import edges. When commit history is available, we add edges between files changed in the same commit. We use only commits up to the vulnerable revision and weight each edge by the number of commits in which the two files changed together.

Two tools support this investigation. search_code retrieves locations from a per-instance vector index built with bge-large-en-v1.5, returning five results by default. graph_neighbors lists incoming and outgoing relations for a symbol or file, with a default limit of 20 neighbors per direction. Both tools help locate relevant source code, while the prompt requires the agent to read that code through the shell before relying on it. The agent records what the relationships imply about repair scope, then implements its patch. We use an LLM to distill the agent’s trajectory and proposed patch into a lesson that includes the repository relationships that led the agent to choose the repair location.

Intent Agent

The Intent agent establishes what the code is supposed to do before deciding how it is broken. Its analysis follows the four intent questions described in § 4.2.2, within a single repair trajectory. It begins with the governing specification or API contract, looking for evidence in documentation, comments, tests, constants, and error messages. It then traces the parties whose inputs reach the localized code and determines what the repository assumes about their trustworthiness. Using those findings, it identifies the resources the code accesses and the checks already protecting them, including conventions followed by sibling paths.

The agent uses these findings to identify at most five constraints on untrusted input. Each constraint must name the relevant values and operations, explain when it applies, and identify where it should be enforced. The prompt requires file and line references and asks the agent to acknowledge claims that the repository does not establish. Only after completing this analysis does it diagnose the implementation and produce a repair. Its trajectory records the expected behavior and trust assumptions behind the patch. These observations help explain why the proposed checks are needed.

PoV Agent

The PoV agent tests whether its diagnosis corresponds to an observable security violation. It first traces input from a public API, command-line interface, or endpoint to the localized code, then constructs a PoV through that entry point. The test checks the program’s behavior and must be executed against the vulnerable revision. The agent revises it until the observed failure demonstrates the suspected violation.

Once the test provides that evidence, the agent repairs the production code and reruns the same test. Its guidance asks it to address every site sharing the weakness and prohibits weakening the test or special-casing its input. The agent saves generated tests in recognizable test paths. The harness uses these paths to exclude the tests from the production-code diff submitted for evaluation. The trajectory records the input, the observed failure, and the response to the repair. Passing the generated PoV supports the agent’s diagnosis, but does not guarantee that its patch passes the hidden benchmark PoV. During aggregation, the agents must therefore check these execution observations against the repository and the other agents’ findings.

# fields contains the names requested by the user.
def set_values(self, fields):
    ...
    if fields:
        ...
        # Simple request: take the shortcut.
        if not self.extra and not self.annotations:
            # Copy the names without checking safety.
            field_names = list(fields)
        else:
            # More complex request: process each name.
            self.default_cols = False
            for f in fields:
                # f is one requested name.
                # No safety check here either.
                ...
    ...

Listing 1: Original Django code: both paths lack the safety check. Dots stand for code omitted from the excerpt.

Qualitative Aggregation Analysis

We examine two cases in which aggregation produces a new fix or loses a correct one. Both cases use GPT-5.6-Luna.

Producing a Fix from Unsuccessful Attempts

CVE-2024-42005 affects how Django handles names supplied to a database query. These names must be checked for dangerous characters; otherwise, an attacker can use a crafted name to change the meaning of the database command, causing SQL injection. The affected function handles simple requests through a shortcut and more complex requests through a separate path (Listing 1). The missing protection is the same in both: the names are used without the required safety check.

Each exploration agent finds part of the problem, as shown in Listing 2. The Code Knowledge Graph agent checks names on the complex path, but misses the shortcut. The Intent agent adds a check in another function that creates query names. The PoV agent adds # to the list of forbidden characters, but does not make either path perform the check. All three repairs fail the benchmark PoV test because the attack takes the unchecked shortcut.

The Lesson Aggregator uses these findings to inspect the function again and notices that the shortcut still has no check. It keeps the earlier protections and adds a check for every name on the shortcut (Listing 3). The resulting repair passes both the benchmark PoV and unit tests.

Combining the exploration agents’ patches leaves the shortcut unprotected, as does the Patch

# Code Knowledge Graph agent: attack test fails.
# This edit is on the complex path only.
else:
    self.default_cols = False
    for f in fields:
        # Reject a name containing forbidden characters.
        self.check_alias(f)
        # Remaining code omitted.

# Intent agent: attack test fails.
# Check a name created by a different function.
def add_filtered_relation(self,
                          filtered_relation, alias):
    self.check_alias(alias)
    filtered_relation.alias = alias
    ...

# PoV agent: attack test fails.
# This pattern lists forbidden characters.
# Add #, which can start an SQL comment.
# The pattern helps only where a check is called.
FORBIDDEN_ALIAS_PATTERN = _lazy_re_compile(
    r"[`\"\'\]\[:;\s]|--|/\*|#"
)

Listing 2: Specialized agents’ Django repairs: each adds a useful protection, but none checks the shortcut used by the attack.

# Keep the PoV agent's forbidden-character change.
FORBIDDEN_ALIAS_PATTERN = _lazy_re_compile(
    r"[`\"\'\]\[:;\s]|--|/\*|#"
)

# Keep the Intent agent's check in this function.
def add_filtered_relation(self,
                          filtered_relation, alias):
    self.check_alias(alias)
    filtered_relation.alias = alias
    ...

# NEW: check names on the simple path too.
if not self.extra and not self.annotations:
    # Visit each requested name and check its safety.
    for f in fields:
        self.check_alias(f)
    # Use the names only after these checks.
    field_names = list(fields)
else:
    self.default_cols = False
    for f in fields:
        # Keep the Code Knowledge Graph agent's check.
        self.check_alias(f)
        # Remaining code omitted.

Listing 3: Successful aggregated Django repair. The highlighted lines add the missing shortcut check, which no specialized agent produced.

Aggregator’s repair. The Lesson Aggregator supplies the missing check, which the final Aggregator retains. The final repair passes both the benchmark PoV and unit tests, even though all three exploration agents’ repairs fail.

Losing a Correct Fix During Aggregation

CVE-2021-39163 affects how Synapse lists rooms associated with a group. Group membership does not imply membership in each room, so a group member must not receive private-room metadata solely because the room is listed in the group. The

# Group visibility and room visibility are distinct.
room_results = await self.store.get_rooms_in_group(
    group_id, include_private=is_user_in_group
)
chunk = []
for room_result in room_results:
    room_id = room_result["room_id"]
    joined_users = await self.store.get_users_in_room(room_id)
    entry = await self.room_list_handler.generate_room_entry(
        room_id, len(joined_users),
        with_alias=False, allow_private=True
    )
    if not entry:
        continue
    # Remaining entry fields omitted.
    chunk.append(entry)
return {"chunk": chunk,
        "total_room_count_estimate": len(room_results)}

Listing 4: Original Synapse listing: private-room metadata is allowed regardless of room membership.

# Code Knowledge Graph agent: PoV and unit tests pass.
allow_private = requester_user_id in joined_users
entry = await self.room_list_handler.generate_room_entry(
    room_id, len(joined_users), with_alias=False,
    allow_private=allow_private,
)
# Remaining loop omitted; count only returned rooms.
return {"chunk": chunk, "total_room_count_estimate":
        len(chunk)}

# Intent and PoV agents: benchmark PoV fails.
# Both use group membership in the listing and summary.
entry = await self.room_list_handler.generate_room_entry(
    room_id, len(joined_users),
    with_alias=False,
    allow_private=is_user_in_group,
)

Listing 5: Exploration agents’ Synapse repairs: only the Code Knowledge Graph agent uses room membership as the authorization boundary.

original code passes allow_private=True when generating room entries, bypassing the private-room visibility check (Listing 4).

The Code Knowledge Graph agent checks whether the requester belongs to the room and counts only the returned entries (Listing 5). Its repair passes both the benchmark PoV and unit tests. The Intent and PoV agents instead use group membership to control private-room visibility; both repairs fail the benchmark PoV.

The Lesson Aggregator adopts the group-membership interpretation. The Patch Aggregator also selects it, explicitly rejecting the room-membership check as inconsistent with the group API’s visibility semantics and omitting the count correction. The final Aggregator accepts this shared interpretation and produces the same unsuccessful changes (Listing 6).

The final repair fails the benchmark PoV: a group member who has not joined a private room still receives its name and metadata. This case shows that the complete aggregation phase can discard a successful exploration repair when both intermediate aggregators adopt the same incorrect authorization assumption.

Image not extracted

Figure 6. Unsuccessful final Synapse repair: group membership still permits disclosure of private-room metadata.

# Both intermediate aggregators and the final Aggregator
# use this check in the listing and summary paths.
entry = await self.room_list_handler.generate_room_entry(
    room_id, len(joined_users), with_alias=False,
    allow_private=is_user_in_group,
)
# The listing still counts rooms before filtering.
return {"chunk": chunk,
        "total_room_count_estimate": len(room_results)}

Baseline Configurations and Exclusions

IntentFix. IntentFix infers developer intent from the vulnerable file to generate and refine a patch [8].

EvoRepair. EvoRepair retrieves experiences from prior trajectories to guide successive repair attempts (Hu et al., 2026). Its original implementation accesses the ground-truth PoV and benchmark evaluation feedback; we hide both in our experiments. The original study allows up to 15 repair turns, whereas our adaptation allows up to three refinement turns under the time limit described in § 5.6.

LoopRepair. LoopRepair is designed for C/C++ and uses PoVs and taint traces to rank and refine LLM patches [35]. We evaluate both its released PoV-assisted setting and a no-PoV variant on VulnLoc+. In the no-PoV variant, we replace CrashRepair’s PoV-based localization with the same reported crash location provided to EXPLOREPAIR and select the first generated patch that compiles, without PoV validation or iterative refinement.

LLM-based baselines. The standalone large language model (LLM) receives only the code at the vulnerable location and returns replacement functions in one response. It cannot inspect other files, use tools, or receive feedback. Single Agent uses a ReAct scaffold with shell tools and medium reasoning effort. Multi-Agent extends this scaffold with a spawn_subagent tool, allowing a lead agent to create subagents of itself and assign subtasks to them. The lead agent uses their reports and code changes to produce the final repair.

Excluded approaches. We select baselines that support the target languages and can run with the vulnerability information available in our setting. We exclude training-based approaches, such as SeCuRepair [32] and VulMaster [40], which learn from reference fixes, because EXPLOREREPAIR is an inference-time approach. We attempted to evaluate APPATCH using its released implementation, but could not run it successfully in our environment. ContraFix requires a PoV test and therefore cannot be used in our setting [15]. AgenticRepair and KeaRepair had no publicly available replication packages at the time of evaluation [4, 1].

References

  1. [1]Sicong Cao, Hao Ma, Le Yu, Kangyi Ding, Xiaolei Liu, Terry Yue Zhuo, Bo Wang, Xingwei Lin, Xiaobing Sun, Linzhang Wang, et al. 2026. Knowledge-enhanced agentic vulnerability repair. arXiv preprint arXiv:2607.00820.arxiv.org/abs/2607.00820
  2. [2]Yujia Chen. 2025. Autoreview: An llm-based multi-agent system for security issue-oriented code review. In Proceedings of the 33rd ACM International Conference on the Foundations of Software Engineering, pages 1022–1024.DOI
  3. [3]Cui Encheng, Shaowen Peng, Kazuhiro Ito, XU Jinsha, Hisada Shohei, Shoko Wakamiya, and Eiji Aramaki. 2026. Single-agent generation surpasses multi-agent systems in semantic diversity. In Findings of the Association for Computational Linguistics: ACL 2026, pages 37993–38008.
  4. [4]Michael Fu, Qiyue Mei, Patanamon Thongtanunam, and Kla Tantithamthavorn. 2026. Agenticrepair: Multi-faceted program context engineering for agentic vulnerability repair. arXiv preprint arXiv:2607.29422.arxiv.org/abs/2607.29422
  5. [5]Xiang Gao, Bo Wang, Gregory J Duck, Ruyi Ji, Yingfei Xiong, and Abhik Roychoudhury. 2021. Beyond tests: Program vulnerability repair via crash constraint extraction. ACM Transactions on Software Engineering and Methodology (TOSEM), 30(2):1–27.
  6. [6]Hao Guo, Sen Chen, Zhenchang Xing, Xiaohong Li, Yude Bai, and Jiamou Sun. 2022. Detecting and augmenting missing key aspects in vulnerability descriptions. ACM Transactions on Software Engineering and Methodology (TOSEM), 31(3):1–27.DOI
  7. [7]Seungheon Han, YoungJae Kim, Yeseung Lee, and Jooyong Yi. 2026. Symradar: Poc-centered bounded verification for vulnerability repair. In Proceedings of the 2026 IEEE/ACM 48th International Conference on Software Engineering, pages 3761–3773.DOI
  8. [8]Jinseok Heo, Dongwook Choi, Jinyoung Kim, Misoo Kim, and Eunseok Lee. 2026. Intentfix: Automated logic vulnerability repair via llm-driven intent modeling. In Proceedings of the 2026 IEEE/ACM 48th International Conference on Software Engineering, pages 843–854.DOI
  9. [9]Seongjoon Hong, Junhee Lee, Jeongsoo Lee, and Hakjoo Oh. 2020. Saver: scalable, precise, and safe memory-error repair. In Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering, pages 271–283.
  10. [10]Sirui Hong, Mingchen Zhuge, Jonathan Chen, Xiawu Zheng, Yuheng Cheng, Jinlin Wang, Ceyao Zhang, Steven Yau, Zijuan Lin, Liyang Zhou, et al. 2024. Metagpt: Meta programming for a multi-agent collaborative framework. In International Conference on Learning Representations, volume 2024, pages 23247–23275.arxiv.org/abs/2308.00352
  11. [11]Md Ashraful Islam, Mohammed Eunus Ali, and Md Rizwan Parvez. 2024. Mapcoder: Multi-agent code generation for competitive problem solving. In Proceedings of the 62nd Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), pages 4912–4944.
  12. [12]Cheryl Lee, Chunqiu Steven Xia, Longji Yang, Jentse Huang, Zhourixin­g Zhu, Lingming Zhang, and Michael R Lyu. 2025. Unidebugger: Hierarchical multi-agent framework for unified software debugging. In Proceedings of the 2025 Conference on Empirical Methods in Natural Language Processing, pages 18248–18277.arxiv.org/abs/2404.17153
  13. [13]Jia Li, Zhuangbin Chen, Yuxin Su, and Michael R Lyu. 2026. Vulkey: Automated vulnerability repair guided by domain-specific repair patterns. Proceedings of the ACM on Software Engineering, 3(FSE):2465–2487.arxiv.org/abs/2605.01769
  14. [14]Nelson F Liu, Kevin Lin, John Hewitt, Ashwin Paranjape, Michele Bevilacqua, Fabio Petroni, and Percy Liang. 2024. Lost in the middle: How language models use long contexts. Transactions of the association for computational linguistics, 12:157–173.arxiv.org/abs/2307.03172
  15. [15]Simiao Liu, Fang Liu, Peiding Wang, Taichuan Li, Yinghao Zhu, Xiaoli Lian, and Li Zhang. 2026. Contrafix: Skill-enhanced contrastive runtime analysis for vulnerability repair. arXiv preprint arXiv:2605.17450.arxiv.org/abs/2605.17450
  16. [16]Wenqiang Luo, Jacky Wai Keung, Boyang Yang, Jacques Klein, Tegawende F Bissyande, Haoye Tian, and Bach Le. 2026. Unlocking llm repair capabilities through cross-language translation and multi-agent refinement. In Proceedings of the 2026 IEEE/ACM 48th International Conference on Software Engineering, pages 830–842.arxiv.org/abs/2503.22512
  17. [17]Yu Nong, Haoran Yang, Long Cheng, Hongxin Hu, and Haipeng Cai. 2025. {APPATCH}: Automated adaptive prompting large language models for {Real-World} software vulnerability patching. In 34th USENIX Security Symposium (USENIX Security 25), pages 4481–4500.arxiv.org/abs/2408.13597
  18. [18]Jihwan Oh, Minchan Jeong, Jongwoo Ko, and Se-Young Yun. 2026. From belief entrenchment to robust reasoning in llm agents. Transactions of the Association for Computational Linguistics, 14:1286–1307.
  19. [19]OpenAI. 2026. Codex. Accessed: 2026-10-13.
  20. [20]Siru Ouyang, Jun Yan, I Hsu, Yanfei Chen, Ke Jiang, Zifeng Wang, Rujun Han, Long Le, Samira Daruki, Xiangru Tang, et al. 2026. Reasoningbank: Scaling agent self-evolving with reasoning memory. In International Conference on Learning Representations, volume 2026, pages 94327–94354.arxiv.org/abs/2509.25140
  21. [21]Chen Qian, Wei Liu, Hongzhang Liu, Nuo Chen, Yufan Dang, Jiahao Li, Cheng Yang, Weize Chen, Yusheng Su, Xin Cong, et al. 2024. Chatdev: Communicative agents for software development. In Proceedings of the 62nd annual meeting of the association for computational linguistics (volume 1: Long papers), pages 15174–15186.arxiv.org/abs/2307.07924
  22. [22]Syed Md Mukit Rashid, Abdullah Al Ishtiaq, Kai Tu, Yilu Dong, Tianwei Wu, Ali Ranjbar, Tianchang Yang, Najrin Sultana, Shagufta Mehnaz, and Syed Rafiul Hussain. 2026. Logiceval: A systematic framework for evaluating automated repair techniques for logical vulnerabilities in real-world software. In Proceedings of the 64th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), pages 46025–46049.
  23. [24]Noah Shinn, Federico Cassano, Ashwin Gopinath, Karthik Narasimhan, and Shunyu Yao. 2023. Reflexion: Language agents with verbal reinforcement learning. Advances in neural information processing systems, 36:8634–8652.arxiv.org/abs/2303.11366
  24. [25]Jiamou Sun, Zhenchang Xing, Xin Xia, Qinghua Lu, Xiwei Xu, and Liming Zhu. 2023. Aspect-level information discrepancies across heterogeneous vulnerability reports: Severity, types and detection methods. ACM Transactions on Software Engineering and Methodology, 33(2):1–38.DOI
  25. [26]Yuxuan Sun, Yuze Zhao, Yufeng Wang, Yao Du, Zhiyuan Ma, Jinbo Wang, Mengdi Zhang, Kai Zhang, and Zhenya Huang. 2026. Swe-mutation: Can llms generate reliable test suites in software engineering? In Findings of the Association for Computational Linguistics: ACL 2026, pages 39651–39674.
  26. [27]Xunzhu Tang, Jiechao Gao, Jin Xu, Tiezhu Sun, Yewei Song, Saad Ezzini, Wendküüni C. Oudraogo, Jacques Klein, and Tegawendé F. Bissyandé. 2025. SynFix: Dependency-aware program repair via RelationGraph analysis. In Findings of the Association for Computational Linguistics: ACL 2025, pages 4878–4894, Vienna, Austria. Association for Computational Linguistics.DOI
  27. [28]Xunzhu Tang, Kisub Kim, Yewei Song, Cedric Lothritz, Bei Li, Saad Ezzini, Haoye Tian, Jacques Klein, and Tegawendé F Bissyandé. 2024. Codeagent: Autonomous communicative agents for code review. In Proceedings of the 2024 Conference on Empirical Methods in Natural Language Processing, pages 11279–11313.
  28. [29]Zora Zhiruo Wang, Jiayuan Mao, Daniel Fried, and Graham Neubig. 2025. Agent workflow memory. In Forty-second International Conference on Machine Learning.arxiv.org/abs/2409.07429
  29. [30]Zichao Wei, Jun Zeng, Ming Wen, Zeliang Yu, Kai Cheng, Yiding Zhu, Jingyi Guo, Shiqi Zhou, Le Yin, Xiaodong Su, et al. 2025. Patchieval: A new benchmark for evaluating llms on patching real-world vulnerabilities. arXiv preprint arXiv:2511.11019.arxiv.org/abs/2511.11019
  30. [31]Ratnadira Widyasari, Martin Weyssow, Ivana Clairine Irsan, Han Wei Ang, Frank Liauw, Eng Lieh Ouh, Lwin Khin Shar, Hong Jin Kang, and David Lo. 2026. Let the trial begin: A mock-court approach to vulnerability detection using llm-based agents. In Proceedings of the 2026 IEEE/ACM 48th International Conference on Software Engineering, pages 1030–1042.DOI
  31. [32]Chengran Yang, Ting Zhang, Jinfeng Jiang, Xin Zhou, Haoye Tian, Mingzhe Du, Jieke Shi, Junkai Chen, Yikun Li, Eng Lieh Ouh, et al. 2026. Securepair: Semantics-aligned, curriculum-driven, and reasoning-enhanced vulnerability repair framework. In Proceedings of the 64th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), pages 32108–32123.
  32. [33]Wei Yang, Jinwei Xiao, Hongming Zhang, Qingyang Zhang, Yanna Wang, and Bo Xu. 2025. Coarse-to-fine grounded memory for LLM agent planning. In Proceedings of the 2025 Conference on Empirical Methods in Natural Language Processing, pages 13029–13056, Suzhou, China. Association for Computational Linguistics.arxiv.org/abs/2508.15305
  33. [34]Shunyu Yao, Jeffrey Zhao, Dian Yu, Nan Du, Izhak Shafran, Karthik Narasimhan, and Yuan Cao. 2023. ReAct: Synergizing reasoning and acting in language models. In International Conference on Learning Representations (ICLR).arxiv.org/abs/2210.03629
  34. [35]Zhenlei Ye, Xiaobing Sun, Sicong Cao, Lili Bo, and Bin Li. 2026. Well begun is half done: Location-aware and trace-guided iterative automated vulnerability repair. In Proceedings of the 2026 IEEE/ACM 48th International Conference on Software Engineering, pages 1096–1108.DOI
  35. [36]Luke Yoffe, Alfonso Amayuelas, and William Yang Wang. 2025. Debunc: Improving large language model agent communication with uncertainty metrics. In EMNLP (Findings), pages 23299–23315.arxiv.org/abs/2407.06426
  36. [37]Zheng Yu, Wenxuan Shi, Xinqian Sun, Zheyun Feng, Meng Xu, and Xinyu Xing. 2026. Patch validation in automated vulnerability repair. arXiv preprint arXiv:2603.06858.arxiv.org/abs/2603.06858
  37. [38]Yifan Zhang, Jieyu Li, Kexin Pei, Yu Huang, and Kevin Leach. 2026. Synthfix: Adaptive neuro-symbolic code vulnerability repair. In Findings of the Association for Computational Linguistics: ACL 2026, pages 26857–26870.DOI
  38. [39]Yuntong Zhang, Xiang Gao, Gregory J Duck, and Abhik Roychoudhury. 2022. Program vulnerability repair via inductive inference. In Proceedings of the 31st ACM SIGSOFT International Symposium on Software Testing and Analysis, pages 691–702.
  39. [40]Xin Zhou, Kisub Kim, Bowen Xu, DongGyun Han, and David Lo. 2024. Out of sight, out of mind: Better automatic vulnerability repair by broadening input ranges and sources. In Proceedings of the IEEE/ACM 46th international conference on software engineering, pages 1–13.DOI
  40. [41]Xiaocheng Zhu, Caiqi Zhang, Yizhou Chi, Tom Stafford, Nigel Collier, and Andreas Vlachos. 2026. Demystifying multi-agent debate: The role of confidence and diversity. In Findings of the Association for Computational Linguistics: ACL 2026, pages 33909–33930.

Paper details

vlnc:W_hwsxy87x
v1 · latestHistory (1)

published · Fresh — added to the Hub within the last 30 days

added ·

Usage

views · 0

downloads · 0

A view counts once per browser per day, a download each time the PDF is requested.

CC BY 4.0

Original source

  • Computer Science

Not recorded for this paper · View statement →

Looking for related papers…
Contents