Dependent or Not: Detecting and Understanding Collections of Refactorings

重构代码 计算机科学 可重用性 程序设计语言 依赖关系(UML) 软件工程 质量(理念) 软件 认识论 哲学
作者
Thiago do Nascimento Ferreira,James Ivers,Jeffrey J. Yackley,Marouane Kessentini,İpek Özkaya,Khouloud Gaaloul
出处
期刊:IEEE Transactions on Software Engineering [IEEE Computer Society]
卷期号:: 1-15 被引量:1
标识
DOI:10.1109/tse.2023.3244123
摘要

Refactoring is a program transformation to improve the internal structure of a program while preserving its external behavior. Developers frequently apply multiple refactorings that depend on each other to achieve goals such as improving code reusability. Although manually applying a sequence of dependent refactorings is a common practice, existing refactoring recommendation tools treat refactorings in isolation without revealing the dependencies among them to developers. One reason is that these relationships among refactorings are poorly understood. Current approaches treat refactoring recommendations as a strictly ordered sequence limiting developers’ ability to understand, validate, and apply recommended refactorings. To address this gap, this paper describes a theory for reasoning about collections of refactorings through defining an ordering dependency relation among refactorings and organizing collection of refactorings as a set of refactoring graphs. We propose an algorithm for identifying refactoring dependencies and illustrate these concepts with a tool for visualizing such refactoring dependencies and refactoring graphs. Our validation results demonstrate that 43% of the 1,457,873 recommended refactorings from 9,595 projects that we studied are part of dependent refactoring graphs. Furthermore, refactorings are not only commonly involved in dependent relations, but also when applied, dependent refactoring graphs improve all of the quality attribute metrics in our experiments more than individual refactorings.
最长约 10秒,即可获得该文献文件

科研通智能强力驱动
Strongly Powered by AbleSci AI
更新
PDF的下载单位、IP信息已删除 (2025-6-4)

科研通是完全免费的文献互助平台,具备全网最快的应助速度,最高的求助完成率。 对每一个文献求助,科研通都将尽心尽力,给求助人一个满意的交代。
实时播报
稳重乌冬面完成签到 ,获得积分10
1秒前
乐悠悠完成签到 ,获得积分10
3秒前
稳重母鸡完成签到 ,获得积分10
5秒前
董石美完成签到,获得积分20
9秒前
糖宝完成签到 ,获得积分10
12秒前
兰月满楼完成签到 ,获得积分10
13秒前
HMR完成签到 ,获得积分10
13秒前
Harlotte完成签到 ,获得积分10
16秒前
端庄代荷完成签到 ,获得积分10
17秒前
量子星尘发布了新的文献求助10
19秒前
加油完成签到 ,获得积分10
19秒前
小学生学免疫完成签到 ,获得积分10
20秒前
金枪鱼子发布了新的文献求助10
20秒前
yuanletong完成签到 ,获得积分10
21秒前
ybwei2008_163完成签到,获得积分20
23秒前
MRQ发布了新的文献求助10
23秒前
wada3n完成签到,获得积分10
26秒前
快乐的蓝完成签到 ,获得积分10
26秒前
昏睡的蟠桃应助韦老虎采纳,获得50
27秒前
比比谁的速度快应助Yjj采纳,获得20
28秒前
isaiah1986完成签到,获得积分10
31秒前
634301059完成签到 ,获得积分10
32秒前
雨后完成签到 ,获得积分10
33秒前
善学以致用应助薛言采纳,获得10
34秒前
37秒前
SYLH应助现代玉米采纳,获得10
37秒前
热心的飞风完成签到 ,获得积分10
38秒前
蓝桉完成签到 ,获得积分10
40秒前
40秒前
小燕子完成签到 ,获得积分10
40秒前
小铁驴发布了新的文献求助10
41秒前
儒雅的如松完成签到 ,获得积分10
46秒前
Wang发布了新的文献求助10
47秒前
优雅的平安完成签到 ,获得积分10
53秒前
南浔完成签到 ,获得积分10
54秒前
zzx完成签到 ,获得积分10
55秒前
虚心的幻梅完成签到 ,获得积分10
56秒前
欧皇发布了新的文献求助50
56秒前
量子星尘发布了新的文献求助10
59秒前
Jasper应助科研通管家采纳,获得10
59秒前
高分求助中
【提示信息,请勿应助】关于scihub 10000
A new approach to the extrapolation of accelerated life test data 1000
Coking simulation aids on-stream time 450
北师大毕业论文 基于可调谐半导体激光吸收光谱技术泄漏气体检测系统的研究 390
Phylogenetic study of the order Polydesmida (Myriapoda: Diplopoda) 370
Robot-supported joining of reinforcement textiles with one-sided sewing heads 360
Novel Preparation of Chitin Nanocrystals by H2SO4 and H3PO4 Hydrolysis Followed by High-Pressure Water Jet Treatments 300
热门求助领域 (近24小时)
化学 材料科学 医学 生物 工程类 有机化学 生物化学 物理 内科学 纳米技术 计算机科学 化学工程 复合材料 遗传学 基因 物理化学 催化作用 冶金 细胞生物学 免疫学
热门帖子
关注 科研通微信公众号,转发送积分 4015585
求助须知:如何正确求助?哪些是违规求助? 3555572
关于积分的说明 11318138
捐赠科研通 3288762
什么是DOI,文献DOI怎么找? 1812284
邀请新用户注册赠送积分活动 887882
科研通“疑难数据库(出版商)”最低求助积分说明 812015