Applying Information Theory to Software Evolution

Reviewed by Greg Wilson / 2023-04-27
Keywords: Information Theory, Software Evolution

Adriano Torres, Sebastian Baltes, Christoph Treude, and Markus Wagner. Applying information theory to software evolution. 2023, arXiv:2303.13729.

Although information theory has found success in disciplines, the literature on its applications to software evolution is limit. We are still missing artifacts that leverage the data and tooling available to measure how the information content of a project can be a proxy for its complexity. In this work, we explore two definitions of entropy, one structural and one textual, and apply it to the historical progression of the commit history of 25 open source projects. We produce evidence that they generally are highly correlated. We also observed that they display weak and unstable correlations with other complexity metrics. Our preliminary investigation of outliers shows an unexpected high frequency of events where there is considerable change in the information content of the project, suggesting that such outliers may inform a definition of surprisal.