Finding most used software application by using a time-dependency graph

Bachelor Thesis (2022)
Author(s)

A. Dumitru (TU Delft - Electrical Engineering, Mathematics and Computer Science)

Contributor(s)

Gousios Gousios – Mentor (TU Delft - Software Technology)

DIomidis Spinellis – Mentor (TU Delft - Software Engineering)

A. Anand – Mentor (TU Delft - Web Information Systems)

Faculty
Electrical Engineering, Mathematics and Computer Science
Copyright
© 2022 Alexandru Dumitru
More Info
expand_more
Publication Year
2022
Language
English
Copyright
© 2022 Alexandru Dumitru
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
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

Using open-source packages when developing software applications is the general practice among a vast amount of software developers. However, importing open-source code which may depend on other existing technologies may lead to the appearance of a transitive dependency chain. As a result, failure of packages with a high amount of transitive dependants may have an impact on the performance of all dependant applications. This work focuses on designing a graph data structure which maps the dependency relationship between packages as edges, with nodes representing a single version of a certain package. Moreover, the data structure may perform queries based on time intervals, being able to resolve versions in the same manner as a package distributor would. By constructing such data structure, an analysis of the most critical packages for an ecosystem can be conducted. This paper looks mainly into the Debian ecosystem, and searches for applications which are most critical. Based on this paper criticality evaluation, the package dpkg was found to be both most critical and most used in whole Debian's package main repository.

Files

Research_Paper_1.pdf
(pdf | 2.08 Mb)
License info not available