Abstract
Discussions about the evolution of software and the reuse of third-party elements have been ongoing for a long time. Since there are many open-source projects nowadays that are worked on by large groups of developers simultaneously, it is important to gain insight into how these projects behave in terms of evolution and how these projects make use of third-party elements.In this thesis, we used a methodology based on design research to carry out a case study in a structured manner. For the case study, we selected TensorFlow as an open-source project. TensorFlow is chosen because it undergoes significant changes and has a broad base of diverse contributors to its code. Within TensorFlow, we analyzed various releases to examine changes in complexity, growth of the code and functionalities, and contributions to the source code by different individuals. We compared the results to what would be expected according to the laws of software evolution derived from former studies. Furthermore, we look at the use of third-party elements in TensorFlow and describe how their evolution progresses. By examining these multiple elements, we provide an overview of the evolution of TensorFlow and the relationships between different elements of evolution.
We show that the complexity and size of TensorFlow are continuously increasing. Additionally, we demonstrate that TensorFlow relies heavily on third-party elements and that this dependency is growing. Regarding contributions to the source code, we show that the group of contributors to the source code is unstable and fluctuates for the group of external contributors. Concerning the use of third-party elements we demonstrate that TensorFlow relies heavily on third-party elements and that this reliance increases during the evolution.
Based on our findings, we provide recommendations to gain better control over the evolution of open-source projects in the future. By offering insights into the evolution of Tensor-Flowwe give insight into the evolution of open-source projects. This deeper understanding may lead to improved software quality over the lifecycle of an open-source project.
Date of Award | 5 Dec 2024 |
---|---|
Original language | English |
Supervisor | Ashish Sai (Examiner) & Clara Maathuis (Co-assessor) |
Master's Degree
- Master Software Engineering