Theory of Relative Dependency: Higher Coupling Concentration in Smaller Modules and its Implications for Software Refactoring and Quality

Theory of Relative Dependency: Higher Coupling Concentration in Smaller Modules and its Implications for Software Refactoring and Quality Our recent studies have repeatedly found that smaller modules are proportionally more defect-prone. In this paper, we formulated and tested a hypothesis stating that smaller modules are proportionally more coupled given that dependencies caused by coupling has been consistently associated with defect-proneness. We found strong evidence supporting this hypothesis. Further, we found that refactoring practices exacerbate this effect. Based on the highly consistent results obtained in this study, we state an empirically-based theory for software modules called the theory of relative dependency: In large scale software systems, smaller modules will be proportionally more dependent compared to larger ones. The implications of our findings for practice are twofold: (1) we now have an empirically supported mechanism explaining the observations that defect concentration is higher in smaller modules, which can be used by practitioners as an evidence while seeking resources and support to revise or amend the existing quality assurance and quality control practices in their organizations; (2) for projects that refactor extensively, such as those using agile methods, focusing defect detection and correction activities on smaller modules will lead to even more effective defect detection.