Detecting code smells using machine learning techniques: Are we there yet?

Dario Di Nucci, Fabio Palomba, Damian A. Tamburri, Alexander Serebrenik, Andrea De Lucia

    Research output: Chapter in Book/Report/Conference proceedingConference contributionScientificpeer-review


    Code smells are symptoms of poor design and implementation choices weighing heavily on the quality of produced source code. During the last decades several code smell detection tools have been proposed. However, the literature shows that the results of these tools can be subjective and are intrinsically tied to the nature and approach of the detection. In a recent work the use of Machine-Learning (ML) techniques for code smell detection has been proposed, possibly solving the issue of tool subjectivity giving to a learner the ability to discern between smelly and non-smelly source code elements. While this work opened a new perspective for code smell detection, it only considered the case where instances affected by a single type smell are contained in each dataset used to train and test the machine learners. In this work we replicate the study with a different dataset configuration containing instances of more than one type of smell. The results reveal that with this configuration the machine learning techniques reveal critical limitations in the state of the art which deserve further research.
    Original languageEnglish
    Title of host publication2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER)
    Publication statusPublished - Mar 2018


    Dive into the research topics of 'Detecting code smells using machine learning techniques: Are we there yet?'. Together they form a unique fingerprint.

    Cite this