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.

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