Automatic detection of Long Method and God Class code smells through neural source code embeddings

代码气味 计算机科学 源代码 启发式 编码(集合论) 人工智能 机器学习 公制(单位) 代码评审 静态程序分析 软件质量 软件 程序设计语言 软件开发 集合(抽象数据类型) 运营管理 操作系统 经济
作者
Aleksandar Kovačević,Јелена Сливка,Dragan Vidaković,Katarina-Glorija Grujić,Nikola Luburić,Simona Prokić,Goran Sladić
出处
期刊:Expert Systems With Applications [Elsevier]
卷期号:204: 117607-117607 被引量:45
标识
DOI:10.1016/j.eswa.2022.117607
摘要

Code smells are structures in code that often harm its quality. Manually detecting code smells is challenging, so researchers proposed many automatic detectors. Traditional code smell detectors employ metric-based heuristics, but researchers have recently adopted a Machine-Learning (ML) based approach. This paper compares the performance of multiple ML-based code smell detection models against multiple metric-based heuristics for detection of God Class and Long Method code smells. We assess the effectiveness of different source code representations for ML: we evaluate the effectiveness of traditionally used code metrics against code embeddings (code2vec, code2seq, and CuBERT). This study is the first to evaluate the effectiveness of pre-trained neural source code embeddings for code smell detection to the best of our knowledge. This approach helped us leverage the power of transfer learning – our study is the first to explore whether the knowledge mined from code understanding models can be transferred to code smell detection. A secondary contribution of our research is the systematic evaluation of the effectiveness of code smell detection approaches on the same large-scale, manually labeled MLCQ dataset. Almost every study that proposes a detection approach tests this approach on the dataset unique for the study. Consequently, we cannot directly compare the reported performances to derive the best-performing approach.

科研通智能强力驱动
Strongly Powered by AbleSci AI
更新
大幅提高文件上传限制,最高150M (2024-4-1)

科研通是完全免费的文献互助平台,具备全网最快的应助速度,最高的求助完成率。 对每一个文献求助,科研通都将尽心尽力,给求助人一个满意的交代。
实时播报
123发布了新的文献求助10
1秒前
万能图书馆应助chenpeio采纳,获得10
1秒前
酷酷妙梦发布了新的文献求助10
2秒前
DMMM发布了新的文献求助10
2秒前
waq完成签到,获得积分10
3秒前
3秒前
4秒前
香蕉觅云应助一期一会采纳,获得10
4秒前
oceanao应助缓慢海亦采纳,获得10
5秒前
6秒前
wangye完成签到,获得积分10
7秒前
赘婿应助么子采纳,获得10
7秒前
leolee完成签到 ,获得积分10
7秒前
7秒前
大个应助神马都不懂采纳,获得10
10秒前
遥远的尧应助遥感小虫采纳,获得10
10秒前
hshsh发布了新的文献求助10
11秒前
橘子完成签到,获得积分10
11秒前
圆圆方方发布了新的文献求助10
12秒前
在水一方应助嘀嘀嘀采纳,获得10
15秒前
Hello应助DMMM采纳,获得10
15秒前
dafu发布了新的文献求助10
16秒前
洁净百川完成签到 ,获得积分10
17秒前
调研昵称发布了新的文献求助30
20秒前
leolee完成签到 ,获得积分10
21秒前
21秒前
淡淡的若冰应助123采纳,获得20
25秒前
oceanao举报巧可脆脆求助涉嫌违规
25秒前
明天要摆烂完成签到,获得积分10
26秒前
beyondmin完成签到 ,获得积分10
27秒前
调研昵称发布了新的文献求助10
28秒前
28秒前
ryota发布了新的文献求助10
28秒前
29秒前
29秒前
缺粥发布了新的文献求助10
31秒前
华仔应助冷酷的风华采纳,获得10
32秒前
嘀嘀嘀发布了新的文献求助10
33秒前
lalala发布了新的文献求助30
34秒前
文献发布了新的文献求助10
34秒前
高分求助中
Evolution 10000
юрские динозавры восточного забайкалья 800
English Wealden Fossils 700
Mantiden: Faszinierende Lauerjäger Faszinierende Lauerjäger 600
Distribution Dependent Stochastic Differential Equations 500
A new species of Coccus (Homoptera: Coccoidea) from Malawi 500
A new species of Velataspis (Hemiptera Coccoidea Diaspididae) from tea in Assam 500
热门求助领域 (近24小时)
化学 医学 生物 材料科学 工程类 有机化学 生物化学 物理 内科学 纳米技术 计算机科学 化学工程 复合材料 基因 遗传学 催化作用 物理化学 免疫学 量子力学 细胞生物学
热门帖子
关注 科研通微信公众号,转发送积分 3157519
求助须知:如何正确求助?哪些是违规求助? 2808909
关于积分的说明 7879293
捐赠科研通 2467387
什么是DOI,文献DOI怎么找? 1313431
科研通“疑难数据库(出版商)”最低求助积分说明 630398
版权声明 601919