TY - JOUR
T1 - A Framework and Taxonomy for Characterizing the Applicability of Software Architecture Recovery Approaches
T2 - A Tertiary-Mapping Study
AU - Qayum, Abdul
AU - Zhang, Mengqi
AU - Colreavy, Simon
AU - Chochlov, Muslim
AU - Buckley, Jim
AU - Lin, Dayi
AU - Sai, Ashish Rajendra
N1 - Publisher Copyright:
© 2024 The Author(s). Software: Practice and Experience published by John Wiley & Sons Ltd.
PY - 2024
Y1 - 2024
N2 - Software architecture assists developers in addressing non-functional requirements and in maintaining, debugging, and upgrading their software systems. Consequently, consistency between the designed architecture and the implemented software system itself is important; without this consistency the non-functional requirements targeted may not be addressed and architectural documentation may mis-direct maintenance efforts that target the associated code-base. But often, when software is initially implemented or subsequently evolved, the designed architecture and software architecture become inconsistent, with the implemented structure degraded due to issues like developer time-pressures, or ambiguous communication of the designed architecture. In such cases, Software Architecture Recovery (SAR) or consistency approaches can be applied to reconstruct the architecture of the software system and possibly to compare it to/re-align it with the designed architecture. Many SAR approaches have been proposed in the research. However, choosing an appropriate architecture recovery approach for software systems is still an open issue. Consequently, this research aims to conduct a tertiary-mapping study based on available secondary studies of architecture recovery approaches, to uncover important characteristics, towards the selection of appropriate SAR approaches. This research has aggregated 13 secondary studies and 10 primary studies beyond 2020 from 5 databases and, in doing so, identified 111 architecture recovery approaches. Based on these approaches, a taxonomy, containing nine main SAR-selection categories is proposed and a framework (in the form of a supporting tool to help developers select an appropriate SAR approach) has been developed. Finally, this research identifies six potential open research gaps related to the underlying research that could be helpful for guiding research in the future.
AB - Software architecture assists developers in addressing non-functional requirements and in maintaining, debugging, and upgrading their software systems. Consequently, consistency between the designed architecture and the implemented software system itself is important; without this consistency the non-functional requirements targeted may not be addressed and architectural documentation may mis-direct maintenance efforts that target the associated code-base. But often, when software is initially implemented or subsequently evolved, the designed architecture and software architecture become inconsistent, with the implemented structure degraded due to issues like developer time-pressures, or ambiguous communication of the designed architecture. In such cases, Software Architecture Recovery (SAR) or consistency approaches can be applied to reconstruct the architecture of the software system and possibly to compare it to/re-align it with the designed architecture. Many SAR approaches have been proposed in the research. However, choosing an appropriate architecture recovery approach for software systems is still an open issue. Consequently, this research aims to conduct a tertiary-mapping study based on available secondary studies of architecture recovery approaches, to uncover important characteristics, towards the selection of appropriate SAR approaches. This research has aggregated 13 secondary studies and 10 primary studies beyond 2020 from 5 databases and, in doing so, identified 111 architecture recovery approaches. Based on these approaches, a taxonomy, containing nine main SAR-selection categories is proposed and a framework (in the form of a supporting tool to help developers select an appropriate SAR approach) has been developed. Finally, this research identifies six potential open research gaps related to the underlying research that could be helpful for guiding research in the future.
KW - architecture discovery
KW - architecture re-engineering
KW - architecture recovery
KW - mapping study
KW - open research questions
KW - software architecture
KW - software engineering
KW - taxonomy
KW - tertiary study
UR - http://www.scopus.com/inward/record.url?scp=85198618455&partnerID=8YFLogxK
U2 - 10.1002/spe.3364
DO - 10.1002/spe.3364
M3 - Article
AN - SCOPUS:85198618455
SN - 0038-0644
JO - Software - Practice and Experience
JF - Software - Practice and Experience
ER -