Analyzing the Criticality of Apache Maven Packages Through a Temporal Dependency Graph

Bachelor Thesis (2022)
Authors

D. Corlade (TU Delft - Electrical Engineering, Mathematics and Computer Science)

Supervisors

Gousios Gousios (TU Delft - Software Technology)

DIomidis Spinellis (TU Delft - Software Engineering)

Faculty
Electrical Engineering, Mathematics and Computer Science, Electrical Engineering, Mathematics and Computer Science
Copyright
© 2022 Denis Corlade
More Info
expand_more
Publication Year
2022
Language
English
Copyright
© 2022 Denis Corlade
Graduation Date
23-06-2022
Awarding Institution
Delft University of Technology
Project
CSE3000 Research Project
Programme
Computer Science and Engineering
Faculty
Electrical Engineering, Mathematics and Computer Science, Electrical Engineering, Mathematics and Computer Science
Reuse Rights

Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.

Abstract

Developers rely on different software to improve their efficiency as to reuse parts of code and be able to maintain it with ease, which is why open source software libraries have gained much pop- ularity over the past years. This paper analyzes what are the most used packages from Apache Maven, which is a build automation tool used primarily for Java projects. In order to do an accurate analysis, it is necessary to collect all the packages and their dependencies from the Maven Central Repository. But, as of 5th of May 2022, analyzing the whole repository proves to be an extreme challenge, as the repository has 9M of indexed artifacts, which contain metadata such as the version and a list of dependencies. Besides, there are many more other repositories that also contain such artifacts. Thus, this pa- per examines only a small subset of artifacts and provides a data structure that is able to take into consideration the time dependency between li- braries, which can be also scaled to suit a much bigger input. The paper concludes with the most used software on given time-frames, but with- out specifying any time frames, the popular junit package comes out first.

Files

License info not available