Byam: Fixing Breaking Dependency Updates with Large Language Models
Frank Reyes, May Mahmoud, Federico Bono, Sarah Nadi, Benoit Baudry, Martin Monperrus

TL;DR
This paper investigates using Large Language Models to automate fixing code breaks caused by API updates, demonstrating promising results in repairing Java project builds and errors.
Contribution
It introduces a novel approach leveraging LLMs with advanced prompts to automatically repair breaking dependency updates in Java code.
Findings
OpenAI's o3-mini fixes 27% of builds with contextual prompts.
The approach repairs 78% of individual compilation errors.
LLMs show potential in automating dependency update fixes.
Abstract
Application Programming Interfaces (APIs) facilitate the integration of third-party dependencies within the code of client applications. However, changes to an API, such as deprecation, modification of parameter names or types, or complete replacement with a new API, can break existing client code. These changes are called breaking dependency updates; It is often tedious for API users to identify the cause of these breaks and update their code accordingly. In this paper, we explore the use of Large Language Models (LLMs) to automate client code updates in response to breaking dependency updates. We evaluate our approach on the BUMP dataset, a benchmark for breaking dependency updates in Java projects. Our approach leverages LLMs with advanced prompts, including information from the build process and from the breaking dependency analysis. We assess effectiveness at three granularity…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
