Tracing your maintenance work - a cross-project validation of an automated classification dictionary for commit messages


A commit message is a description of a change in a Version Control System (VCS). Besides the actual description of the change, it can also serve as an indicator for the purpose of the change, e.g. a change to refactor code might be accompanied by a commit message in the form of “Refactored class XY to improve readability”. We would label the change in our example a perfective change, according to maintenance literature. This simplified example shows how it is possible to classify a change by its commit message. However, commit messages are unstructured, textual data and efforts to automatically label changes into categories like perfective have only been applied to a small set of projects within the same company or the same community. In this work, we present a cross-project evaluated and valid mapping of changes to the code base and their purpose that is usable without any customization on any open-source project. We provide further the Eclipse Plug-In Subcat which allows for a comfortable analysis of projects from within Eclipse. By using Subcat, we are able to automatically assess if a commit to the code was e.g. a bug fix or a refactoring. This information is very useful for e.g. developer profiling or locating bad smells in modules.

Talk: 15th International Conference on Fundamental Approaches to Software Engineering (FASE'12), Tallinn, Estonia; 03-24-2012 - 04-01-2012; in: “Proceedings of the 15th international conference on Fundamental Approaches to Software Engineering (FASE'12)", Springer-Verlag, Berlin, Heidelberg (2012), ISBN: 978-3-642-28871-5; 301 - 315
Christian Schanes
Projektass. Dipl.-Ing. Dr.techn.
Thomas Grechenig
Thomas Grechenig
Ao.Univ.Prof. Dipl.-Ing. Dr.techn.