Do crosscutting concerns cause defects?

被引:130
作者
Eaddy, Marc [1 ]
Zimmermann, Thomas [2 ]
Sherwood, Kaitlin D. [3 ]
Garg, Vibhav [1 ]
Murphy, Gail C. [3 ]
Nagappan, Nachiappan [4 ]
Aho, Alfred V. [1 ]
机构
[1] Columbia Univ, Dept Comp Sci, New York, NY 10027 USA
[2] Univ Calgary, Dept Comp Sci, Calgary, AB T2N 1N4, Canada
[3] Univ British Columbia, Dept Comp Sci, Vancouver, BC V6T 1Z4, Canada
[4] Microsoft Res, Software Reliabil Res, Redmond, WA 98052 USA
关键词
crosscutting concerns; fault proneness; feature location; requirements traceability; mining software repositories; metrics; statistical analysis; empirical software engineering; open source software;
D O I
10.1109/TSE.2008.36
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:497 / 515
页数:19
相关论文
共 65 条
[1]  
Aho Alfred V., 1986, ADDISON WESLEY SERIE
[2]  
[Anonymous], SOFTWARE MAINTENANCE
[3]  
[Anonymous], 2002, VERSION MANAGEMENT C
[4]  
[Anonymous], 1986, STAT ANAL
[5]  
[Anonymous], P 27 INT C SOFTW ENG
[6]   Recovering traceability links between code and documentation [J].
Antoniol, G ;
Canfora, G ;
Casazza, G ;
De Lucia, A ;
Merlo, E .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2002, 28 (10) :970-983
[7]  
BARTSCH M, 2007, P WORKSH ASS ASP TEC
[8]   Building knowledge through families of experiments [J].
Basili, VR ;
Lanubile, F .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1999, 25 (04) :456-473
[9]  
BERG KV, 2006, P WORKSH ASP OR REQ
[10]  
BIGGERSTAFF TJ, 1993, PROC INT CONF SOFTW, P482, DOI 10.1109/ICSE.1993.346017