To main content

Transition and Defect Patterns of Components in Dependency Cycles during Software Evolution

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.

Category

Academic chapter/article/Conference paper

Language

English

Author(s)

  • Tosin Daniel Oyetoyan
  • Daniela Soares Cruzes
  • Reidar Conradi

Affiliation

  • Norwegian University of Science and Technology
  • SINTEF Digital / Software Engineering, Safety and Security

Year

2014

Publisher

IEEE (Institute of Electrical and Electronics Engineers)

Book

IEEE Conference on Software Maintenance, Reengineering, and Reverse Engineering (CSMR-WCRE), Antwerp, 3-6 Febr. 2014

ISBN

978-1-4799-3752-3

Page(s)

283 - 292

View this publication at Cristin