<  Back to the Polytechnique Montréal portal

An empirical study on release-wise refactoring patterns

Shayan Noei, Heng Li and Ying Zhou

Article (2025)

Open Acess document in PolyPublie and at official publisher
[img]
Preview
Open Access to the full text of this document
Published Version
Terms of Use: Creative Commons Attribution
Download (907kB)
Show abstract
Hide abstract

Abstract

Refactoring is a technical approach to increase the internal quality of software without altering its external functionalities. Developers often invest significant effort in refactoring. With the increased adoption of continuous integration and deployment (CI/CD), refactoring activities may vary within and across different releases and be influenced by various release goals. For example, developers may consistently allocate refactoring activities throughout a release, or prioritize new features early on in a release and only pick up refactoring late in a release. Different approaches to allocating refactoring tasks may have different implications for code quality. However, there is a lack of existing research on how practitioners allocate their refactoring activities within a release and their impact on code quality. Therefore, we first empirically study the frequent release-wise refactoring patterns in 207 open-source Java projects and their characteristics. Then, we analyze how these patterns and their transitions affect code quality. We identify four major release-wise refactoring patterns: early active, late active, steady active, and steady inactive. We find that adopting the late active pattern—characterized by gradually increasing refactoring activities as the release approaches—leads to the best code quality. We observe that as projects mature, refactoring becomes more active, reflected in the increasing use of the steady active release-wise refactoring pattern and the decreasing utilization of the steady inactive release-wise refactoring pattern. While the steady active pattern shows improvement in quality-related code metrics (e.g., cohesion), it can also lead to more architectural problems. Additionally, we observe that developers tend to adhere to a single refactoring pattern rather than switching between different patterns. The late active pattern, in particular, can be a safe release-wise refactoring pattern that is used repeatedly. Our results can help practitioners understand existing release-wise refactoring patterns and their effects on code quality, enabling them to utilize the most effective pattern to enhance release quality.

Uncontrolled Keywords

Department: Department of Computer Engineering and Software Engineering
PolyPublie URL: https://publications.polymtl.ca/64347/
Conference Title: ACM SIGSOFT International Conference on Software Testing and Analysis (ISSTA)
Conference Location: Trondheim, Norway
Conference Date(s): 2025-06-25 - 2025-06-28
Journal Title: Proceedings of the ACM on Software Engineering (vol. 2, no. FSE)
Publisher: ACM
DOI: 10.1145/3715734
Official URL: https://doi.org/10.1145/3715734
Date Deposited: 28 Mar 2025 10:28
Last Modified: 10 Jan 2026 23:06
Cite in APA 7: Noei, S., Li, H., & Zhou, Y. (2025). An empirical study on release-wise refactoring patterns. [Other]. Proceedings of the ACM on Software Engineering, 2(FSE), 403-424. Presented at ACM SIGSOFT International Conference on Software Testing and Analysis (ISSTA), Trondheim, Norway. https://doi.org/10.1145/3715734

Statistics

Total downloads

Downloads per month in the last year

Origin of downloads

Dimensions

Repository Staff Only

View Item View Item