Relating Complexity, Explicitness, Effectiveness of Refactorings and Non-Functional Requirements: A Replication Study
Vin\'icius Soares, Lawrence Arkoh, Paulo Roberto Farah, Anderson Uch\^oa, Alessandro Garcia, Wesley K. G. Assun\c{c}\~ao

TL;DR
This study replicates and extends prior research on self-affirmed refactoring, analyzing a larger dataset to understand how explicit developer intent influences refactoring complexity, effectiveness, and impact on non-functional requirements.
Contribution
It expands the scope of previous work by analyzing more projects and refactorings, providing new insights into the relationship between developer intent, refactoring complexity, and code quality.
Findings
Refactorings with explicit developer intent tend to be more complex.
Complex refactorings positively impact internal code quality attributes.
Self-affirmed refactorings often cause fewer negative effects despite their complexity.
Abstract
Refactoring is a practice widely adopted during software maintenance and evolution. Due to its importance, there is extensive work on the effectiveness of refactoring in achieving code quality. However, developer's intentions are usually overlooked. A more recent area of study involves the concept of self-affirmed refactoring (SAR), where developers explicitly state their intent to refactor. While studies on SAR have made valuable contributions, they provide little insights into refactoring complexity and effectiveness, as well as the refactorings' relations to specific non-functional requirements. A study by Soares et al. addressed such aspects, but it relied on a quite small sample of studied subject systems and refactoring instances. Following the empirical method of replication, we expanded the scope of Soares et al.'s study by doubling the number of projects analyzed and a…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
