Investigating the Recovery of Product Line Architectures: An Approach Proposal

Due to the complexity of managing architectural variability, maintaining the Product Line Architecture (PLA) up-to-date and synchronized with the project source code is a key challenge. Moreover, allow the variability traceability in architectural level of large-scale projects is a costly task. The systematic use of Software Architecture Recovery (SAR) techniques enables PLA recovery and keeps the PLA aligned with development. In this context, we present an initial proposal that consists of an approach to recover PLAs based on SAR techniques. We performed literature reviews and exploratory studies to investigate the relationship between SAR and PLA to identify gaps and define state-of-the-art. Learn how to combine SAR and PLA is an important strategy to address some issues of PLA design. We identified that few studies address architectural variability and provide empirical evaluation For this reason, more empirical research is still necessary.

[1]  Harald C. Gall,et al.  Architecture Recovery for Product Families , 2003, PFE.

[2]  Gunter Saake,et al.  Feature-Oriented Software Product Lines , 2013, Springer Berlin Heidelberg.

[3]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[4]  Stéphane Ducasse,et al.  Towards A Process-Oriented Software Architecture Reconstruction Taxonomy , 2007, 11th European Conference on Software Maintenance and Reengineering (CSMR'07).

[5]  Harald C. Gall,et al.  Software architecture recovery of a program family , 1998, Proceedings of the 20th International Conference on Software Engineering.

[6]  Jaejoon Lee,et al.  Feature-Oriented Re-engineering of Legacy Systems into Product Line Assets - a Case Study , 2005, SPLC.

[7]  Houari A. Sahraoui,et al.  Recovering Architectural Variability of a Family of Product Variants , 2015, ICSR.

[8]  Rainer Koschke,et al.  Extending the reflexion method for consolidating software variants into product lines , 2007, 14th Working Conference on Reverse Engineering (WCRE 2007).

[9]  Houari A. Sahraoui,et al.  Recovering software product line architecture of a family of object-oriented product variants , 2017, J. Syst. Softw..

[10]  Alexander Egyed,et al.  Variability extraction and modeling for product variants , 2016, Software & Systems Modeling.

[11]  Klaus Pohl,et al.  Software Product Line Engineering , 2005 .

[12]  Claes Wohlin,et al.  Experimentation in Software Engineering , 2012, Springer Berlin Heidelberg.

[13]  Arie van Deursen,et al.  Symphony: view-driven software architecture reconstruction , 2004, Proceedings. Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA 2004).

[14]  Elisa Yumi Nakagawa,et al.  Reference Architecture and Product Line Architecture: A Subtle But Critical Difference , 2011, ECSA.

[15]  Eduardo Santana de Almeida,et al.  Initial Evidence for Understanding the Relationship between Product Line Architecture and Software Architecture Recovery , 2015, 2015 IX Brazilian Symposium on Components, Architectures and Reuse Software.

[16]  Silvio Romero de Lemos Meira,et al.  Evaluating Domain Design Approaches Using Systematic Review , 2008, ECSA.

[17]  Christina von Flach G. Chavez,et al.  A Systematic Review on Metamodels to Support Product Line Architecture Design , 2016, SBES '16.

[18]  Nenad Medvidovic,et al.  A Framework for Obtaining the Ground-Truth in Architectural Recovery , 2012, 2012 Joint Working IEEE/IFIP Conference on Software Architecture and European Conference on Software Architecture.