Skip to content

Delesmell-Revamp is an exploration and attempt to replicate the work done by the authors of DeleSmell, a novel deep learning-based approach for detecting code smells.

Notifications You must be signed in to change notification settings

tarvt/Delesmell-Revamp

Repository files navigation

Description

Delesmell-Revamp is an exploration and attempt to replicate the work done by the authors of DeleSmell, a novel deep learning-based approach for detecting code smells. In their work, the authors developed an Eclipse plugin that automatically generates positive items for brain class/method code smells and extracts both structure-based and semantic-related information to create a training dataset. Structure-based information is obtained using iPlasma, while semantic-related information is extracted via latent semantic analysis and Word2Vec.

The training dataset is then fed into a deep learning model composed of a CNN branch and a GRU-Attention branch, with the final classification process performed by Support Vector Machine (SVM). DeleSmell is evaluated by answering six research questions, demonstrating its effectiveness in enhancing code smell detection.

This project seeks to replicate and build upon the findings of DeleSmell, improving upon the methodology and contributing to the ongoing research in this area.

Description of the Files

  • METHOD_01.csv: The dataset used for training the project, consisting of both structural and semantic features.
  • delesmell_class.ipynb: Contains the implementation of the deep learning model and the training process on the dataset.
  • ml_compare.ipynb: Implements and compares various machine learning methods on the METHOD_01.csv dataset.
  • dataset_class/: This folder includes several subfolders, each corresponding to a real-world project that contributed to our dataset. For example, the JavaStud/ folder originates from the JavaStud project. Each project folder contains:
    • .txt files related to the project classes, some of which exhibit brain class code smell while others do not.
    • One .csv file that contains the structural features of the project.
    • One .ipynb file that analyzes semantic features from the .txt files and adds those features to the .csv file.

About

Delesmell-Revamp is an exploration and attempt to replicate the work done by the authors of DeleSmell, a novel deep learning-based approach for detecting code smells.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •