Multi-objective code-smells detection using good and bad design examples

U Mansoor, M Kessentini, BR Maxim, K Deb - Software Quality Journal, 2017 - Springer
Software Quality Journal, 2017Springer
Code-smells are identified, in general, by using a set of detection rules. These rules are
manually defined to identify the key symptoms that characterize a code-smell using
combinations of mainly quantitative (metrics), structural, and/or lexical information. We
propose in this work to consider the problem of code-smell detection as a multi-objective
problem where examples of code-smells and well-designed code are used to generate
detection rules. To this end, we use multi-objective genetic programming (MOGP) to find the …
Abstract
Code-smells are identified, in general, by using a set of detection rules. These rules are manually defined to identify the key symptoms that characterize a code-smell using combinations of mainly quantitative (metrics), structural, and/or lexical information. We propose in this work to consider the problem of code-smell detection as a multi-objective problem where examples of code-smells and well-designed code are used to generate detection rules. To this end, we use multi-objective genetic programming (MOGP) to find the best combination of metrics that maximizes the detection of code-smell examples and minimizes the detection of well-designed code examples. We evaluated our proposal on seven large open-source systems and found that, on average, most of the different five code-smell types were detected with an average of 87 % of precision and 92 % of recall. Statistical analysis of our experiments over 51 runs shows that MOGP performed significantly better than state-of-the-art code-smell detectors.
Springer
Showing the best result for this search. See all results