Incremental Software Architecture Recovery based on Supervised Clustering
a supervised clustering environment for the analysis and restructuring of the legacy software systems into cohesive components. The proposed technique is novel in the sense that it pre-processes the relations among the system entities using data mining tech- niques in order to extract groups of maximally associated system entities. This property can be further used to define similarity metrics between two individual entities or between two groups of entities. Consequently, a two-phase supervised clustering process is used to incrementally generate new clusters. The proposed architectural recovery process is hier- archical in the sense that the software system is rst decomposed into subsystems of les and then each subsystem can be further decomposed into modules of system entities such as functions, datatypes, and global variables. An interactive environment provides evaluation metrics to assess the quality of the obtained clusters according to their cohesion and coupling properties. Experimental results obtained by applying the proposed clustering technique on six open source systems are presented.
Click here for free
download this paper