The Emergence of Software Diversity in Maven Central

03/13/2019
by   César Soto Valero, et al.
0

Maven artifacts are immutable: an artifact that is uploaded on Maven Central cannot be removed nor modified. The only way for developers to upgrade their library is to release a new version. Consequently, Maven Central accumulates all the versions of all the libraries that are published there, and applications that declare a dependency towards a library can pick any version. In this work, we hypothesize that the immutability of Maven artifacts and the ability to choose any version naturally support the emergence of software diversity within Maven Central. We analyze 1,487,956 artifacts that represent all the versions of 73,653 libraries. We observe that more than 30 libraries have multiple versions that are actively used by latest artifacts. In the case of popular libraries, more than 50 also observe that more than 17 significantly more used than the other versions. Our results indicate that the immutability of artifacts in Maven Central does support a sustained level of diversity among versions of libraries in the repository.

READ FULL TEXT
research
02/17/2021

DepOwl: Detecting Dependency Bugs to Prevent Compatibility Failures

Applications depend on libraries to avoid reinventing the wheel. Librari...
research
04/29/2021

The Behavioral Diversity of Java JSON Libraries

JSON is a popular file and data format that is precisely specified by th...
research
02/13/2019

The artist libraries project

The creation of the Artist Libraries Project was sparked by the observat...
research
01/16/2019

The Maven Dependency Graph: a Temporal Graph-based Representation of Maven Central

The Maven Central Repository provides an extraordinary source of data to...
research
04/13/2021

Practical Pitfalls for Security in OPC UA

In 2006, the OPC Foundation released the first specification for OPC Uni...
research
03/19/2018

A promise checked is a promise kept: Inspection Testing

Occasionally, developers need to ensure that the compiler treats their c...
research
03/19/2018

Beyond correct and fast: Inspection Testing

Occasionally, developers need to ensure that the compiler treats their c...

Please sign up or login with your details

Forgot password? Click here to reset