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 BV]
卷期号: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
科研通是完全免费的文献互助平台,具备全网最快的应助速度,最高的求助完成率。 对每一个文献求助,科研通都将尽心尽力,给求助人一个满意的交代。
实时播报
1秒前
ninomae完成签到 ,获得积分10
1秒前
喜东东完成签到,获得积分10
1秒前
成就山菡完成签到,获得积分10
1秒前
啊炜完成签到,获得积分10
1秒前
田家溢发布了新的文献求助10
1秒前
bjcyqz完成签到,获得积分10
2秒前
状头完成签到,获得积分10
2秒前
2秒前
吞吞完成签到,获得积分10
2秒前
LL发布了新的文献求助10
2秒前
李健应助zhuyoumm采纳,获得10
3秒前
郭奕沛给郭奕沛的求助进行了留言
3秒前
hehe完成签到,获得积分10
3秒前
4秒前
W29完成签到,获得积分0
4秒前
4秒前
悦耳灰狼完成签到,获得积分10
4秒前
123456发布了新的文献求助10
4秒前
SciGPT应助mokesun采纳,获得10
4秒前
科研通AI6.3应助丹丹采纳,获得30
4秒前
hhh完成签到,获得积分10
4秒前
4秒前
哪吒3之魔童读研完成签到,获得积分10
4秒前
Ava应助ouLniM采纳,获得10
5秒前
keke完成签到,获得积分10
5秒前
大个应助元元采纳,获得10
5秒前
静静子发布了新的文献求助10
5秒前
梦桃发布了新的文献求助10
5秒前
Van完成签到,获得积分10
6秒前
意昂发布了新的文献求助10
6秒前
spark发布了新的文献求助10
6秒前
kerr发布了新的文献求助10
6秒前
6秒前
SciGPT应助ZHAOZHAO采纳,获得10
7秒前
7秒前
wanci应助南湖秋水采纳,获得10
7秒前
7秒前
loren完成签到 ,获得积分10
8秒前
8秒前
高分求助中
(应助此贴封号)【重要!!请各用户(尤其是新用户)详细阅读】【科研通的精品贴汇总】 10000
AnnualResearch andConsultation Report of Panorama survey and Investment strategy onChinaIndustry 1000
機能性マイクロ細孔・マイクロ流体デバイスを利用した放射性核種の 分離・溶解・凝集挙動に関する研究 1000
卤化钙钛矿人工突触的研究 1000
Engineering for calcareous sediments : proceedings of the International Conference on Calcareous Sediments, Perth 15-18 March 1988 / edited by R.J. Jewell, D.C. Andrews 1000
Wolffs Headache and Other Head Pain 9th Edition 1000
Continuing Syntax 1000
热门求助领域 (近24小时)
化学 材料科学 医学 生物 纳米技术 工程类 有机化学 化学工程 生物化学 计算机科学 物理 内科学 复合材料 催化作用 物理化学 光电子学 电极 细胞生物学 基因 无机化学
热门帖子
关注 科研通微信公众号,转发送积分 6257730
求助须知:如何正确求助?哪些是违规求助? 8079918
关于积分的说明 16879747
捐赠科研通 5329950
什么是DOI,文献DOI怎么找? 2837521
邀请新用户注册赠送积分活动 1814838
关于科研通互助平台的介绍 1669008