A Preliminary Study of the Structural Dynamics of Open Source Software
Michael Burch, Simon Mettler · 2025
Software evolution encompasses all changes and adaptations in a software project from its initial development to the later stages of its lifecycle. Understanding this evolution helps developers identify patterns and potential issues, supporting, e.g., the decision to conduct refactorings with the goal of improving maintainability. In this paper, we investigate the dynamics of open source software projects in a programming language-agnostic manner. To illustrate the usefulness of our method, we analyzed 16 software projects written in Java, Python, and$\mathrm{C}++$. As a result, we found differences in the structures of the software projects, as well as between the different programming languages.