Skip to main navigation Skip to search Skip to main content

Exploring Design smells for smell-based defect prediction

  • Bruno Sotto-Mayor
  • , Amir Elmishali
  • , Meir Kalech
  • , Rui Abreu

    Research output: Contribution to journalArticlepeer-review

    12 Scopus citations

    Abstract

    Defect prediction is commonly used to reduce the effort from the testing phase of software development. A promising strategy is to use machine learning techniques to predict which software components may be defective. Features are key factors to the prediction's success, and thus extracting significant features can improve the model's accuracy. In particular, code smells are a category of those features that have been shown to improve the prediction performance significantly. However, Design code smells, a state-of-the-art collection of code smells based on the violations of the object-oriented programming principles, have not been studied in the context of defect prediction. In this paper, we study the performance of defect prediction models by training multiple classifiers for 97 real projects. We compare using Design code smells as features and using other Traditional smells from the literature and both. Moreover, we cluster and analyze the models’ performance based on the categories of Design code smells. We conclude that the models trained with both the Design code smells and the smells from the literature performed the best, with an improvement of 4.1% for the AUC score, compared to models trained with only Traditional smells. Consequently, Design smells are a good addition to the smells commonly studied in the literature for defect prediction.

    Original languageEnglish
    Article number105240
    JournalEngineering Applications of Artificial Intelligence
    Volume115
    DOIs
    StatePublished - 1 Oct 2022

    Keywords

    • Code smell
    • Defect prediction
    • Mining software repositories
    • Software engineering
    • Software quality

    ASJC Scopus subject areas

    • Control and Systems Engineering
    • Artificial Intelligence
    • Electrical and Electronic Engineering

    Fingerprint

    Dive into the research topics of 'Exploring Design smells for smell-based defect prediction'. Together they form a unique fingerprint.

    Cite this