Code bad smells: a review of current knowledge

M. Zhang, T. Hall, N. Baddoo

    Research output: Contribution to journalBook/Film/Article reviewpeer-review

    117 Citations (Scopus)


    Fowler et al. identified 22 Code Bad Smells to direct the effective refactoring of code. These are increasingly being taken up by software engineers. However, the empirical basis of using Code Bad Smells to direct refactoring and to address ‘trouble’ in code is not clear, i.e., we do not know whether using Code Bad Smells to target code improvement is effective. This paper aims to identify what is currently known about Code Bad Smells. We have performed a systematic literature review of 319 papers published since Fowler et al. identified Code Bad Smells (2000 to June 2009). We analysed in detail 39 of the most relevant papers. Our findings indicate that Duplicated Code receives most research attention, whereas some Code Bad Smells, e.g., Message Chains, receive little. This suggests that our knowledge of some Code Bad Smells remains insufficient. Our findings also show that very few studies report on the impact of using Code Bad Smells, with most studies instead focused on developing tools and methods to automatically detect Code Bad Smells. This indicates an important gap in the current knowledge of Code Bad Smells. Overall this review suggests that there is little evidence currently available to justify using Code Bad Smells.
    Original languageEnglish
    Pages (from-to)179-202
    JournalJournal of Software Maintenance and Evolution
    Issue number3
    Publication statusPublished - 2011


    • systematic literature review
    • code bad smells
    • refactoring
    • empirical software engi-neering


    Dive into the research topics of 'Code bad smells: a review of current knowledge'. Together they form a unique fingerprint.

    Cite this