DocumentCode
700382
Title
Untangling fine-grained code changes
Author
Dias, Martin ; Bacchelli, Alberto ; Gousios, Georgios ; Cassou, Damien ; Ducasse, Stephane
Author_Institution
RMoD Inria Lille-Nord Eur., Univ. of Lille ? CRIStAL, Lille, France
fYear
2015
fDate
2-6 March 2015
Firstpage
341
Lastpage
350
Abstract
After working for some time, developers commit their code changes to a version control system. When doing so, they often bundle unrelated changes (e.g., bug fix and refactoring) in a single commit, thus creating a so-called tangled commit. Sharing tangled commits is problematic because it makes review, reversion, and integration of these commits harder and historical analyses of the project less reliable. Researchers have worked at untangling existing commits, i.e., finding which part of a commit relates to which task. In this paper, we contribute to this line of work in two ways: (1) A publicly available dataset of untangled code changes, created with the help of two developers who accurately split their code changes into self contained tasks over a period of four months; (2) a novel approach, EpiceaUntangler, to help developers share untangled commits (aka. atomic commits) by using fine-grained code change information. EpiceaUntangler is based and tested on the publicly available dataset, and further evaluated by deploying it to 7 developers, who used it for 2 weeks. We recorded a median success rate of 91% and average one of 75%, in automatically creating clusters of untangled fine-grained code changes.
Keywords
software maintenance; EpiceaUntangler; fine-grained code change information; fine-grained code change untangling; version control system; Clustering algorithms; Java; Machine learning algorithms; Reliability; Software; Testing; Training;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Analysis, Evolution and Reengineering (SANER), 2015 IEEE 22nd International Conference on
Conference_Location
Montreal, QC
Type
conf
DOI
10.1109/SANER.2015.7081844
Filename
7081844
Link To Document