<  Retour au portail Polytechnique Montréal

An empirical study on release-wise refactoring patterns

Shayan Noei, Heng Li et Ying Zhou

Article de revue (2025)

Document en libre accès dans PolyPublie et chez l'éditeur officiel
[img]
Affichage préliminaire
Libre accès au plein texte de ce document
Version officielle de l'éditeur
Conditions d'utilisation: Creative Commons: Attribution (CC BY)
Télécharger (907kB)
Afficher le résumé
Cacher le résumé

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.

Mots clés

Département: Département de génie informatique et génie logiciel
URL de PolyPublie: https://publications.polymtl.ca/64347/
Nom de la conférence: ACM SIGSOFT International Conference on Software Testing and Analysis (ISSTA)
Lieu de la conférence: Trondheim, Norway
Date(s) de la conférence: 2025-06-25 - 2025-06-28
Titre de la revue: Proceedings of the ACM on Software Engineering (vol. 2, no FSE)
Maison d'édition: ACM
DOI: 10.1145/3715734
URL officielle: https://doi.org/10.1145/3715734
Date du dépôt: 28 mars 2025 10:28
Dernière modification: 23 nov. 2025 11:42
Citer en APA 7: Noei, S., Li, H., & Zhou, Y. (2025). An empirical study on release-wise refactoring patterns. [Autre type de communication de conférence]. Proceedings of the ACM on Software Engineering, 2(FSE), 403-424. Présentée à ACM SIGSOFT International Conference on Software Testing and Analysis (ISSTA), Trondheim, Norway. https://doi.org/10.1145/3715734

Statistiques

Total des téléchargements à partir de PolyPublie

Téléchargements par année

Provenance des téléchargements

Dimensions

Actions réservées au personnel

Afficher document Afficher document