Crowdsmelling: The use of collective knowledge in code smells detection
Jos\'e Pereira dos Reis, Fernando Brito e Abreu, Glauco de, Figueiredo Carneiro

TL;DR
This paper introduces crowdsmelling, a machine learning-based approach that leverages collective developer knowledge to improve code smell detection, showing promising results especially for certain smells like God Class and Long Method.
Contribution
It presents a novel crowd-based calibration method for code smell detection algorithms, reducing subjectivity and enhancing detection accuracy through collective input.
Findings
High detection performance for God Class (ROC=0.896)
Good results for Long Method detection (ROC=0.870)
Lower performance for Feature Envy (ROC=0.570)
Abstract
Code smells are seen as major source of technical debt and, as such, should be detected and removed. However, researchers argue that the subjectiveness of the code smells detection process is a major hindrance to mitigate the problem of smells-infected code. We proposed the crowdsmelling approach based on supervised machine learning techniques, where the wisdom of the crowd (of software developers) is used to collectively calibrate code smells detection algorithms, thereby lessening the subjectivity issue. This paper presents the results of a validation experiment for the crowdsmelling approach. In the context of three consecutive years of a Software Engineering course, a total "crowd" of around a hundred teams, with an average of three members each, classified the presence of 3 code smells (Long Method, God Class, and Feature Envy) in Java source code. These classifications were the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
