To main content

Can Refactoring Cyclic Dependent Components Reduce Defect-Proneness?

Abstract

Previous studies have shown that dependency cycles contain significant number of defects, defect-prone components and account for the most critical defects. Thereby, demonstrating the impacts of cycles on software reliability. This preliminary study investigates the variables in a cyclic dependency graph that relate most with the number of defect-prone components in such graphs so as to motivate and guide decisions for possible system refactoring. By using network analysis and statistical methods on cyclic graphs of Eclipse and Apache-Active MQ, we have examined the relationships between the size and distance measures of cyclic dependency graphs. The size of the cyclic graphs consistently correlates more with the defect-proneness of components in these systems than other measures. Showing that adding new components to and/or creating new dependencies within an existing cyclic dependency structures are stronger in increasing the likelihood of defect-proneness. Our next study will investigate whether there is a cause and effect between refactoring (breaking) cyclic dependencies and defect-proneness of affected components

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

2013

Publisher

IEEE (Institute of Electrical and Electronics Engineers)

Book

29th IEEE International Conference on Software Maintenance (ICSM 2013)

Issue

.

Page(s)

420 - 423

View this publication at Cristin