arrow
Return

Exploring and Analyzing Software Architecture Refactoring in Practice

delete2025-11-24
delete0
PRE
AI
W
Wei Ding
R
Ran Mo
C
Chaochao Wu
H
Haopeng Song
H
Hang Fu
X
Xinya Mu
DOI:10.1109/TSE.2025.3636150delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
Software architecture is the abstraction of a software system, that significantly influences software development and maintenance. As software evolves, continuous changes could deviate its architecture from the original design, leading to architecture degradation that causes a decline in software quality. Architecture refactoring becomes necessary to address or mitigate architecture degradation for improving overall quality. Although researchers have developed various architecture refactoring tools and techniques, there has been limited research on how architecture refactoring is practiced in real-world scenarios. In this paper, we conducted an empirical study by analyzing posts from Stack Overflow to understand architecture refactoring in practice. Through our analysis of 694 posts with 3,468 discussion threads, we identified 12 types of architecture refactoring based on two classification dimensions. Additionally, we categorized architecture problems faced by practitioners and explored their corresponding refactoring solutions. Furthermore, we revealed six potential risks that may result from architecture refactoring. We believe that our study can provide valuable insights for practitioners to perform architecture refactoring effectively. The findings can serve as a foundation for future research and offer practical guidance to improve architecture quality.
Keywords:
Software architecture
architecture refactoring
stack overflow
empirical study

Journal

IEEE Transactions on Software Engineering cover
IEEE Transactions on Software Engineering
IF:
5.6
Papers:
2.9K
Citations:
1.1W

Organization

C
central china normal university
Scholars:
2.8K
Papers: 1.0K
Citations: 0
Cited Papers

Cited Papers

errShare
errSave
Taxonomy of real faults in deep learning systems
err2020-10-01
err0
errOAAI
errNargiz Humbatova; Gunel Jahangirova; Gabriele Bavota; Vincenzo Riccio; Andrea Stocco; Paolo Tonella
errShare
errSave
errShare
errSave
researcher View more