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.
No
paper
Scientifica
Software
English
ACM/IEEE International Conference on Software Engineering, ICSE 2018
9781450356633
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].
Azadi, U; Arcelli Fontana, F; Zanoni, M
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 11
  • ???jsp.display-item.citation.isi??? 6
Social impact