Papers for

software maintenance teams

Papers whose findings have a practical use for this group, as judged from the abstract. Open a paper to read what it means in practice.

AI coding tasks show hidden complexity in maintenance conditions

Beyond Surface Metrics: Multi-Condition Requirements in Enterprise Maintenance and AI Coding Benchmarks

Abstract: Repository-level AI coding benchmarks measure task success but do not directly capture the conditions required for software maintenance completion. We study multi-condition fulfillment, where a maintenance task must satisfy multiple operational conditions, sometimes with directional dependencies. Using a fixed 18-criterion taxonomy, we analyze 2,925 Apache Fineract issues and 944 tasks from SWE-bench Pro, SWE-PolyBench Java, and SWE-EVO. We examine condition breadth, corpus-level co-occurrence, and source-grounded directional requirement relationships. Among 1,177 benchmark task pairs matched on issue classification, modified-file count, and code churn, the mean fulfillment-set Jaccard distance is 0.8138, and 57.4% have disjoint condition sets. Condition count alone does not explain this contrast: SWE-bench Pro averages 2.47 conditions per task, versus 1.78 for Fineract. Temporal (B4) and numerical (B2) conditions have a phi coefficient of +0.430 in Fineract versus -0.013 in the pooled benchmark corpus. Among temporally tagged tasks, numerical conditions are also specified in 48.85% (254/520) of Fineract cases versus 5.81% (5/86) of benchmark cases. We document 16 directional relationships in Fineract requirements involving time, calculation, and state preservation, and inspect four benchmark cases to illustrate how relevant conditions appear in evaluation assertions. These examples do not quantify benchmark-wide oracle omissions. The results show that similar surface task profiles can mask substantially different fulfillment-condition sets. We recommend reporting condition breadth, co-occurrence, and directional relationships separately. The corpus comparisons are descriptive and may reflect domain differences; they do not establish causality or production failure rates.

Mon 2 NovSoftware EngineeringArtificial Intelligence
The gist
Measuring how well AI tools fix code usually looks only at whether the job is done, but this misses many details. The authors examined over 3,800 software maintenance tasks and found that each task often has many different requirements, like timing or calculations, that must be met. These conditions vary a lot between real projects and standard testing benchmarks, meaning similar-looking tasks can actually be very different underneath. The study suggests benchmarks should report these detailed conditions separately to better reflect real maintenance work.
Open → 2611.03162v1

APG improves automatic code repair using LLVM program analysis graphs

APG: Agentic Static-Analysis Infrastructure on LLVM-IR Graph Databases

Abstract: LLM-based coding agents increasingly rely on external program knowledge, yet access to static-analysis graphs alone does not ensure appropriate operation selection or evidence interpretation. We present APG, an infrastructure for semantics-grounded static program analysis. Built on SVF and LLVM, it decomposes compiler-derived program analyses into atomic capabilities that LLM agents can select, compose, and orchestrate for goal-directed, cross-graph investigation, with query safeguards and evidence traces preserving inspectable results and provenance. APG provides 38 atomic capabilities. On analysis requests arising during benchmark repair runs, 35 achieve first-attempt query-generation success rates above 50%, including 13 at 100%. Evaluation on 812 C/C++ defects shows higher repair success than the evaluated baselines. Compared with Passive Graph Push, APG improves first-iteration repair success by 17.6 and 18.0 percentage points on the two benchmark collections and reduces average LLM input-token consumption by 90.8%. Our tool is available at https://github.com/JasonZhongZexin/APG-ICSE-Demo and its demonstration video at https://youtu.be/vkuExZUjGnw

Mon 2 NovSoftware Engineering
The gist
Fixing bugs in computer programs often requires understanding complicated program details. The authors created APG, a tool that breaks down program analysis into simple pieces that smart code agents can pick and combine to investigate problems more effectively. This approach helps the agents ask better questions and find better answers when fixing bugs, leading to more successful repairs and less wasted effort. APG was tested on many C and C++ bugs and fixed more problems than existing tools while needing less input from large language models.
Open → 2611.02349v1

Software change request classification faces data and method challenges

Software Change Request in AI-Orchestrated Software Evolution: Literature Review and Research Agenda

Abstract: In the emerging paradigm of holistic AI-orchestrated software maintenance and evolution, large-scale app stores continuously generate exponentially vast Software Change Requests (SCRs) streams through user feedbacks. These streams enable intelligent software evolution. Automating SCR extraction and classification is crucial with rapid growth of Mobile Apps (MA). However, significant challenges exist such as scare large-scale datasets, inconsistent classification schemes, limited data sharing and insufficient research. This study presents a first and thorough systematic survey of SCR identification from MA Reviews (MAR). In particular, we investigated how Machine Learning (ML) and Deep Learning (DL) enhanced identification and classification of SCR. This study has found pertinent datasets varying sizes from 5,000 to more than 18 million reviews. The key findings highlight the dominant use of Random Forest and Support Vector Machines, limited adoption of deep learning techniques, inconsistent F1-score results ranging from 0.08 to 1 and partial automation in existing SCR tools such as SURF and ChangeAdvisor. Finally, we have performed a synthesis of the studies to presents a comparative taxonomy of SCR methodologies, identify research gaps and annotation frameworks. We contend that classification schemes, shared datasets and annotation frameworks are essential for advancing SCRs and thereby improving the maintenance of mobile applications.

Fri 30 OctSoftware Engineering
The gist
Mobile app stores get millions of user suggestions and problems, called Software Change Requests (SCRs), that help improve apps. The study reviewed how machines learn to identify and sort these requests from user reviews. The researchers found that common methods like Random Forest and Support Vector Machines are mostly used, while newer deep learning methods are less common. They also noticed that available datasets vary a lot and there is no agreement on how to classify these requests, which makes automation hard. The authors suggest clearer categories, shared data, and better labeling to improve how apps evolve.
Open → 2611.00294v1

Architectural debt enforcement methods tested with partial information

Architectural Debt Enforcement under Incomplete Observation: A Controlled Study of Ratchets and Evidence Qualification

Abstract: Architectural debt gates must distinguish an allowed change from an incompletely observed one. We study a decision contract separating observation qualification, prohibited relation identity, inherited debt and authorized baseline updates. Across 240 fixed files from four repositories, the current observer and programmatic reference jointly qualify 166 files (69.17%), all with exact reference-relative edge agreement; 74 remain reference-UNKNOWN. Coverage varies from 13/60 to 59/60 by repository. On 480 constructed state scenarios sharing 60 source anchors, both the candidate ratchet and mature dependency-cruiser baseline match every expected outcome, whereas static and count-only baselines match 420 and 360. These results do not establish candidate superiority. Preserved failures include nine additional false-PASS probes and 120 unqualified full-tree timing attempts. A subsequent generic binding layer rejects 54 specified mismatches, accepts 54 current controls and permits legal repetition. Two bounded package scopes support 40 scenarios and 48 fresh-process functional checks; their costs remain tied to the measured implementations. Diagnostics explain residual uncertainty through type/runtime relations, installation context and generated-artifact provenance. TypeScript 5.9.3 and 6.0.2 yield identical outputs on ten paired emission witnesses, but neither that agreement nor verified release provenance changes the frozen UNKNOWN labels. The contribution is a controlled account of evidence-qualified enforcement and its limits, not language completeness, natural maintenance effectiveness or a new shrinking-baseline algorithm.

Fri 30 OctSoftware Engineering
The gist
Software projects often need to keep their internal structure clean, but sometimes the tools watching changes don't see everything fully. The authors study how to tell if a change is allowed or if there’s missing information making it unclear. They tested different methods across many files and scenarios to see which ones matched expected outcomes best, while acknowledging some unavoidable uncertainties remain. Their work focuses on understanding these limits rather than proposing new algorithms or tools.
Open → 2610.41276v1

Modernizing legacy PHP code with AI often breaks working programs

When Modernization Breaks Working Code: A Single-File Study of LLMs on Legacy PHP

Abstract: Pasting a legacy file into an LLM and asking it to "modernize this" is an easy shortcut. But is the result better than leaving the code alone? In this paper, we study this single-file setting with five LLMs, each asked to modernize 100 WordPress 4.0 PHP files to PHP 8.3 while preserving behavior, with no project context or execution feedback. We evaluate every output with 630 hidden behavioral checks and 511 Rector-detected modernization findings. We compare against two baselines: the unchanged originals and the rule-based tool Rector. Often, the answer is no. Untouched, 83 files already pass every check; the best LLM leaves only 59. Each model breaks 32-51 working files while repairing at most 10, whereas Rector breaks 7 and repairs 6. Most of this damage is unnecessary. Only 37 findings (7 percent) require a change under PHP 8.3, yet in compatible files with no required change, the LLMs break 36-60 percent (Rector: 8 percent). The model with the highest modernization score is no more compatible than its closest competitors. Most regressed checks come from files that no longer load at all, often because of type declarations PHP itself rejects. These are errors that need no project context to avoid. Evaluations of LLM-based modernization should therefore measure against a no-change baseline and report modernization and behavioral preservation separately.

Thu 29 OctSoftware Engineering
The gist
The authors studied whether using large language models (LLMs) to update old PHP code works better than leaving the code unchanged. They found that these AI models often broke code that was working fine before, while fixing very few problems. A rule-based tool called Rector caused fewer errors and fixed a few more issues than the AI models. The researchers suggest that evaluations should always compare against not changing the code, and separately measure updates and safety.
Open → 2610.40269v1

SpeC2Rust translates C projects into safe Rust with fewer errors

SpeC2Rust: Specification-Driven Repository-Level C-to-Rust Translation

Abstract: Legacy C codebases remain central to system software and performance-critical infrastructure, but their weak memory safety imposes security and maintenance risks. Recent C-to-Rust translation systems, including LLM-based translators, make automated migration increasingly feasible, yet they still struggle to recover repository-level intent, avoid raw pointers and unsafe constructs, maintain cross-file interfaces, and repair compilation and validation failures efficiently. We propose SpeC2Rust, a specification-driven pipeline for repository-level C-to-Rust translation. It has three stages: (1) Project-Intent Structuring, which decomposes a C repository into semantically coherent modules and generates persistent repository- and module-level specifications; (2) Spec-Guided Generation, which translates each Rust module against these specifications with a live symbol registry to preserve cross-file consistency; and (3) Layered-Feedback Repair, which batches repairs and injects only failure-relevant diagnostics, specification context, and source evidence for efficient compilation and test-driven correction. We evaluate SpeC2Rust on eight repository-level C projects. It generates Rust projects that compile and pass the original end-to-end tests, with no raw-pointer declarations, raw-pointer dereferences, or unsafe lines. On projects shared with an LLM-based baseline, SpeC2Rust reduces cost by 66.1% and input-token usage by 84.7%.

Sun 25 OctSoftware Engineering
The gist
Many important software projects are written in C, but C's weak safety features cause bugs and security problems. The authors created SpeC2Rust, a method that breaks a large C project into parts, writes detailed specifications, and uses these to guide translation into Rust without unsafe code. Their system also fixes errors efficiently using targeted feedback. Tests show that Rust code produced by SpeC2Rust compiles and passes original tests while avoiding unsafe operations.
Open → 2610.34141v1

Architecture-aware automated program repair shows feasibility without success

ArchGuard-APR: Architecture-Constraint-Aware Multi-Agent Program Repair Using Repository Graphs and Execution Feedback

Abstract: Repository-level automated program repair must reason about more than a localized failing statement. A candidate change can satisfy a narrow test while violating dependency boundaries, modifying an unsafe path, or relying on context that omits relevant repository structure. ArchGuard-APR is an architecture-aware repair prototype that integrates deterministic repository analysis, immutable repository graphs, explicit architecture profiles, graph-guided context retrieval, role-based repair orchestration, patch-policy enforcement, isolated execution feedback, provider cost controls, and canonical source-free evidence. We evaluate the implemented pipeline through an exploratory paired feasibility study, not a confirmatory effectiveness experiment. Six executions were planned; four completed, and two black-4 conditions ended in pre-provider infrastructure attrition. Across two valid paired tasks, baseline and ArchGuard conditions each produced 0/2 successful repairs, and all four completed outputs were classified as invalid patches. The completed executions consumed 35,431 input tokens and 2,737 output tokens, for a total of 38,168 tokens, at a total cost of USD 0.1296325. No effectiveness advantage was observed, and the sample provides no useful inferential basis. The study instead establishes the engineering feasibility of composing architecture constraints with a reproducible repair pipeline and identifies patch validity and infrastructure robustness as the principal targets for future work.

Sat 24 OctSoftware Engineering
The gist
Fixing computer programs automatically can be tricky when changes might break important connections within a whole project. The authors built a system to help repairs follow the project's structure and use feedback from tests, but their early tests showed no successful fixes. The study mostly proves it’s possible to combine these ideas in one tool and points out where improvements are needed. It’s a first step, not a finished solution.
Open → 2610.33853v1

Static analysis helps AI improve code quality more deeply

From Cosmetic to Structural: A Paired Experiment on Metric-Guided Agentic Refactoring

Abstract: The role of coding agents is expanding beyond writing new code toward maintaining existing systems as AI teammates. Yet recent studies show that agent refactorings favor superficial, consistency-oriented edits over structural transformations needed to resolve Technical Debt (TD). We investigate if explicit static-analysis feedback closes this gap. Through the CodeScene MCP server, we give an open-source agent (gptme) access to code smell reports and CodeHealth (CH) scores (1--10, higher is better), and compare guided against unguided refactorings in a paired experiment covering $24{,}620$ single-file competitive programming solutions in C++, Java, and Python. We find that guidance shifts the agent from performing cosmetic edits toward structural operations, raising the rate of effective refactorings by $21$--$26$ percentage points. The benefit depends on initial code quality, with language-dependent break-even points at CH $4.9$--$7.1$, below where the structural transformations pushed by guidance increasingly risk regression, indicating where the agent needs more support to refactor. Guided runs also shift the failure profile toward logical test failures, introduce new coupling smells, and consume $\sim$$3$--$5\times$ more tokens over $\sim$$2\times$ as many interaction turns. Our results indicate that AI teammates can benefit from similar static-analysis feedback that human developers already use, enabling structural transformations toward more effective TD remediation, at a higher token cost and more interaction turns.

Fri 23 OctSoftware Engineering
The gist
When AI tools fix code, they tend to make small, surface changes instead of the bigger improvements that reduce long-term problems. The authors tested whether showing the AI specific feedback about code problems helps it make better fixes. They found that giving the AI detailed code reports leads it to make deeper, more meaningful changes, but it can take longer and sometimes cause new issues. The AI also needs extra support when working with very poor quality code to avoid mistakes.
Open → 2610.33343v1

Python libraries can be deleted and rebuilt without losing knowledge

Deleting Code Without Losing Knowledge: Regenerative Software for Python Libraries

Abstract: In the age of "Software 3.0", when a complete program can be rewritten in minutes by an agent, the traditional approach of relying on code as the sole source of truth becomes questionable. Fowler advocated for a set of seven primitives, which lay the framework for regenerative software, so that programs can be deleted and rebuilt without losing their knowledge. The knowledge lives in machine-readable records in a tracked directory, from which a *regeneration bundle* is built for each unit. The regeneration bundle is a single file with the module's architecture, intent, decisions, public contract, evaluations, and consumers, but no implementation, plus the one dependency module it may import. The open-source package spotregen implements these primitives and provides a graphical user interface. This report presents a first application of Fowler's primitives to the safety-critical forecasting library spotforecast2-safe. During the first experiments, the Claude Code session that orchestrated the study consumed more than 43 million tokens, almost all of them its own history re-sent with every request. This motivated the switch to an architecture that is built on local models. Deterministic checks and the maintainer judged the results. The report contains executable examples for every primitive. Each example runs spotregen against the repository or against a throw-away copy of it.

Mon 12 OctSoftware EngineeringArtificial Intelligence
The gist
Usually, software relies on code to keep its knowledge, which makes deleting code risky. This paper shows how programmers can delete code but keep all their software’s knowledge in special records. These records help automatically recreate the software later without losing anything important. The authors tested this approach on a safety-critical Python library and built a tool called spotregen to handle these tasks.
Open → 2610.17197v1

Adaptive system identifies gaps and asks follow-up questions in bug reports

BRQGen: Towards Adaptive Completeness Assessment and Follow-Up Question Generation for Bug Reports

Abstract: Many bug reports lack the necessary information required to reproduce issues. In early studies, large language models have been employed to generate follow-up questions to enhance incomplete reports. However, they ask a fixed number of questions regardless of whether the report is incomplete. We propose BRQGen, an iterative framework that identifies missing or ambiguous information in bug reports and generates targeted follow-up questions, only if necessary. Reports with no identified gaps are classified as sufficient. When the author responds, BRQGen evaluates whether the answers provide the requested information and generates further questions for any exposed gaps. We curated a novel dataset of 429 incomplete bug reports from Home Assistant and Brave Browser, each containing at least one maintainer follow-up question. Each question is mapped to the author's answer and assigned a label indicating whether the requested information could have been provided directly through the issue template. Earlier maintainer requests were associated with author responses, whereas delayed requests were associated with no response. Among responding authors, requests within one hour received median replies after 0.52 hours in Home Assistant and 1.45 hours in Brave, versus 9.76 and 13.49 hours after four hours. BRQGen covered 35.4% (Qwen 3.8 Flash) to 51.8% (DeepSeek V4.1 Flash) of the 1,073 ground-truth follow-up questions. DeepSeek V4.1 Flash managed to ask 45.7% of all detailed questions and 63.9% of all generic questions. Gemini 3 Flash Preview reached the highest macro-F1 for completeness assessment of 49.3%, but with a post-hoc analysis by getting only the gaps with high severities, Qwen 3.8 Flash reaches 73.6% macro-F1 score. Completeness assessment improved when at least one identified gap had high severity, and nearly all ground-truth questions were captured within the first two iterations.

Sun 11 OctSoftware Engineering
The gist
Bug reports often miss important details needed to fix problems. The authors propose BRQGen, a system that detects missing information in bug reports and asks specific follow-up questions only when needed. It also checks if the answers fill the gaps and asks more questions if necessary. They tested it on real bug reports and found it can cover about half of the typical follow-up questions maintainers ask. The system improves with repeated interactions, especially when critical information is missing.
Open → 2610.15903v1

Claude Code improves bug origin search using semantic commit histories

Rethinking SZZ Search Strategies: Lessons from Claude Code

Abstract: Identifying bug-inducing commits (BICs) is important for studying software bugs and maintaining software, yet the accuracy of existing SZZ methods remains limited. Although various improvements have been proposed, many SZZ methods still rely on code tracing, which searches for BICs by tracing code changed in a bug-fixing commit (BFC) back to earlier commits. However, this approach may miss the actual BIC when the code responsible for introducing a bug differs from the code modified to fix it. To overcome this limitation, we investigate whether BIC identification can be improved by exploring search strategies that are not constrained to start with code tracing. We use Claude Code, a coding agent that has demonstrated high BIC identification accuracy in prior research, to explore such strategies. Rather than prescribing a search process or providing predefined candidate commits, we allow Claude Code to independently investigate a Git repository. We evaluate its identification accuracy and search behavior on 79 Java cases from 70 repositories. In 79.7% of runs, Claude Code reviewed commit histories before inspecting individual code diffs. It used commit messages to select changes for closer inspection. With this approach, Claude Code achieves an F1 score of 0.771, significantly outperforming all ten evaluated SZZ baselines. Our failure analysis also reveals incorrect oracle labels and ambiguities in BIC definitions in the studied evaluation dataset. After reconstructing the evaluation dataset to address these issues, Claude Code achieves an F1 score of 0.938. A key lesson from Claude Code for improving SZZ search strategies is to use semantic information to find relevant commits and then examine their code changes, rather than starting with code tracing.

Sat 10 OctSoftware Engineering
The gist
Finding the exact code change that caused a software bug is tricky because changes that fix bugs don't always point back to the original buggy code. The paper studies a method called Claude Code, which looks at commit messages and the history of changes instead of just tracing code lines backward. This approach lets Claude Code find bug-causing commits more accurately than traditional methods. The authors also improved the quality of the evaluation data to better measure these results.
Open → 2610.14462v1

Agent compares programs to check if they work the same way

Functionally Equivalent or Not? Graph-Grounded Differential Surrogate Execution for Code Equivalence

Abstract: Determining whether two programs are functionally equivalent is central to code modernization, patch validation, refactoring, and code-generation evaluation. Yet the usual signals are incomplete: tests cover only finite inputs, textual similarity confuses implementation with behavior, and unconstrained LLM judgments are difficult to audit. Direct execution is often impossible when a program depends on an obsolete, licensed, unavailable, or unsafe environment. We introduce FEAgent, a selective equivalence assessor agent that combines typed program-graph evidence with differential surrogate execution. FEAgent first aligns public interfaces and behaviorally relevant graph anchors, then issues bounded queries over call-flow, control-flow, data-flow, type, import, and effect relations. Next, a branch-aware generator agent proposes discriminating inputs, and two blinded LLM surrogates independently predict source and target observables. Every claim and predicted divergence is recorded in an evidence ledger. A deterministic reconciler then returns EQUIVALENT, INEQUIVALENT, or UNCLEAR rather than forcing a verdict when paths are uncovered or evidence conflicts. We evaluate FEAgent on function-level equivalence and repository-level bug patches, where the existing oracle is a benchmark label or a passing test suite. Every disagreement with that oracle is adjudicated by direct execution, revealing errors in benchmark labels and behavioral divergences missed by unit-test-only scoring. On EquiBench, execution confirms FEAgent's disagreements with published labels on 216 of 1,200 evaluated pairs (18.0%); on SWE-bench Verified, 94 of 331 test-passing agent patches (28.4%) diverge from the reference patch. FEAgent thus serves as an audit layer between testing and formal verification, keeping its evidence reviewable and its uncertainty explicit without claiming a proof of equivalence.

Sat 3 OctArtificial IntelligenceSoftware Engineering
The gist
Figuring out if two programs do the same thing is important but tricky because tests only cover some cases and programs can depend on hard-to-run parts. The authors created FEAgent, a smart helper that looks at program details and runs safe, limited tests to spot differences. It uses two independent AI guesses and carefully records all findings to decide if programs are the same, different, or unclear. They tested FEAgent on many programs and found it caught errors other methods missed, without pretending to be perfect.
Open → 2610.04371v1

SkillScriptBench evaluates fixing and updating AI agent skill packages

SkillScriptBench: Benchmarking Self-Evolution of Executable Agent Skill Packages Beyond Markdown

Abstract: Executable Agent Skills combine natural-language instructions and scripts into reusable packages for LLM agents, and revising them requires fixing errors without breaking correct behavior. Existing benchmarks do not systematically distinguish documentation repair, script repair, and preservation when evaluating skill self-evolution. We introduce SkillScriptBench, a 350-task benchmark designed to evaluate these capabilities separately. From a survey of over 35,000 GitHub-hosted Skill roots, we select 100 packages and construct 150 repair tasks. Each task pairs a package containing injected script faults with a maintenance request and executable checks of the required behavior. A complementary controlled track contains 200 tasks from 50 packages, each evaluated under the same maintenance request in four states: clean, documentation faults, script faults, and faults in both. Across four LLMs, methods that edit both documentation and scripts can repair script faults but do not consistently outperform Markdown-only revision on documentation repair or preservation. We therefore introduce AST-Guided Skill Revision, which uses abstract syntax trees and calling relationships to link maintenance requirements to relevant code locations. It restricts script edits to these locations and updates the documentation to match the revised scripts. Averaged across models, this revision stage yields absolute gains in repair success of 21.9% for Raw Package and 27.7% for CoEvoSkills on faulty packages. Absolute gains in the proportion of tasks solved in all three runs reach 20.8% and 31.5%, respectively, indicating more consistent repair success across repeated runs.

Fri 2 OctArtificial IntelligenceMachine LearningSoftware Engineering
The gist
Large language model agents use skill packages that combine instructions and code to perform tasks, but fixing those packages without breaking them is tricky. The authors created SkillScriptBench, a set of tests that separately check how well AI can fix instructions, fix code, and keep what worked before. They found that editing both instructions and code helps fix mistakes, but does not always improve keeping existing correctness. To improve this, they designed a method that uses the code structure to guide fixes, leading to better and more reliable repairs.
Open → 2610.04008v1

Deep repurposing adapts neural networks without retraining after task changes

Repurposing Obsolete Representations for Post-Deployment Adaptation

Abstract: Deep neural networks are increasingly deployed in long-lived systems, where task requirements may change after training. In such settings, part of the original output space may become obsolete: a class, prediction region, or learned behaviour may no longer be valid. Existing approaches either leave the obsolete behaviour intact or require fine-tuning, which can be expensive. We propose Deep Repurposing (DR), a post-hoc framework for adapting models under task obsolescence. DR estimates the latent geometry of obsolete and retained regions, removes obsolete-supporting components, and reallocates retained-compatible evidence through an analytic repair map without gradient updates. This yields repaired predictions and representations in which obsolete regions no longer act as valid outputs, while useful obsolete structure can support the retained task. Across multiple task settings, DR removes obsolete behaviour while preserving retained utility. More importantly, across classification benchmarks, DR matches or exceeds competing unlearning and editing baselines in retained accuracy, eliminates obsolete predictions, and adapts up to $60\times$ faster than competing unlearning methods.

Thu 1 OctMachine Learning
The gist
Sometimes AI models need to stop using outdated parts of what they learned without having to retrain everything, which can be slow and costly. The authors propose a way called Deep Repurposing that cleverly adjusts a model’s internal knowledge to ignore obsolete outputs while keeping useful skills intact. This approach works without retraining the model and runs much faster than other methods. It helps AI systems stay effective even when their tasks change after they have already been deployed.
Open → 2610.01453v1

Revision aware graph method improves dynamic task reasoning efficiency

Revision-Aware Independent Agent Graphs for Dynamic Reasoning

Abstract: Conventional reasoning protocols present a fixed, preselected task, so they cannot test whether an agent propagates relevant updates, preserves unaffected work, or reconstructs a historical task binding. We therefore study \emph{dynamic task routing}, in which an event stream revises task bindings and a system must select the document version valid at each query time before solving it. To study this problem, we repurpose six widely used benchmarks: MMLU, MMLU-Pro, MedMCQA, MATH, GPQA, and HumanEval into 31{,}119 dynamic episodes comprising 373{,}428 temporally categorized queries. This setting exposes a central trade-off: recomputing after every event wastes work, whereas unguarded reuse returns stale conclusions. We introduce the Revision-Aware Independent Agent Graph (RIAG), a bounded multi-agent policy that separates deterministic temporal resolution from task reasoning. RIAG caches solutions by immutable document identity, starts each fresh task with two unexposed attempts, and conditionally invokes audit and repair, using at most four calls per document version. On this collection, homogeneous RIAG achieves 54.24\% joint routing-and-answer accuracy at 0.62 calls/query, compared with 32.22\% at 18.00 calls/query for the strongest comparison method; heterogeneous RIAG reaches 49.78\% at 0.63 calls/query.

Thu 1 OctArtificial IntelligenceComputation and Language
The gist
Sometimes tasks or questions get changed over time, and computers need to figure out what the latest correct information is before answering. The authors looked at how existing methods can waste effort by redoing too much or give wrong answers when they use outdated info. They created a new approach that treats different versions of documents separately and only checks for updates carefully, saving work while improving accuracy. They tested this on many question sets that change over time and showed their method works better and more efficiently than previous ones.
Open → 2610.01249v1

Compass predicts how multiple vulnerability fixes are related in software

COMPASS: Predicting the Relationship of Multiple Patches for Vulnerabilities with LLMs

Abstract: Modern software heavily relies on code reuse, so upstream vulnerability fixes do not automatically propagate to downstream codebases. Downstream maintainers must manually adopt patches to eliminate known risks. In practice, a single vulnerability often corresponds to multiple patches, which greatly complicates downstream patch adoption because different patch relationships imply different adoption strategies. To address this challenge, we first manually inspect large-scale multi-patch vulnerabilities (about 1K) in the real world and interview experienced developers, summarizing six typical types of patch relationships, i.e., Merge, Mirror, Better Solution, Fixing-of-Fixing, Collaboration, and Separation. Based on these observations, we propose COMPASS, an automated approach that predicts the relationships of multiple vulnerability patches with large language models. Given a CVE as input, COMPASS follows a four-phase pipeline that (i) identifies the patch group and pre-scans explicit relationships, (ii) performs individual patch analysis, (iii) infers relationship instances via a hierarchy-guided prompt, and (iv) validates completeness and consistency of the inferred results. As output, COMPASS reports the predicted relationships within the patch group and visualizes them as a relationship graph. We evaluate COMPASS on a benchmark of 300 multi-patch CVEs and compare it against mainstream learning-based and LLM baselines. Results show that our method achieves strong and consistent prediction effectiveness and outperforms SOTA by 85.04% on average. We publicly release an online querying website to support community reuse of patch relationships knowledge: https://patch-relation.com.

Wed 30 SeptSoftware Engineering
The gist
Software often fixes security problems using more than one patch, but understanding how these patches relate to each other is tricky. The authors studied common patch relationship types and created COMPASS, a tool that uses large language models to predict how patches in a vulnerability group connect. COMPASS analyzes patches and shows their relationships in a graph, helping maintainers decide how to apply fixes downstream. It outperforms other methods in tests on real-world vulnerabilities.
Open → 2609.39783v1

Software agents revive broken programs and rebuild complex systems

From Dead Code and Static Requirements to Working Engines: Software Revival with Coding Agents

Abstract: Can coding agents restore software that no longer runs while preserving its underlying methods, and reconstruct industrial software engines from open specifications? Here we introduce ReviveBench, a benchmark with two task families evaluated by hidden verifiers calibrated against native execution environments, established engineering tools, or purpose-built reference implementations. The revival family comprises ten tasks involving dependency incompatibilities, deleted core modules, legacy builds, and a GPU-based foundation model. Every starting workspace fails verification, and the strongest evaluated model passes all ten tasks in at least one run each. In contamination-control experiments, identifier obfuscation reduces line similarity to the original implementations from 0.51--0.96 to 0.03--0.44 without reducing the observed pass rate of any evaluated model. On repositories created after the stated knowledge cutoffs, the strongest model passes eight of nine runs. The reconstruction family comprises thirteen tasks spanning numerical, geometric, hardware, and transactional systems (e.g. CAD and CRM). Two models meet the benchmark's pass criteria on all thirteen, although our audit shows that the CFD task cannot establish numerical-solver capability. Benchmark construction and auditing uncover 28 verifier defects, including 24 false negatives and two false positives. These findings show that executable verification can itself introduce substantial measurement error. We present three practical checks: test whether prescribed methods can reach the grading thresholds, investigate agreement among independently generated candidates, and recompute diagnostics from submitted artifacts. ReviveBench thus provides both an evaluation of software revival and engine reconstruction, and cases in validating the verifiers used to measure coding agents for software design.

Mon 28 SeptSoftware EngineeringArtificial Intelligence
The gist
Software can break over time and stop working, especially when important parts go missing or are outdated. This paper introduces ReviveBench, a set of challenges that test if coding agents can fix broken software and rebuild complete software engines from scratch. The researchers found that some advanced coding agents can pass most of these challenges, even when the original code looks very different or when parts are purposely hidden. They also discovered that the tools used to check if the software works correctly sometimes miss errors, so they suggest practical ways to improve testing. Overall, this work shows how coding agents might help restore and recreate software in the future.
Open → 2609.36161v1

Agent skill testing reveals limits of plugin migration advice

Evaluating Agent Skills for Version-Specific Plugin Migration: A Retrospective Study

Abstract: Agent skills package version-specific maintenance knowledge for coding agents, but a higher diagnostic score does not by itself show that the resulting migration advice satisfies the target version's contract. We study a shipped plugin-upgrade skill through an archive of 64 reports on 16 static migration tasks, with two attempts per condition and 328 criterion decisions. With the skill, mean recorded reward rises from 93.83 to 98.75, a gain of 4.92 points (95% task-bootstrap interval [0.31, 10.86]); the gain is concentrated in one task, and eight task pairs are at the ceiling. Tracing every decision to its contract domain and reviewing ten reports in depth exposes grading errors that favor either arm; in one, a containment predicate that accepts the parent directory still receives full credit. Executable probes confirm this defect and show that a working teardown repair is excluded only by a narrower lifecycle rubric. Replacing the reviewed decisions keeps the estimate positive (4.61 to 5.39 points) but moves its interval to or across zero. Re-grading all 64 reports with judges from two other model families, without arm labels or prior scores, agrees with the original judge on 91.8% and 95.7% of decisions (weighted $κ=0.64$ and $0.72$) and gives gains of 10.63 and 6.09 points. The study contributes a traceable evaluation that connects aggregate reward to contract-level evidence and judge sensitivity, together with concrete review checks for migration advice. Executable end-to-end repairs, independent human annotation, and other frameworks are left to future work.

Thu 24 SeptSoftware Engineering
The gist
Keeping software plugins up to date is tricky because new versions have different rules. The authors studied how an AI helper performs advice on moving plugins to new versions by examining many test cases and detailed reports. They found the AI improved scores somewhat but had errors that gave too much credit in some cases, and other reviewers saw similar patterns. The work links overall performance scores to detailed checks, helping future improvements but leaving actual automatic fixes and new testing methods for later.
Open → 2609.30120v1

Dependency update routing cuts repair agent calls in half

When Should Dependency Updates Invoke Repair Agents? A Lightweight Routing Study

Abstract: Dependency-update pull requests are frequent and mostly routine, but a small subset requires non-trivial compatibility repair. Recent repository-level coding agents make such repair increasingly plausible, yet invoking them on every dependency update wastes model calls, CI time, repository context, and review attention. We frame this as a pre-agent routing problem: deciding which dependency-update pull requests should be escalated before downstream diagnosis or repair attempts. We introduce DepFixRouter, a lightweight router that ranks dependency updates by historical compatibility-repair likelihood using creation-time textual and metadata signals. On 497 labeled GitHub dependency-update candidates, only 72 require substantive repair. A creation-time-safe LinearSVC using only PR titles and bot/dependency flags reaches 0.488 repair F1 and captures 51.4% of repairs within the top 20% routed pull requests, improving calls per captured repair from 6.90 under route-all or random policies to 2.68. Retrospective full-history signals improve top-20% recall to 65.3%, revealing substantial hindsight leakage in pull-request histories rather than deployment-time routing utility. In a 60-case diagnosis-agent pilot, router-gated diagnosis reduces actual LLM calls by 66.7% and tokens by 66.1%, suggesting budgetaware escalation while measuring diagnosis rather than patch generation. DepFixRouter can serve as a lightweight escalation layer between routine dependency-update automation and expensive repository-level agents, enabling budget-aware maintenance without relying on retrospective repair evidence for deployment-time routing.

Tue 22 SeptSoftware Engineering
The gist
Updating software pieces called dependencies usually goes smoothly, but sometimes fixes are needed, which can be costly to check every time. The authors created a simple system, DepFixRouter, that predicts which updates might need a repair based on information available when the update is made. This helps save time and computer resources by calling repair tools only when really necessary. Tests showed it can reduce unnecessary checks by about two-thirds while still catching more than half of the problems early on.
Open → 2609.25911v1

Framework improves multi-stage case retrieval for support agents

RAFT: A Stateful Retrieval-Augmented Framework for Troubleshooting Agents

Abstract: Effective troubleshooting agents in enterprise customer support depend on retrieving actionable guidance from similar historical cases, yet existing retrieval-augmented generation (RAG) systems treat support cases as static documents and overlook their multi-stage, stateful nature. We introduce RAFT (Retrieval-Augmented Framework for Troubleshooting Agents), a stateful RAG framework that abstracts each closed historical case into a directed chain of timeline entries and retrieves at the entry level, surfacing cases whose intermediate states match the active case and returning the parent-case trajectory anchored at the matched state; an optional case-level graph links cases through a configurable similarity representation. We evaluate this retrieval layer directly, which, unlike evaluating a full agent system, requires no production deployment. Because public multi-stage troubleshooting data is extremely rare, we pair a synthetic benchmark built from Microsoft Learn Windows Server documentation with real Apache Jira issues carrying human-created duplicate labels. RAFT improves Case Hit over vanilla RAG and GraphRAG baselines at every stage of case progress, with statistically significant gains over the strongest baseline; the Jira results provide directional evidence that the advantage transfers to real case histories. We release our benchmark, implementation, and the Apache Jira evaluation set.

Thu 17 SeptArtificial Intelligence
The gist
Troubleshooting customer support often relies on reusing guidance from past cases, but existing tools treat cases as simple static records. The authors introduce RAFT, a new framework that breaks down cases into multiple steps and retrieves relevant information at these intermediate stages. This approach better matches current problems with similar past situations, improving the ability to find helpful previous solutions. They tested RAFT on synthetic and real-world data, showing it outperforms earlier methods in retrieving useful cases.
Open → 2609.20754v1

Layer-wise non-contrastive learning improves semantic code clone detection

Type-IV Code Clone Detection via Layer-Wise Non-Contrastive Representation Learning

Abstract: Software clones are fragments of code that are similar or functionally equivalent to each other. They pose significant challenges for maintenance, refactoring, and bug detection. Detecting Type-IV clones, which are semantically equivalent but may differ syntactically, is particularly difficult for traditional token- or syntax-based methods. Recent machine learning approaches rely on contrastive learning, which requires careful negative sampling and can introduce bias. In this paper, we propose LWVIC4Code, a non-contrastive representation learning approach specifically designed for Type-IV clone detection. Building on the Variance-Invariance-Covariance Regularization (VICReg) framework and prior layer-wise VICReg training, LWVIC4Code introduces cross-layer consistency regularization and depth-dependent layer weighting to progressively refine semantic information across transformer layers, producing robust and discriminative code representations. We conduct an empirical study comparing LWVIC4Code against a contrastive learning baseline and zero-shot large language models on Python (Kamino) and multi-language (GPTCloneBench) datasets. Results show that LWVIC4Code achieves competitive or superior performance without negative samples, benefits from layer-wise supervision, and generalizes effectively from Python to other languages, particularly Java and C#. These results demonstrate that non-contrastive, layer-wise representation learning is a promising direction for robust semantic code clone detection.

Tue 15 SeptSoftware EngineeringMachine Learning
The gist
Finding pieces of code that do the same thing but look different is hard. Traditional methods look at code words or structure but miss when code acts alike in different ways. The authors created a new way to teach computers to recognize these similar codes without needing tricky comparisons against bad examples. Their method learns from each stage inside the model to better understand code meaning. Tests show this approach works well across several programming languages.
Open → 2609.17338v1

Local models answer scientific code questions using retrieval store

Retrieval-Augmented Generation for Scientific Code Understanding

Abstract: Large language models have become central to modern coding assistants, but state-of-the-art systems such as Claude Code or Codex rely on very large, cloud-hosted models with significant computational cost and data-privacy implications. This work investigates whether a useful, fully local coding agent can be built around small open-source models by shifting the computational burden away from inference. We develop a Retrieval-Augmented Generation (RAG) system for scientific code understanding that strictly separates an expensive offline ingestion stage parsing, structural graph construction, LLM-generated entity explanations, and embedding from a lightweight online answering stage. The system is evaluated on a 100-question benchmark spanning eleven categories over the IPPL scientific codebase written in C++, with answers scored by an independent frontier model as the judge. Across seven answering models, we find that model family and retrieval quality matter more than parameter count, i.e. a 9B model achieves the highest average score (0.795), outperforming both larger models within our pipeline and the same models embedded in the Claude Code retrieval architecture. The results indicate that front-loading code understanding into a reusable, codebase-specialised vector store enables small local models to deliver grounded and repository-specific answers, making the agent well suited as a privacy-preserving development tool for in-house scientific codebases.

Thu 10 SeptSoftware EngineeringArtificial Intelligence
The gist
Large and powerful language models used for coding help are very costly and raise privacy concerns since they run on the cloud. The authors explore building a small, fully local assistant for understanding scientific code by doing heavy processing upfront and storing detailed information for quick answers later. They tested their approach on code in the C++ language and found that smaller models with good retrieval data performed better than bigger ones. This method allows local models to give precise answers related to a specific codebase while keeping the code private.
Open → 2609.12190v1

Execution guided ai improves fixing and locating github issues

XAgent: eXecution-guided Agentic AI for Effective Localization and Resolution of GitHub Issues

Abstract: Agentic AI has enabled capabilities in leveraging Large Language Models (LLMs) to autonomously resolve repository-level GitHub issues. However, due to the reliance on limited static description of issues, existing agentic approaches suffer from incorrect localization and incomplete validation. Solely relying on this information can bias LLM reasoning toward the narrow scope of the issue description, leading to incomplete patches that fail to address the underlying issue. In this paper, we present XAgent, an execution-guided agentic framework that analyzes dynamic behavior and additional program context to localize and validate issues. The experimental results on the SWE-bench-lite dataset demonstrate that XAgent outperforms other existing approaches, achieving a resolve rate of 62.0% and a function localization accuracy of 72.8%, while maintaining cost efficiency. Our analysis further shows that XAgent successfully resolves 7 additional issues that the top existing baselines fail to address. This work highlights a shift from static, description-oriented patch generation toward dynamic execution-guided issue resolution, opening new opportunities for LLM-based coding agents to achieve more robust and generalizable software maintenance.

Wed 9 SeptSoftware Engineering
The gist
Fixing bugs on GitHub often depends only on the problem descriptions, which can miss important details and lead to incomplete fixes. The authors created XAgent, an AI system that looks at how code actually runs and gathers more context to better find and fix issues. Their tests show XAgent fixes more problems and spots the right parts of code more accurately than other methods. This approach moves beyond just reading problem descriptions to using real code behavior, making fixes more reliable.
Open → 2609.09769v1

Test guided repair improves accuracy of decompiled C programs

Recompilation Is Not Enough: Test-Guided Decompiled-C Repair

Abstract: Decompiled C often becomes recompilable only after repair, but recompilation alone does not establish test-observed behavior. A recompiled command-line binary can still parse options incorrectly, print different bytes, or return a different exit status. We present a few-step workflow for repairing decompiled C using compiler feedback and related official tests. Compiler and linker diagnostics first guide build repair. Once the repaired C recompiles into a binary, smoke checks and related official tests expose behavioral discrepancies for semantic repair. In a preliminary static-enriched evaluation on 104 Coreutils 9.5 binaries with available decompiler exports and deterministic exact-output smoke comparisons, 91 binaries (87.5%) recompile and pass the test gate; 9 do not recompile within the repair budget, and 4 recompile but still fail the test gate. The result suggests that test-gate feedback can make LLM-assisted repair of decompiled C more auditable than compile-only recovery.

Mon 7 SeptSoftware EngineeringArtificial Intelligence
The gist
When C programs are decompiled back into code, simply fixing them so they compile again is not enough to guarantee they behave the same as before. The authors show a step-by-step way to fix these programs by using feedback from compilers and running tests to catch any differences in behavior. Their method was tested on 104 common utility programs, where most were successfully repaired to run correctly and pass tests. This approach helps ensure repaired programs not only compile but work as originally intended.
Open → 2609.07201v1