arrow
返回

How Software Refactoring Impacts Execution Time

delete2021-12-24
delete16
PRE
AI
L
Luca Traini *
D
Daniele Di Pompeo
M
Michele Tucci
B
Bin Lin
S
Simone Scalabrino
G
Gabriele Bavota
M
Michele Lanza
R
Rocco Oliveto
V
Vittorio Cortellessa
DOI:10.1145/3485136delete
delete原文链接
delete原文求助
delete分享
delete收藏
摘要

摘要

En 中文
Refactoring aims at improving the maintainability of source code without modifying its external behavior. Previous works proposed approaches to recommend refactoring solutions to software developers. The generation of the recommended solutions is guided by metrics acting as proxy for maintainability (e.g., number of code smells removed by the recommended solution). These approaches ignore the impact of the recommended refactorings on other non-functional requirements, such as performance, energy consumption, and so forth. Little is known about the impact of refactoring operations on non-functional requirements other than maintainability. We aim to fill this gap by presenting the largest study to date to investigate the impact of refactoring on software performance, in terms of execution time. We mined the change history of 20 systems that defined performance benchmarks in their repositories, with the goal of identifying commits in which developers implemented refactoring operations impacting code components that are exercised by the performance benchmarks. Through a quantitative and qualitative analysis, we show that refactoring operations can significantly impact the execution time. Indeed, none of the investigated refactoring types can be considered safe in ensuring no performance regression. Refactoring types aimed at decomposing complex code entities (e.g., Extract Class/Interface, Extract Method) have higher chances of triggering performance degradation, suggesting their careful consideration when refactoring performance-critical code.
Keyword:
Software maintainability
performance
execution time
refactoring
AI总结

AI总结

对已上传原文的论文进行重点信息的提取,主要内容包括:简要概述、研究摘要、背景介绍、关键亮点、图文解析、展望与总结。

期刊

A
ACM Transactions on Software Engineering and Methodology
IF:
6.2
论文数:
1.2K
被引数:
3.4K

机构

U
Universita della Svizzera Italiana
学者数:
3.3K
论文数: 2.8K
被引数: 3
University of LAquila 封面图
University of LAquila
学者数:
7.4K
论文数: 6.6K
被引数: 6.7K
U
University of Molise
学者数:
2.6K
论文数: 2.6K
被引数: 2.8K
学者 查看更多机构
引用论文

引用论文

err分享
err收藏
Successful Use of Transureteroureterostomy in Children: A Clinical Study
err2001-12-01
err0
PREAI
errC. Pesce; L. Costa; P. Campobasso; M. A. Fabbro; L. Musi
err分享
err收藏
Psychometric properties of the Chinese version of the Infertility Self-Efficacy Scale
err2016-09-01
err0
errOAAI
errBing Fu; Pingping Yan; Hang Yin; Shujuan Zhu; Qing Liu; Yulan Liu; Chanyuan Dai; Guanxiu Tang; Chunli Yan; Jun Lei
err分享
err收藏
err分享
err收藏
Structure of Binary Liquid Mixtures. I
err1967-04-15
err0
PREAI
errN. W. Ashcroft; David C. Langreth
err分享
err收藏
err分享
err收藏
Posterior urethral injuries and the Mitrofanoff principle in children
err2009-07-30
err0
PREAI
errL.G. Freitas Filho; J. Carnevale; A.R. Melo Filho; N.C. Vicente; A.C. Heinisch; J.L. Martins
err分享
err收藏
学者 查看更多内容