Abstract
The evolution of software and the reuse of third-party components have been extensively discussed over time. In this research, an investigation is made on how modern open-source projects, often developed by large groups of diverse contributors, behave in terms of evolution and their reliance on third-party elements. Through a design science methodological approach, a case study on TensorFlow is conducted since it is a well-known open-source machine learning platform often selected for its significant changes and diverse contributor base. By analyzing various releases, changes in complexity, growth of code and functionalities, and individual contributions are examined. Moreover, these results are compared to the established laws of software evolution. The findings show that TensorFlow's complexity and size are continuously increasing, along with its dependency on third-party elements. Additionally, a fluctuating and unstable group of external contributions is seen, which points out a key difference in the evolution of modern open-source projects compared to earlier software systems. Based on these findings, recommendations are provided to gain better control over the evolution of open-source projects to improve software quality and long-term sustainability.
| Original language | English |
|---|---|
| Title of host publication | Proceedings - 2025 IEEE 22nd International Conference on Software Architecture, ICSA-C 2025 |
| Publisher | IEEE |
| Pages | 426-433 |
| Number of pages | 8 |
| ISBN (Electronic) | 9798331520908 |
| DOIs | |
| Publication status | Published - 2025 |
| Event | 22nd IEEE International Conference on Software Architecture, ICSA-C 2025 - Odense, Denmark Duration: 31 Mar 2025 → 4 Apr 2025 https://conf.researchr.org/home/icsa-2025 |
Conference
| Conference | 22nd IEEE International Conference on Software Architecture, ICSA-C 2025 |
|---|---|
| Abbreviated title | ICSA 2025 |
| Country/Territory | Denmark |
| City | Odense |
| Period | 31/03/25 → 4/04/25 |
| Internet address |
Keywords
- maintainability
- open-source software
- software architecture
- Software evolution
- third-party libraries