One Step Further: Investigating Problematic Files of Architecture Anti-patterns

Jingwen Liu,Wuxia Jin,Qiong Feng,Xinyu Zhang,Yitong Dai
DOI: https://doi.org/10.1109/issre52982.2021.00060
2021-01-01
Abstract:Architecture anti-patterns violate design principles and negatively impact software internal quality. Both academia and industry have designed methods and tools to detect anti-patterns. However, these tools tend to report a large number of defects, hindering developers from prioritizing true debts. In this work, we take one step further to explore the most problematic files (we define them as root files) in the architecture anti-patterns, which are potential causes leading to the difficulty of software maintenance. Using 45 Python projects as subjects, we investigate root files' maintainability, evolution (i.e., birth, living, and death), and their interactions in different architecture anti-patterns. Our results reveal that, compared with other files in anti-patterns, these root files take only a small proportion but incur heavy maintenance costs. Our study of their evolution and interactions can help developers identify potential causes of anti-patterns. We believe our findings will benefit the practice of design problem fixing.
What problem does this paper attempt to address?