An automatic architecture reconstruction and refactoring framework
Frederik Schmidt, Stephen G. MacDonell, Andy M. Connor

TL;DR
This paper presents a framework that automatically reconstructs and refactors software architectures to combat architectural erosion, aiming to improve maintainability and reduce manual effort in understanding and evolving software systems.
Contribution
It introduces an initial framework and prototype capable of analyzing Java systems to reconstruct and refactor their architecture automatically, addressing a key challenge in software maintenance.
Findings
Prototype successfully analyzes Java systems
Reconstructs conceptual architecture automatically
Refactors systems towards the conceptual architecture
Abstract
A variety of sources have noted that a substantial proportion of non trivial software systems fail due to unhindered architectural erosion. This design deterioration leads to low maintainability, poor testability and reduced development speed. The erosion of software systems is often caused by inadequate understanding, documentation and maintenance of the desired implementation architecture. If the desired architecture is lost or the deterioration is advanced, the reconstruction of the desired architecture and the realignment of this desired architecture with the physical architecture both require substantial manual analysis and implementation effort. This paper describes the initial development of a framework for automatic software architecture reconstruction and source code migration. This framework offers the potential to reconstruct the conceptual architecture of software systems…
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.
Taxonomy
TopicsAdvanced Software Engineering Methodologies · Software System Performance and Reliability · Software Engineering Research
