CompSuite: A Dataset of Java Library Upgrade Incompatibility Issues

05/15/2023
by   Xiufeng Xu, et al.
0

Modern software systems heavily rely on external libraries developed by third-parties to ensure efficient development. However, frequent library upgrades can lead to compatibility issues between the libraries and their client systems. In this paper, we introduce CompSuite, a dataset that includes 123 real-world Java client-library pairs where upgrading the library causes an incompatibility issue in the corresponding client. Each incompatibility issue in CompSuite is associated with a test case authored by the developers, which can be used to reproduce the issue. The dataset also provides a command-line interface that simplifies the execution and validation of each issue. With this infrastructure, users can perform an inspection of any incompatibility issue with the push of a button, or reproduce an issue step-by-step for a more detailed investigation. We make CompSuite publicly available to promote open science. We believe that various software analysis techniques, such as compatibility checking, debugging, and regression test selection, can benefit from CompSuite.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
07/03/2022

PyMigBench and PyMigTax: A Benchmark and Taxonomy for Python Library Migration

Developers heavily rely on Application Programming Interfaces (APIs) fro...
research
09/27/2017

An Empirical Study on the Impact of Refactoring Activities on Evolving Client-Used APIs

Context: Refactoring is recognized as an effective practice to maintain ...
research
10/15/2021

Breaking Bad? Semantic Versioning and Impact of Breaking Changes in Maven Central

Just like any software, libraries evolve to incorporate new features, bu...
research
11/04/2021

Automatic Diversity in the Software Supply Chain

Despite its obvious benefits, the increased adoption of package managers...
research
12/06/2022

Binary-level Software Compatibility Tool Agreement

Application Binary Interface (ABI) compatibility is essential for system...
research
08/19/2023

Graph4J – A computationally efficient Java library for graph algorithms

Graph algorithms play an important role in many computer science areas. ...
research
03/17/2023

On the Effect of Instrumentation on Test Flakiness

Test flakiness is a problem that affects testing and processes that rely...

Please sign up or login with your details

Forgot password? Click here to reset