Causal or Correlational? A Cohort Study on the Effects of Code Smells on Class Change- and Fault-Proneness

Read full text
Authors: Sabato Nocera, Sira Vegas, Giuseppe Scanniello, Massimiliano Di Penta, Natália Juristo
Cited by: 1
References: 70

Abstract

Code smells are suboptimal design choices in source code that are conjectured to hinder software maintainability. Previous research has studied the impact of code smells on class change- and fault-proneness, yet, as in most mining studies, it has been limited to highlighting correlations rather than detecting causal relationships.This paper instantiates the cohort study design to software repository studies and presents a cohort study aimed at assessing whether code smells cause an increase or decrease in class change- and fault-proneness.By reusing data from the work of Khomh et al. [41] within a cohort study design, we investigate the causal effect of eleven types of code smells on class change- and fault-proneness.Our results show that, overall, the presence of code smells appears to be causing a significant increase in change-proneness, while, with few exceptions, fault-proneness appears unaffected. This work reinforces the principle that correlation does not imply causation: we partially confirmed some previous results on the effects of code smells, while challenging others. It also lays the groundwork for applying cohort study designs to other software properties and relationships previously studied using observational data.

Publication details

Pages
1648–1660
Publication date
12 April 2026