University of Oulu

G. Sellitto et al., "Toward Understanding the Impact of Refactoring on Program Comprehension," 2022 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER), Honolulu, HI, USA, 2022, pp. 731-742, doi: 10.1109/SANER53432.2022.00090

Toward understanding the impact of refactoring on program comprehension

Saved in:
Author: Sellitto, Giulia1; Iannone, Emanuele1; Codabux, Zadia2;
Organizations: 1Software Engineering (SeSa) Lab, Department of Computer Science - University of Salerno, Italy
2University of Saskatchewan, Canada
3University of Oulu, Finland
Format: article
Version: accepted version
Access: open
Online Access: PDF Full Text (PDF, 0.2 MB)
Persistent link:
Language: English
Published: Institute of Electrical and Electronic Engineers, 2022
Publish Date: 2023-04-06


Software refactoring is the activity associated with developers changing the internal structure of source code without modifying its external behavior. The literature argues that refactoring might have beneficial and harmful implications for software maintainability, primarily when performed without the support of automated tools. This paper continues the narrative on the effects of refactoring by exploring the dimension of program comprehension, namely the property that describes how easy it is for developers to understand source code. We start our investigation by assessing the basic unit of program comprehension, namely program readability. Next, we set up a large-scale empirical investigation — conducted on 156 open-source projects — to quantify the impact of refactoring on program readability. First, we mine refactoring data and, for each commit involving a refactoring, we compute (i) the amount and type(s) of refactoring actions performed and (ii) eight state-of-the-art program comprehension metrics. Afterwards, we build statistical models relating the various refactoring operations to each of the readability metrics considered to quantify the extent to which each refactoring impacts the metrics in either a positive or negative manner. The key results are that refactoring has a notable impact on most of the readability metrics considered.

see all

Series: IEEE International Conference on Software Analysis, Evolution and Reengineering
ISSN: 1534-5351
ISSN-E: 2640-7574
ISSN-L: 1534-5351
ISBN: 978-1-6654-3786-8
ISBN Print: 978-1-6654-3787-5
DOI: 10.1109/saner53432.2022.00090
Host publication: 2022 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER)
Conference: IEEE International Conference on Software Analysis, Evolution and Reengineering
Type of Publication: A4 Article in conference proceedings
Field of Science: 113 Computer and information sciences
Funding: Zadia is partly supported by the Natural Sciences and Engineering Research Council of Canada, RGPIN-2021-04232 and DGECR-2021-00283. Fabio acknowledges the support of the Swiss National Science Foundation through the SNF Project No. PZ00P2 186090 (TED).
Copyright information: © 2022 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works.