Journal of King Saud University: Computer and Information Sciences (Sep 2023)
Context-Aware Expert for Software Architecture Recovery (CAESAR): An automated approach for recovering software architectures
Abstract
Software architecture recovery approaches help to reconstruct the architecture of complex software systems. However, the manual effort and expertise required to use such techniques are high, as the user demands detailed knowledge about software architecture recovery process and preparing additional software artifacts to use as input for such approaches. Such practices lack consideration for the context standards of the recovered software. Additionally, proper module detection rules that are aware of the modeled system’s context should be studied to enhance the cluster quality of the detected modules. We introduce a novel approach to software architecture recovery by implementing an automated knowledge-based rules solution that considers the context of the developed software while identifying and clustering that system’s software modules. Such solution is aided by a novel code distance model that is utilized to enhance the cohesiveness of the recovered software modules, improving the recovered software architecture quality, and enhancing readability through providing visualizations at different abstraction levels for the recovered architecture. The proposed method has been evaluated on two software systems with varying sizes and from different contexts and involved experienced participants. The results demonstrate significant improvements in cohesion and coupling of the produced clusters compared to alternative architecture recovery approaches.