Title :
Transition and defect patterns of components in dependency cycles during software evolution
Author :
Oyetoyan, Tosin Daniel ; Cruzes, Daniela Soares ; Conradi, Reidar
Author_Institution :
Dept. of Comput. & Inf. Sci., Norwegian Univ. of Sci. & Technol., Trondheim, Norway
Abstract :
The challenge to break existing cyclically connected components of running software is not trivial. Since it involves planning and human resources to ensure that the software behavior is preserved after refactoring activity. Therefore, to motivate refactoring it is essential to obtain evidence of the benefits to the product quality. This study investigates the defect-proneness patterns of cyclically connected components vs. noncyclic ones when they transition across software releases. We have mined and classified software components into two groups and two transition states-the cyclic and the non-cyclic ones. Next, we have performed an empirical study of four software systems from evolutionary perspective. Using standard statistical tests on formulated hypotheses, we have determined the significance of the defect profiles and complexities of each group. The results show that during software evolution, components that transition between dependency cycles have higher probability to be defect-prone than those that transition outside of cycles. Furthermore, out of the three complexity variables investigated, we found that an increase in the class reachability set size tends to be more associated with components that turn defective when they transition between dependency cycles. Lastly, we found no evidence of any systematic “cycle-breaking” refactoring between releases of the software systems. Thus, these findings motivate for refactoring of components in dependency cycle taking into account the minimization of metrics such as the class reachability set size.
Keywords :
object-oriented programming; reachability analysis; software maintenance; software metrics; software quality; class reachability set size; complexity variables; cyclically connected components; defect-proneness pattern; dependency cycles; metric minimization; noncyclic connected components; probability; product quality; refactoring activity; software behavior; software component classification; software component mining; software evolutionary perspective; software release; software systems; software transition; standard statistical tests; Complexity theory; Couplings; Java; Measurement; Software systems; Systematics; defect-proneness; dependency cycle; refactoring;
Conference_Titel :
Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014 Software Evolution Week - IEEE Conference on
Conference_Location :
Antwerp
DOI :
10.1109/CSMR-WCRE.2014.6747180