Pattern-oriented software architecture: a system of patterns
Pattern-oriented software architecture: a system of patterns
An Empirical Approach to Studying Software Evolution
IEEE Transactions on Software Engineering
Benchmarking Kappa: Interrater Agreement in Software ProcessAssessments
Empirical Software Engineering
ICSE '76 Proceedings of the 2nd international conference on Software engineering
Identifying Reasons for Software Changes Using Historic Databases
ICSM '00 Proceedings of the International Conference on Software Maintenance (ICSM'00)
Facilitating software evolution research with kenyon
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Measuring Fine-Grained Change in Software: Towards Modification-Aware Change Metrics
METRICS '05 Proceedings of the 11th IEEE International Software Metrics Symposium
Automated classification of change messages in open source projects
Proceedings of the 2008 ACM symposium on Applied computing
What do large commits tell us?: a taxonomical study of large commits
Proceedings of the 2008 international working conference on Mining software repositories
Hi-index | 0.00 |
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.