How does Software Change?

Ayushi Rastogi,Georgios Gousios
DOI: https://doi.org/10.48550/arXiv.2106.01885
2021-06-03
Software Engineering
Abstract:Software evolves with changes to its codebase over time. Internally, software changes in response to decisions to include some code change into the codebase and discard others. Explaining the mechanism of software evolution, this paper presents a theory of software change. Our theory is grounded in multiple evidence sources (e.g., GitHub documentation and relevant scientific literature) relating to the pull-based development model in GitHub. The resulting theory explains the influence of project-related core concepts (e.g., people and governance) as well as its ecosystem on the decision of software change.
What problem does this paper attempt to address?