Print Email Facebook Twitter Analyzing the effect of introducing time as a component in Python dependency graphs Title Analyzing the effect of introducing time as a component in Python dependency graphs Author Purcaru, Andrei (TU Delft Electrical Engineering, Mathematics and Computer Science; TU Delft Software Engineering) Contributor Spinellis, D. (mentor) Gousios, Giorgos (mentor) Anand, A. (graduation committee) Degree granting institution Delft University of Technology Programme Computer Science and Engineering Project CSE3000 Research Project Date 2022-06-23 Abstract The use of open-source packages is a common practice among developers. It decreases the development time and improves maintainability. But adding a dependency to a project comes with inherit risks such as introducing vulnerabilities. A few solutions that help visualize all of the dependencies of a project exist already. However, none provide the capability of selecting a moment in time for analyzing the generated structure. This research paper formalizes a time-based dependency graph that can be generalized to any ecosystem and then showcases its usefulness by analyzing the Python ecosystem throughout time. The results indicate that the Python ecosystem does have a subset of packages that are the most used - such as numpy and requests - but overall it is well balanced, meaning that it is able to withstand the removal of one of its most used packages. The data structure also provides satisfactory results, having a 89.6% accuracy when compared to the Python resolver. The findings of this study can be used to improve existing dependency networks. Subject PythonGraphDependency GraphTime-Based GraphPython EcosystemPagerank To reference this document use: http://resolver.tudelft.nl/uuid:e3c43354-71ec-4c25-8047-6b06195b5d0b Part of collection Student theses Document type bachelor thesis Rights © 2022 Andrei Purcaru Files PDF AndreiPurcaruFinalPaper.pdf 1.12 MB Close viewer /islandora/object/uuid:e3c43354-71ec-4c25-8047-6b06195b5d0b/datastream/OBJ/view