Code smells can be subjectively interpreted, the results provided by detectors are usually different, the agreement in the results is scarce, and a benchmark for the comparison of these results is not yet available. The main approaches used to detect code smells are based on the computation of a set of metrics. However code smell detectors often use different metrics and/or different thresholds, according to their detection rules. As result of this inconsistency the number of detected smells can increase or decrease accordingly, and this makes hard to understand when, for a specific software, a certain characteristic identifies a code smell or not. In this work, we introduce WekaNose, a tool that allows to perform an experiment to study code smell detection through machine learning techniques. The experiment's purpose is to select rules, and/or obtain trained algorithms, that can classify an instance (method or class) as affected or not by a code smell. These rules have the main advantage of being extracted through an example-based approach, rather then a heuristic-based one.

Azadi, U., Arcelli Fontana, F., Zanoni, M. (2018). Machine learning based code smell detection through WekaNose. In ICSE '18 Proceedings of the 40th International Conference on Software Engineering: Companion Proceeedings (pp.288-289). 345 E 47TH ST, NEW YORK, NY 10017 USA : IEEE Computer Society [10.1145/3183440.3194974].

Machine learning based code smell detection through WekaNose

Arcelli Fontana, F
Membro del Collaboration Group
;
Zanoni, M
Membro del Collaboration Group
2018

Abstract

Code smells can be subjectively interpreted, the results provided by detectors are usually different, the agreement in the results is scarce, and a benchmark for the comparison of these results is not yet available. The main approaches used to detect code smells are based on the computation of a set of metrics. However code smell detectors often use different metrics and/or different thresholds, according to their detection rules. As result of this inconsistency the number of detected smells can increase or decrease accordingly, and this makes hard to understand when, for a specific software, a certain characteristic identifies a code smell or not. In this work, we introduce WekaNose, a tool that allows to perform an experiment to study code smell detection through machine learning techniques. The experiment's purpose is to select rules, and/or obtain trained algorithms, that can classify an instance (method or class) as affected or not by a code smell. These rules have the main advantage of being extracted through an example-based approach, rather then a heuristic-based one.
paper
Software
English
ACM/IEEE International Conference on Software Engineering, ICSE 2018
2018
ICSE '18 Proceedings of the 40th International Conference on Software Engineering: Companion Proceeedings
9781450356633
2018
288
289
none
Azadi, U., Arcelli Fontana, F., Zanoni, M. (2018). Machine learning based code smell detection through WekaNose. In ICSE '18 Proceedings of the 40th International Conference on Software Engineering: Companion Proceeedings (pp.288-289). 345 E 47TH ST, NEW YORK, NY 10017 USA : IEEE Computer Society [10.1145/3183440.3194974].
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10281/219109
Citazioni
  • Scopus 22
  • ???jsp.display-item.citation.isi??? 14
Social impact