SEJun 3, 2021

How does Software Change?

arXiv:2106.01885v1
Originality Synthesis-oriented
AI Analysis

This work addresses the fundamental question of how software changes over time, which is relevant for developers and researchers in software engineering, though it appears incremental as it builds on existing models like pull-based development.

The paper tackles the problem of understanding the mechanisms behind software evolution by developing a theory grounded in evidence from GitHub and literature, explaining how project-related concepts like people and governance influence decisions to include or discard code changes.

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.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes