Tackling Software Architecture Erosion: Joint Architecture and Implementation Repairing by a Knowledge-based Approach
Architecture erosion is a big challenge in modern architectures leading to a deterioration of the quality properties of these systems. Today, no comprehensive approach for regaining architecture consistency in eroded software systems exists and architecture consistency is essentially achieved by repairing the implementation level only. In this paper, we propose a novel approach enabling a joint architecture and implementation repairing for tackling software architecture erosion. By using a holistic view on violation causes and suitable repair actions in combination with learning mechanisms we build up a project specific knowledge-base improving accuracy and efficiency in consolidation of architecture and implementation over time.
READ FULL TEXT