REMS: Recommending Extract Method Refactoring Opportunities via Multi-view Representation of Code Property Graph

重构代码 计算机科学 人工智能 机器学习 启发式 编码(集合论) 图形 软件 数据挖掘 程序设计语言 理论计算机科学 操作系统 集合(抽象数据类型)
作者
Di Cui,Qiangqiang Wang,Siqi Wang,Jianlei Chi,Jianan Li,Lu Wang,Qingshan Li
标识
DOI:10.1109/icpc58990.2023.00034
摘要

Extract Method is one of the most frequently performed refactoring operations for the decomposition of large and complex methods, which can also be combined with other refactoring operations to remove a variety of design flaws. Several Extract Method refactoring tools have been proposed based on the quantification of extraction criteria. To the best of our knowledge, state-of-the-art related techniques can be broadly divided into two categories: the first line is non-machine-learning-based approaches built on heuristics, and the second line is machine learning-based approaches built on historical data. Most of these approaches characterize the extraction criteria by deriving software metrics from fine-grained code properties. However, in most cases, these metrics can be challenging to concretize, and their selections and thresholds also largely rely on expert knowledge. Thus, in this paper, we propose an approach to automatically recommend Extract Method refactoring opportunities named REMS via mining multi-view representations from code property graph. We fuse various representations together using compact bilinear pooling and further train machine learning classifiers to guide the extraction of suitable lines of code as new method. We evaluate our approach on two publicly available datasets. The results show that our approach outperforms five state-of-the-art refactoring tools including GEMS, JExtract, SEMI, JDeodorant, and Segmentation in effectiveness and usefulness. Our approach demonstrates an increase of 29% in precision, 15% in recall, and 23% in f1-measure. The results also unveil practical suggestions and provide new insights that benefit additional extract-related refactoring techniques.
最长约 10秒,即可获得该文献文件

科研通智能强力驱动
Strongly Powered by AbleSci AI
科研通是完全免费的文献互助平台,具备全网最快的应助速度,最高的求助完成率。 对每一个文献求助,科研通都将尽心尽力,给求助人一个满意的交代。
实时播报
4秒前
ding应助博丽灵梦采纳,获得10
4秒前
犹豫的南露完成签到,获得积分10
4秒前
zhuo完成签到,获得积分10
4秒前
甜橙完成签到 ,获得积分10
7秒前
7秒前
晶了个天地完成签到,获得积分10
7秒前
李德胜发布了新的文献求助10
8秒前
疯子不风完成签到,获得积分10
8秒前
8秒前
9秒前
桃子爱学习完成签到,获得积分10
9秒前
过冷风完成签到,获得积分10
9秒前
jzj完成签到 ,获得积分10
10秒前
12秒前
12秒前
chemboy发布了新的文献求助10
12秒前
PanCoo完成签到,获得积分10
13秒前
15秒前
XYZ完成签到 ,获得积分10
17秒前
cheng完成签到,获得积分10
19秒前
朴素子骞发布了新的文献求助10
19秒前
雪白若颜完成签到 ,获得积分10
19秒前
20秒前
科研通AI6.2应助111采纳,获得10
22秒前
打打应助舒服的鱼采纳,获得10
22秒前
22秒前
hh发布了新的文献求助10
25秒前
26秒前
Hello应助zjtttt采纳,获得10
26秒前
大气指甲油完成签到,获得积分10
26秒前
清脆的凉面完成签到,获得积分10
27秒前
无私的蛋挞完成签到,获得积分10
27秒前
高兴的毛豆完成签到 ,获得积分10
28秒前
dqw发布了新的文献求助10
28秒前
劣根完成签到,获得积分10
29秒前
111发布了新的文献求助10
30秒前
30秒前
古雨林完成签到,获得积分10
31秒前
摇摆小狗完成签到,获得积分10
32秒前
高分求助中
(应助此贴封号)【重要!!请各用户(尤其是新用户)详细阅读】【科研通的精品贴汇总】 10000
PowerCascade: A Synthetic Dataset for Cascading Failure Analysis in Power Systems 2000
Various Faces of Animal Metaphor in English and Polish 800
Signals, Systems, and Signal Processing 610
Photodetectors: From Ultraviolet to Infrared 500
On the Dragon Seas, a sailor's adventures in the far east 500
Yangtze Reminiscences. Some Notes And Recollections Of Service With The China Navigation Company Ltd., 1925-1939 500
热门求助领域 (近24小时)
化学 材料科学 医学 生物 纳米技术 工程类 有机化学 化学工程 生物化学 计算机科学 物理 内科学 复合材料 催化作用 物理化学 光电子学 电极 细胞生物学 基因 无机化学
热门帖子
关注 科研通微信公众号,转发送积分 6349124
求助须知:如何正确求助?哪些是违规求助? 8164200
关于积分的说明 17177195
捐赠科研通 5405552
什么是DOI,文献DOI怎么找? 2862070
邀请新用户注册赠送积分活动 1839826
关于科研通互助平台的介绍 1689134