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
更新
PDF的下载单位、IP信息已删除 (2025-6-4)

科研通是完全免费的文献互助平台,具备全网最快的应助速度,最高的求助完成率。 对每一个文献求助,科研通都将尽心尽力,给求助人一个满意的交代。
实时播报
nhzz2023发布了新的文献求助10
1秒前
科研通AI2S应助李诗尧采纳,获得10
2秒前
FashionBoy应助汉堡采纳,获得10
2秒前
梅赛德斯奔驰完成签到,获得积分10
3秒前
33完成签到 ,获得积分10
3秒前
自觉士萧发布了新的文献求助10
3秒前
乐乐应助zzy采纳,获得10
4秒前
5秒前
7秒前
JamesPei应助自觉士萧采纳,获得10
9秒前
9秒前
含蓄开山完成签到,获得积分10
10秒前
东白湖的无奈完成签到,获得积分10
10秒前
12秒前
nhzz2023完成签到,获得积分10
12秒前
高高千筹发布了新的文献求助10
13秒前
hy完成签到,获得积分10
14秒前
失眠翠芙完成签到 ,获得积分10
14秒前
浮游应助零食宝采纳,获得10
16秒前
自觉士萧完成签到,获得积分10
17秒前
dan1029完成签到,获得积分10
18秒前
隐形滑板完成签到,获得积分20
18秒前
wushang完成签到,获得积分10
18秒前
JING发布了新的文献求助10
19秒前
ZZZ完成签到,获得积分20
20秒前
20秒前
20秒前
Lutras完成签到,获得积分10
20秒前
cxh应助野性的马里奥采纳,获得10
20秒前
JPH1990应助野性的马里奥采纳,获得10
20秒前
丰富青文发布了新的文献求助10
21秒前
lllll完成签到,获得积分10
21秒前
发嗲的绿柏完成签到,获得积分10
21秒前
彭于晏应助wushang采纳,获得10
22秒前
23秒前
隐形滑板发布了新的文献求助10
24秒前
雪雪完成签到 ,获得积分10
24秒前
科研通AI6应助隐形的大米采纳,获得10
26秒前
杨怀托发布了新的文献求助10
26秒前
27秒前
高分求助中
(应助此贴封号)【重要!!请各用户(尤其是新用户)详细阅读】【科研通的精品贴汇总】 10000
Fermented Coffee Market 2000
A Modern Guide to the Economics of Crime 500
PARLOC2001: The update of loss containment data for offshore pipelines 500
Critical Thinking: Tools for Taking Charge of Your Learning and Your Life 4th Edition 500
Phylogenetic study of the order Polydesmida (Myriapoda: Diplopoda) 500
A Manual for the Identification of Plant Seeds and Fruits : Second revised edition 500
热门求助领域 (近24小时)
化学 材料科学 医学 生物 工程类 有机化学 生物化学 物理 纳米技术 计算机科学 内科学 化学工程 复合材料 物理化学 基因 遗传学 催化作用 冶金 量子力学 光电子学
热门帖子
关注 科研通微信公众号,转发送积分 5271518
求助须知:如何正确求助?哪些是违规求助? 4429192
关于积分的说明 13787815
捐赠科研通 4307460
什么是DOI,文献DOI怎么找? 2363567
邀请新用户注册赠送积分活动 1359231
关于科研通互助平台的介绍 1322167