The common use case of code smells assumes causality: Identify a smell, remove it, and by doing so improve the code. We empirically investigate their fitness to this use. We present a list of properties that code smells should have if they indeed cause lower quality. We evaluated the smells in 31,687 Java files from 677 GitHub repositories, all the repositories with 200+ commits in 2019. We measured the influence of smells on four metrics for quality, productivity, and bug detection efficiency. Out of 151 code smells computed by the CheckStyle smell detector, less than 20 causal, and only a handful are rather robust. The strongest smells deal with simplicity, defensive programming, and abstraction. Files without the potentially causal smells are 50 Unfortunately, most smells are not removed, and developers tend to remove the easy ones and not the effective ones.READ FULL TEXT
A key aspect of ensuring the quality of a software system is the practic...
With an ever-increasing amount of open source software, the popularity o...
Bugs are inescapable during software development due to frequent code
Two key contributions presented in this paper are: i) A method for build...
We present a code quality metric, Corrective Commit Probability (CCP),
In this work we present Ludwig, a flexible, extensible and easy to use