• DocumentCode
    251846
  • 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
  • fYear
    2014
  • fDate
    3-6 Feb. 2014
  • Firstpage
    283
  • Lastpage
    292
  • 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;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014 Software Evolution Week - IEEE Conference on
  • Conference_Location
    Antwerp
  • Type

    conf

  • DOI
    10.1109/CSMR-WCRE.2014.6747180
  • Filename
    6747180