Issue No. 04 - July/August (2008 vol. 34)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TSE.2008.36
Marc Eaddy , Columbia University, NY
Thomas Zimmermann , University of Calgary, Calgary
Kaitlin D. Sherwood , University of British Columbia, Vancouver
Vibhav Garg , Columbia University, NY
Gail C. Murphy , University of British Columbia, Vancouver
Nachiappan Nagappan , Microsoft Research, Redmond
Alfred V. Aho , Columbia University, NY
There is a growing consensus that crosscutting concerns harm code quality. An example of a crosscutting concern is a functional requirement whose implementation is distributed across multiple software modules. We asked the question, "How much does the amount that a concern is crosscutting affect the number of defects in a program?" We conducted three extensive case studies to help answer this question. All three studies revealed a moderate to strong statistically significant correlation between the degree of scattering and the number of defects. This paper describes the experimental framework we developed to conduct the studies, the metrics we adopted and developed to measure the degree of scattering, the studies we performed, the efforts we undertook to remove experimental and other biases, and the results we obtained. In the process, we have formulated a theory that explains why increased scattering might lead to increased defects.
Metrics/Measurement, Validation, Quality analysis and evaluation, Software Construction, Software Quality/SQA, Correlation and regression analysis, User/Machine Systems, Distribution Maintenance and Enhancement, Software Engineering
N. Nagappan et al., "Do Crosscutting Concerns Cause Defects?," in IEEE Transactions on Software Engineering, vol. 34, no. , pp. 497-515, 2008.