Aug 2026· 2026 6th International Conference on Emerging Smart Technologies and Applications (eSmarTA)· pp. 1-7· 0 citations· 42 references
Abstract
Refactoring is widely used to improve internal software quality; however, its impact on external functionality remains insufficiently explored. This study investigates how different refactoring operations influence software functionality through a controlled experimental analysis. A set of ten commonly used refactoring operations was applied to the jEdit system. Software functionality was quantitatively evaluated using a composite metric derived from cohesion, polymorphism, interface size, design size, and inheritance hierarchy. The selected ten refactoring operations were performed 453 times across ten independent experiments in jEdit. The results reveal that refactoring operations do not have uniform effects on functionality. Operations that enhance encapsulation and modular distribution significantly improve functionality, with Encapsulate Field achieving the highest increase. In contrast, operations that reduce abstraction, such as Inline Method and Inline Class, negatively impact functionality. Additionally, some operations show no measurable effect, indicating limitations in metric sensitivity. These findings demonstrate that refactoring should not be assumed to universally improve software functionality. Instead, its impact depends on the nature and context of the operations being applied. The study provides empirical evidence and practical guidance for selecting refactoring operations that effectively enhance functional quality while avoiding potential degradation.
This work proposes an approach based on a foundation model oracle that analyzes git-style diffs to identify behavioral changes introduced by Python refactorings and uncovered 13 distinct bugs among the seven refactoring types studied.
Jonhnanthan Oliveira, Rohit Gheyi, Márcio Ribeiro et al.· 0 citations
This paper operationalizes structural testability as a seven-dimensional construct capturing controllability, observability, branching complexity, asynchronous coordination, event-driven behaviour, encapsulation, and side-effect intensity and applies this framework to 30 open-source JavaScript projects spanning diverse...
Shahrzad Mirzaei, Saba Alimadadi· arXiv.org· 0 citations
Results indicate that static checks and test-guided, context-aware agentic repair can increase the reliability of LLM-generated refactorings, bringing them closer to practical integration within developer workflows.
Jonathan Cordeiro, Shayan Noei, Ying Zou· 1 citation
These findings highlight the need for workload-diverse evaluation of the energy impact of refactoring; neither existing metric-based approaches nor LLM-based predictors can reliably identify refactoring-induced energy regressions, motivating the development of more accurate techniques for predicting the energy impact o...
This work analyzes 64 open-source Java projects and applied association rule mining to measure the strength of associations between specific refactoring types and merge effort, and shows that refactoring types relate to merge effort with varying strength.
A. Oliveira, João Victor Monteiro, V. Neves et al.· 0 citations
Results show that ML-enhanced recommendations outperform traditional methods in accuracy, relevance, and impact on maintainability metrics, and highlight the potential of integrating ML into modern development practices to support developers in producing cleaner, more maintainable software systems.
Rohit Malhotra· International Journal of Mod...· 0 citations
We use cookies to run the site and, with your consent, for analytics and to show ads.
See our Cookie Policy.