The Layered Architecture Recovery as a Quadratic Assignment Problem [chapter]

Alvine Boaye Belle, Ghizlane El Boussaidi, Christian Desrosiers, Sègla Kpodjedo, Hafedh Mili
2015 Lecture Notes in Computer Science  
Software architecture recovery is a bottom-up process that aims at building high-level views that support the understanding of existing software applications. Many approaches have been proposed to support architecture recovery using various techniques. However, very few approaches are driven by the architectural styles that were used to build the systems under analysis. In this paper, we address the problem of recovering layered views of existing software systems. We re-examine the layered
more » ... to extract a set of fundamental principles which encompass a set of constraints that a layered system must conform to at design time and during its evolution. These constraints are used to guide the recovery process of layered architectures. In particular, we translate the problem of recovering the layered architecture into a quadratic assignment problem (QAP) based on these constraints, and we solve the QAP using a heuristic search algorithm. In this paper, we introduce the QAP formulation of the layering recovery and we present and discuss the results of the experimentation with the approach on four open source software systems.
doi:10.1007/978-3-319-23727-5_28 fatcat:lul6wci3gfhknhbpp7z4e3uode