Characterizing architectural information in commit messages

Tiago Oliveira Motta, Rodrigo Rocha Gomes e Souza, Cláudio Sant’Anna · 2018

Context. Despite its importance in the context of software evolution, documentation about the architecture of a project, when available, can be outdated and may fail to explain the reasons behind architectural decisions. On the other hand, it is common that developers using version control systems document the rationale behind their changes by writing explanatory commit messages. Goal. This paper presents an exploratory study for investigating whether commit messages - an unstructured source of information - contain information about the architecture of a project, including the rationale behind architectural decisions. Method. For this purpose, we analyzed the commit messages of an open source project to determine whether they contained architectural information, categorized into fifteen topics. Results. As a result, we identified 232 commit messages (out of 42,117) containing project decisions as well as architectural aspects that motivated changes in the project. The most common architectural topics we found were "element of relationship", "synchronization mechanism" and "system structures". We also found that the developers who discussed architecture the most in commit messages were among the top committers of the project. Finally, we observed that most of the commits containing architectural information were concentrated shortly before or after a release.

Read the paper · More papers on PaperTik