Applying Information Theory to Software Evolution: What can we Learn From Surprising Changes?

Date

2024

Authors

Rodrigues Figueiredo Torres, Adriano

Editors

Advisors

Treude, Christoph (Singapore Management University)
Baltes, Sebastian

Journal Title

Journal ISSN

Volume Title

Type:

Thesis

Citation

Statement of Responsibility

Conference Name

Abstract

Information theory, though widely applied in various disciplines, remains underexplored in the field of software engineering and the evolution of code bases. This work seeks to address this gap by investigating the application of information theory to measure the ever-changing complexity of software projects. We examine two definitions of entropy, one based on natural language tokens and another based in Abstract Syntax Tree nodes, and apply them to the commit history of 95 open-source projects. Our analysis reveals a strong correlation between the two entropy measures and highlights their mostly weak correlations with established metrics of software complexity. Furthermore, our data from information-theoretic anomaly detection suggest that significant fluctuations in project information content may inform a definition of surprising change events. Building on this, we extend our analysis to measure the information content of source code using tokens and abstract syntax tree nodes as the elements of the communication system defined by the source code. Through an empirical assessment of 95 actively maintained open source projects, we demonstrate that entropy metrics capture distinct dimensions of complexity compared to traditional metrics. Finally, we showcase the efficacy of information theory in anomaly detection, indicating its potential in identifying unusual change commits generated software evolution, thus paving the way for automated detection of such events. This research offers valuable insights into the use of information theory for a comprehensive understanding of software complexity throughout its development life cycle.

School/Discipline

School of Computer and Mathematical Sciences

Dissertation Note

Thesis (MPhil.) -- University of Adelaide, School of Computer and Mathematical Sciences, 2024

Provenance

This electronic version is made publicly available by the University of Adelaide in accordance with its open access policy for student theses. Copyright in this thesis remains with the author. This thesis may incorporate third party material which has been used by the author pursuant to Fair Dealing exceptions. If you are the owner of any included third party copyright material you wish to be removed from this electronic version, please complete the take down form located at: http://www.adelaide.edu.au/legals

Description

Access Status

Rights

License

Grant ID

Published Version

Call number

Persistent link to this record