DependaFix is a GitHub App that automates the end-to-end repair of Java projects whose builds break after dependency version updates, potentially reducing the manual effort required by developers to diagnose and fix dependency-update failures in pull requests.
Abstract
Third-party libraries are essential to modern software development, but updating them can introduce changes that break the project build. Manually diagnosing and repairing such failures in continuous integration (CI) pipelines is time-consuming and delays the adoption of security and feature updates. In this paper, we present DependaFix, a GitHub App that automates the end-to-end repair of Java projects whose builds break after dependency version updates. DependaFix builds on Byam, an automated repair tool based on large language models (LLMs), by integrating the repair process into GitHub's CI/CD workflow for pull requests. DependaFix detects failing dependency version-update pull requests and attempts to repair them. It extracts build context from CI logs and local Maven builds, delegates the repair to Byam, and creates a pull request for the repair if the fix succeeds. We demonstrate, through an example, that DependaFix can automate the repair process, potentially reducing the manual effort required by developers to diagnose and fix dependency-update failures in pull requests.
DepRepair is proposed, a single-call LLM approach that grounds repair in structured upstream evidence through three components: an evidence filter that distills relevant upstream changes, a usage locator that identifies affected consumer sites, and a subcategory-aware guide that tailors repairs to the breaking-change type.
Shenghao Yang, Bo Lu, Yao Liu et al.· arXiv.org· 0 citations
This paper proposes a dependency-aware incremental migration framework that elevates the unit of translation from individual files to dependency-consistent batches and improves scalability and reliability in repository-level code translation.
Sivajeet Chand, Alexander Pretschner, Steve Haupt et al.· 1 citation
SemaDiff, a novel approach for identifying semantic-preserving commits through behaviour-based analysis, is proposed, and results show that SemaDiff distinguishes accurately semantic-preserving from -- changing commits in about 76% of the cases, with a 100% precision in semantic-changing commit detection.
Maha Ayub, Michael Konstantinou, Ahmed Khanfir et al.· arXiv.org· 0 citations
This work proposes BreakGuard, an approach that generates a test suite to detect breaking changes in clients and successfully detected BCs from different library categories, but finds LLM-generated tests to be more reliable for detecting crash-type breaking changes as opposed to behavioural BCs.
Rachna Raj, Benoit Baudry, Diego Elias Costa· 0 citations
Continuous Integration (CI) facilitates a continuous development flow by automating build and test processes and providing rapid feedback. Such feedback often reports build or test failures, which indicate faults in the system under test (SUT) and initiate the debugging process, typically starting with fault localisation. Recent studies have employed Large Language Models (LLMs) to improve fault localisation by exploiting program and failure semantics. However, most existing approaches rely primarily on information from the current failure instance. In practice, developers frequently repeat similar mistakes; consequently, recently reported related issues and bug reports often describe recurring failures and may provide additional cues for localising new faults. In this work, we propose REPORTFL, a novel LLM-based fault localisation approach that extends an existing coverage-based LLM localisation framework by replacing its reliance on coverage information with semantic reasoning over bug reports, retrieving and exploiting semantically related past issue reports alongside the current report. Our approach aims to examine the usefulness of lexical and semantic context from current and relevant historical issues as an additional reasoning signal. REPORTFL assumes a realistic coverage-free CI scenario, in which only the failing test name and bug reports are available. An experimental evaluation on 302 real faults from open-source projects shows that, compared to the coverage-based LLM technique it builds upon, REPORTFL achieves comparable localisation performance when using GPT-3.5 and outperforms it when using a more capable model, GPT-4.1-mini, despite not relying on coverage information. Controlled ablations, retrieval-window analyses, and a random-report-selection baseline further show that semantically relevant historical issue reports can provide useful reasoning context for LLM-based fault localisation.