arrow
返回

Crowdsmelling: A preliminary study on using collective knowledge in code smells detection

delete2022-03-17
delete8
PRE
AI
J
José Pereira dos Reis *
F
Fernando Brito e Abreu
G
Glauco de Figueiredo Carneiro
DOI:10.1007/s10664-021-10110-5delete
delete原文链接
delete原文求助
delete分享
delete收藏
摘要

摘要

En 中文
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. This paper presents the results of a validation experiment for the Crowdsmelling approach proposed earlier. The latter is 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. 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 basis of the oracles used for training six machine learning algorithms. Over one hundred models were generated and evaluated to determine which machine learning algorithms had the best performance in detecting each of the aforementioned code smells. Good performances were obtained for God Class detection (ROC= 0.896 for Naive Bayes) and Long Method detection (ROC= 0.870 for AdaBoostM1), but much lower for Feature Envy (ROC= 0.570 for Random Forrest). The results suggest that Crowdsmelling is a feasible approach for the detection of code smells. Further validation experiments based on dynamic learning are required to a comprehensive coverage of code smells to increase external validity.
Keyword:
Crowdsmelling
Code smells
Code smells detection
Software quality
Software maintenance
Collective knowledge
Machine learning algorithms

期刊

Empirical Software Engineering 封面图
Empirical Software Engineering
IF:
3.6
论文数:
2.0K
被引数:
5.3K

机构

U
universidade salvador (unifacs)
学者数:
264
论文数: 152
被引数: 0
I
instituto universitario de lisboa
学者数:
1.6K
论文数: 1.8K
被引数: 2
引用论文

引用论文

Analysis of genetic variability in various tissue culture-derived lemon plant populations using RAPD and flow cytometry
err2007-09-08
err0
PREAI
errV. Orbović; M. Ćalović; Z. Viloria; B. Nielsen; F. G. Gmitter; W. S. Castle; J. W. Grosser
err分享
err收藏
Recombination between an expressed immunoglobulin heavy-chain gene and a germline variable gene segment in a Ly 1+ B-cell lymphoma
err1986-08-01
err0
PREAI
errRobert Kleinfield; Richard R. Hardy; David Tarlinton; Jeffery Dangl; Leonard A. Herzenberg; Martin Weigert
err分享
err收藏
Patent Foramen Ovale Complicating Heart Transplantation
err1987-09-01
err0
errOAAI
errLarry L. Schulman; Craig R. Smith; Ronald Drusin; Eric A Rose; Yale Enson; Keith Reemtsma
err分享
err收藏
Crowd computing: using competitive dynamics to develop and refine highly predictive models
err2013-05-01
err26
PREAI
errBentzien, Joerg; Muegge, Ingo; Hamner, Ben; Thompson, David C.
err分享
err收藏
学者 查看更多内容