Code smell severity classification using machine learning techniques

@article{Fontana2017CodeSS,
  title={Code smell severity classification using machine learning techniques},
  author={Francesca Arcelli Fontana and Marco Zanoni},
  journal={Knowl. Based Syst.},
  year={2017},
  volume={128},
  pages={43-58}
}

Code smell detection using multi-label classification approach

This work proposes and investigates the use of multi-label classification (MLC) methods to detect whether the given code element is affected by multiple smells or not and found that there is a positive correlation between the two smells.

Code smell detection using multi-label classification approach

This work proposes and investigates the use of multi-label classification (MLC) methods to detect whether the given code element is affected by multiple smells or not and found that there is a positive correlation between the two smells.

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

The results reveal that with this configuration the machine learning techniques reveal critical limitations in the state of the art which deserve further research.

Comparison of Multi-Label Classification Algorithms for Code Smell Detection

This paper has used machine learning techniques, especially multi-label classification methods, to classify whether the given source code is affected with more than one code smells or not, and shows that Random Forest algorithm performs better than Decision Tree, Naive Bayes, Support Vector Machine and Neural Network algorithms.

Comparing Heuristic and Machine Learning Approaches for Metric-Based Code Smell Detection

A large-scale study to empirically compare the performance of heuristic-based and machine-learning-based techniques for metric-based code smell detection, and considers five code smell types and compares machine learning models with DECOR, a state-of-the-art heuristics-based approach.

SSHM: SMOTE-stacked hybrid model for improving severity classification of code smell

This paper analysed and corrected the datasets available in the literature to remove inconsistencies in the God class and Data class datasets and proposed SSHM approach surpassed other literature study with peak accuracy improvement to 97–99% from 76 to 92% for various code smells.

A Novel Approach for Code Smell Detection: An Empirical Study

Six machine learning algorithms have been applied to predict code smells and 100% accuracy was obtained for the Long-method dataset by using the Logistic Regression algorithm with all features while the worst performance 95.20 % was obtained by Naive Bayes algorithm for the long- method dataset using the chi-square feature selection technique.

On the adequacy of static analysis warnings with respect to code smell prediction

Investigating the role of static analysis warnings generated by three state-of-the-art tools to be used as features of machine learning models for the detection of seven code smell types finds that the best model does not perform better than a random model, hence leaving open the challenges related to the definition of ad-hoc features for code smell prediction.

A Severity-Based Classification Assessment of Code Smells in Kotlin and Java Application

The study proposed a hybrid approach for inspecting the severity based on the code smell intensity in Kotlin language and comparing the code smells which are found equivalent in Java language, where the JRip algorithm proved to be the best machine learning algorithm with 96% and 97% of overall precision and accuracy, validated at 10-fold cross-validation.
...

Comparing and experimenting machine learning techniques for code smell detection

The largest experiment of applying machine learning algorithms to code smells to the best of the authors' knowledge concludes that the application of machine learning to the detection of these code smells can provide high accuracy (>96 %), and only a hundred training examples are needed to reach at least 95 % accuracy.

Automatic detection of bad smells in code: An experimental assessment

The current panorama of the tools for automatic code smell detection is reviewed by analyzing the output of four representative code smell detectors applied to six different versions of GanttProject, an open source system written in Java.

Code Smell Detection: Towards a Machine Learning-Based Approach

This paper proposes an approach for smells detection based on machine learning techniques, outlines some common problems faced and describes the different steps of the approach and the algorithms used for the classification.

Towards a prioritization of code debt: A code smell Intensity Index

An Intensity Index is provided, to be used as an estimator to determine the most critical instances, prioritizing the examination of smells and, potentially, their removal.

Smells Like Teen Spirit: Improving Bug Prediction Performance Using the Intensity of Code Smells

This paper evaluates the contribution of a measure of the severity of code smells by adding it to existing bug prediction models and comparing the results of the new model against the baseline model, and observes that the intensity index is much more important as compared to other metrics used for predicting the buggyness of smelly classes.

Landfill: An Open Dataset of Code Smells with Public Evaluation

A dataset of 243 instances of five types of code smells identified from 20 open source software projects, a systematic procedure for validating code smell datasets, and LANDFILL, a Web-based platform for sharing code smell dataset, and a set of APIs for programmatically accessing L Landfill's contents are contributed.

Poster: Filtering Code Smells Detection Results

Two kind of filters are provided, Strong and Weak Filters, that can be integrated as part of a detection approach and can be used to filter out the noise and achieve more relevant results.

Bad-smell prediction from software design model using machine learning techniques

This work presents methodology for predicting bad-smells from software design model using seven machine learning algorithms and concludes that the methodology have proximity to actual values.

SMURF: A SVM-based Incremental Anti-pattern Detection Approach

SMURF, a novel approach to detect anti-patterns, based on a machine learning technique - support vector machines - and taking into account practitioners' feedback is introduced, showing that the accuracy of SMURF is greater than that of DETEX and BDTEX when detecting anti- patterns occurrences.

Code Bad Smells: a review of current knowledge

A systematic literature review of 319 papers published since Fowler et al. identified Code Bad Smells suggests that there is little evidence currently available to justify using Code Good Smells.