Title :
Do Crosscutting Concerns Cause Defects?
Author :
Eaddy, Marc ; Zimmermann, Thomas ; Sherwood, Kaitlin D. ; Garg, Vibhav ; Murphy, Gail C. ; Nagappan, Nachiappan ; Aho, Alfred V.
Author_Institution :
Dept. of Comput. Sci., Columbia Univ., New York, NY
Abstract :
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.
Keywords :
data mining; software engineering; code quality; crosscutting concerns; software modules; statistically significant correlation; Correlation and regression analysis; Distribution Maintenance and Enhancement; Metrics/Measurement; Quality analysis and evaluation; Software Construction; Software Engineering; Software Quality/SQA; User/Machine Systems; Validation;
Journal_Title :
Software Engineering, IEEE Transactions on
DOI :
10.1109/TSE.2008.36