Roseau: Fast, Accurate, Source-based Breaking Change Analysis in Java
This program is tentative and subject to change.
Understanding API evolution and the introduction of breaking changes (BCs) in software libraries is essential for library maintainers to maintain backward compatibility and for researchers to conduct empirical studies on software library evolution. In Java, tools such as JApiCmp and Revapi are commonly used to detect BCs between library releases, but their reliance on binary JARs limits their applicability. This restriction hinders large-scale longitudinal studies of API evolution and fine-grained analyses such as commit-level BCs detection.
In this paper, we introduce Roseau, a novel static analysis tool that constructs technology-agnostic API models from library code equipped with rich semantic analyses. API models can be analyzed to study API evolution and compared to identify BCs between any two versions of a library (releases, commits, branches, etc.). Unlike traditional approaches, Roseau can build API models from either source code or bytecode and is optimized for large-scale longitudinal analyses of library histories.
We assess the accuracy, performance, and suitability of Roseau for longitudinal studies of API evolution, using JApiCmp and Revapi as baselines. We extend and refine an established benchmark of BCs and show that Roseau achieves higher accuracy (F1 = 0.99) than JApiCmp (F1 = 0.86) and Revapi (F1 = 0.91). We analyze 60 popular libraries from Maven Central and find that Roseau delivers excellent performance, detecting BCs between versions in under two seconds, including in libraries with hundreds of thousands of lines of code. We further illustrate the inadequacy of JApiCmp and Revapi for longitudinal studies and the novel analysis capabilities offered by Roseau by tracking the evolution of Google’s Guava API and the introduction of BCs over 14 years and 6,839 commits, reducing analysis times from a few days to a few minutes.
This program is tentative and subject to change.
Thu 11 SepDisplayed time zone: Auckland, Wellington change
13:30 - 15:00 | |||
13:30 15m | ADPP: Automated Data-centric Program Partitioning Research Papers Track Xuming Jin College of Computer Science and Technology, Nanjing University of Aeronautics and Astronautics, Hao Han College of Computer Science and Technology, Nanjing University of Aeronautics and Astronautics | ||
13:45 15m | Roseau: Fast, Accurate, Source-based Breaking Change Analysis in Java Research Papers Track Corentin Latappy Univ. Bordeaux, CNRS, Bordeaux INP, LaBRI, UMR 5800, Promyze, Thomas Degueule CNRS, Jean-Rémy Falleri Univ. Bordeaux, Bordeaux INP, CNRS, LaBRI, UMR5800, F-33400 Talence, France, Romain Robbes CNRS, LaBRI, University of Bordeaux, Lina Ochoa Eindhoven University of Technology Pre-print | ||
14:00 15m | An Efficient Android App Debloating Approach Based on Multi-layer Dependence Graph Research Papers Track Hengqin Yang Institute of Software, Chinese Academy of Sciences, Jiwei Yan Institute of Software at Chinese Academy of Sciences, Jun Yan Institute of Software, Chinese Academy of Sciences, Jian Zhang Institute of Software at Chinese Academy of Sciences; University of Chinese Academy of Sciences, Bin Liang Renmin University of China, China | ||
14:15 15m | Combining Insights from Multiple Tools to Manage Technical Debt in Industrial C# Projects Industry Track Simeon Tverdal SINTEF Digital, Phu Nguyen SINTEF, Arda Goknil SINTEF Digital, Antonio Martini University of Oslo, Norway, Merve Astekin SINTEF, Mili Orucevic Visma, Maren Maritsdatter Kruke Visma software international AS, Håvard Stranden AKVA group | ||
14:30 15m | Code Readability in the Age of Large Language Models: An Industrial Case Study from Atlassian Industry Track Wannita Takerngsaksiri Monash University, Kla Tantithamthavorn Monash University and Atlassian, Michael Fu The University of Melbourne, Jirat Pasuksmit Atlassian, Kun Chen Atlassian, Ming Wu Atlassian | ||
14:45 10m | How Do Code Smells Affect Skill Growth in Scratch Novice Programmers? Registered Reports Ricardo Hidalgo Aragón Universidad Rey Juan Carlos, Jesus M. Gonzalez-Barahona Universidad Rey Juan Carlos, Gregorio Robles Universidad Rey Juan Carlos Pre-print |