Do Crosscutting Concerns Cause Defects?

by Marc Eaddy, Thomas Zimmermann, Kaitlin D. Sherwood, Vibhav Garg, Gail C. Murphy, Nachiappan Nagappan, Alfred V. Aho

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.

Reference

Marc Eaddy, Thomas Zimmermann, Kaitlin D. Sherwood, Vibhav Garg, Gail C. Murphy, Nachiappan Nagappan, Alfred V. Aho. Do Crosscutting Concerns Cause Defects?. In IEEE Transactions on Software Engineering (34): 497-515 (2008), July 2008, pp. 497-515.

BibTeX Entry

@article{eaddy-tse-2008,
    title = "Do Crosscutting Concerns Cause Defects?",
    author = "Marc Eaddy and Thomas Zimmermann and Kaitlin D. Sherwood and Vibhav Garg and Gail C. Murphy and Nachiappan
Nagappan and Alfred V. Aho",
    year = "2008",
    month = "July",
    journal = "IEEE Transactions on Software Engineering",
    number = "4",
    pages = "497--515",
    volume = "34",
}