Authors: Baishakhi Ray Meiyappan Nagappan Christian Bird Nachiappan Nagappan Thomas Zimmermann
Venue: MSR 2015 IEEE/ACM 12th Working Conference on Mining Software Repositories, pp. 34--44, 2015
Year: 2015
Abstract: Changes in software development come in many forms. Some changes are frequent, idiomatic, or repetitive (e.g. Adding checks for nulls or logging important values) while others are unique. We hypothesize that unique changes are different from the more common similar (or non-unique) changes in important ways, they may require more expertise or represent code that is more complex or prone to mistakes. As such, these unique changes are worthy of study. In this paper, we present a definition of unique changes and provide a method for identifying them in software project history. Based on the results of applying our technique on the Linux kernel and two large projects at Microsoft, we present an empirical study of unique changes. We explore how prevalent unique changes are and investigate where they occur along the architecture of the project. We further investigate developers' contribution towards uniqueness of changes. We also describe potential applications of leveraging the uniqueness of change and implement two of those applications, evaluating the risk of changes based on uniqueness and providing change recommendations for non-unique changes.
Preprint: PDF
BibTeX:
@inproceedings{baishakhiray2015tuoccaa,
author = "Baishakhi Ray and Meiyappan Nagappan and Christian Bird and Nachiappan Nagappan and Thomas Zimmermann",
title = "The uniqueness of changes: Characteristics and applications",
year = "2015",
pages = "34--44",
booktitle = "Proc. of 2015 IEEE/ACM 12th Working Conference on Mining Software Repositories"
}
Plain Text:
Baishakhi Ray, Meiyappan Nagappan, Christian Bird, Nachiappan Nagappan, and Thomas Zimmermann, "The uniqueness of changes: Characteristics and applications," 2015 IEEE/ACM 12th Working Conference on Mining Software Repositories, pp. 34--44