An Empirical Study of the Effect of File Editing Patterns on Software Quality

10.18.2012

While some developers like to work on multiple code change requests, others might prefer to handle one change request at a time. This juggling of change requests and the large number of developers working in parallel often lead to files being edited as part of different change requests by one or several developers. Existing research has warned the community about the potential negative impacts of some file editing patterns on software quality. For example, when several developers concurrently edit a file as part of different change requests, they are likely to introduce bugs due to limited awareness of other changes. However, very few studies have provided quantitative evidence to support these claims. In this paper, we identify four file editing patterns. We perform an empirical study on three open source software systems to investigate the individual and the combined impact of the four patterns on software quality. We find that: (1) files that are edited concurrently by many developers have on average 2.46 times more future bugs than files that are not concurrently edited; (2) files edited in parallel with other files by the same developer have on average 1.67 times more future bugs than files individually edited; (3) files edited over an extended period (i.e., above the third quartile) of time have 2.28 times more future bugs than other files; and (4) files edited with long interruptions (i.e., above the third quartile) have 2.1 times more future bugs than other files. When more than one editing patterns are followed by one or many developers during the editing of a file, we observe that the number of future bugs in the file can be as high as 1.6 times the average number of future bugs in files edited following a single editing pattern. These results can be used by software development teams to warn developers about risky file editing patterns.

Resources

Reference

Feng Zhang, Foutse Khomh, Ying Zou, and Ahmed E. Hassan, An Empirical Study of the Effect of File Editing Patterns on Software Quality, Proceedings of the 19th Working Conference on Reverse Engineering (WCRE), October 15-18, 2012, Kingston, Ontario, Canada. IEEE Computer Society Press.

BibTex

@inproceedings{zkzh-wcre2012-pattern,
 author = {Zhang, Feng and Khomh, Foutse and Zou, Ying and Hassan, Ahmed E.},
 title = {An Empirical Study of the Effect of File Editing Patterns on Software Quality},
 booktitle = {Proceedings of the 2012 19th Working Conference on Reverse Engineering},
 series = {WCRE '12},
 year = {2012},
 isbn = {978-0-7695-4891-3},
 pages = {456--465},
 numpages = {10},
 url = {http://dx.doi.org/10.1109/WCRE.2012.55},
 doi = {10.1109/WCRE.2012.55},
 acmid = {2420418},
 publisher = {IEEE Computer Society},
 address = {Washington, DC, USA},
 keywords = {ile editing pattern, change request, bug, software quality, empirical software engineering, mylyn},
}
Download the bibtex