Variability Mining of Technical Architectures

Technical architectures (TAs) represent the computing infrastructure of a company with all its hardware and software components. Over the course of time, the number of TAs grows with the companies' requirements and usually a large variety of TAs has to be maintained. Core challenge is the missing information on relations between the existing variants of TAs, which complicates reuse of solutions across systems. However, identifying these relations is an expensive task as architects have to manually analyze each TA individually. Restructuring the existing TAs poses severe risks as often sufficient information is not available (e.g., due to time constraints). To avoid failures in productive systems and resulting loss of profit, companies continue to create new solutions without restructuring existing ones. This increased variability in TAs represents technical debt. In this paper, we adapt the idea of variability mining from the software product line domain and present an efficient and automatic mining algorithm to identify the common and varying parts of TAs by analyzing a potentially arbitrary number of TAs in parallel. Using the identified variability information, architects are capable of analyzing the relations of TAs, identifying reuse potential, and making well-founded maintenance decisions. We show the feasibility and scalability of our approach by applying it to a real-world industrial case study with large sets of TAs.

[1]  Mathieu Acher,et al.  Reverse Engineering Architectural Feature Models , 2011, ECSA.

[2]  Florian Matthes,et al.  Empowering Business Users to Analyze Enterprise Architectures: Structural Model Matching to Configure Visualizations , 2013, 2013 17th IEEE International Enterprise Distributed Object Computing Conference Workshops.

[3]  Krzysztof Czarnecki,et al.  Generative programming - methods, tools and applications , 2000 .

[4]  Klaus Pohl,et al.  Software Product Line Engineering - Foundations, Principles, and Techniques , 2005 .

[5]  Jaime Font,et al.  Building software product lines from conceptualized model patterns , 2015, SPLC.

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

[7]  Ina Schaefer,et al.  Towards Reducing the Complexity of Enterprise Architectures by Identifying Standard Variants Using Variability Mining , 2016 .

[8]  Alexander W. Schneider Decision Support for Application Landscape Diversity Management , 2016 .

[9]  Manfred Reichert,et al.  Capturing variability in business process models: the Provop approach , 2010, J. Softw. Maintenance Res. Pract..

[10]  Ruzanna Chitchyan,et al.  A framework for constructing semantically composable feature models from natural language requirements , 2009, SPLC.

[11]  Robert L. Nord,et al.  Managing technical debt in software-reliant systems , 2010, FoSER '10.

[12]  Fenix Theuerkorn,et al.  Lightweight Enterprise Architectures , 2004 .

[13]  C. Humby,et al.  Process Mining: Data science in Action , 2014 .

[14]  Sandro Schulze,et al.  Extractive software product line engineering using model-based delta module generation , 2017, VaMoS.

[15]  Krzysztof Czarnecki,et al.  Reverse engineering feature models , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[16]  Marlon Dumas,et al.  Business process variability modeling : A survey , 2017 .

[17]  Rick Kazman,et al.  Playing Detective: Reconstructing Software Architecture from Available Evidence , 1999, Automated Software Engineering.

[18]  Sandro Schulze,et al.  Custom-Tailored Variability Mining for Block-Based Languages , 2016, 2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER).

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

[20]  Stéphane Ducasse,et al.  Software Architecture Reconstruction: A Process-Oriented Taxonomy , 2009, IEEE Transactions on Software Engineering.

[21]  Iris Groher,et al.  Integrating Variability Management and Software Architecture , 2012, 2012 Joint Working IEEE/IFIP Conference on Software Architecture and European Conference on Software Architecture.

[22]  Birger Møller-Pedersen,et al.  Model Comparison to Synthesize a Model-Driven Software Product Line , 2011, 2011 15th International Software Product Line Conference.

[23]  Peri L. Tarr,et al.  An enterprise perspective on technical debt , 2011, MTD '11.

[24]  Manfred Reichert,et al.  Mining business process variants: Challenges, scenarios, algorithms , 2011, Data Knowl. Eng..

[25]  Ádám Darvas,et al.  System Architecture Recovery Based on Software Structure Model , 2016, 2016 13th Working IEEE/IFIP Conference on Software Architecture (WICSA).

[26]  Roland J. Weiss,et al.  Sustainability guidelines for long-living software systems , 2012, 2012 28th IEEE International Conference on Software Maintenance (ICSM).

[27]  José Luis Borbinha,et al.  An Ontological Matching Approach for Enterprise Architecture Model Analysis , 2016, BIS.

[28]  Marsha Chechik,et al.  N-way model merging , 2013, ESEC/FSE 2013.

[29]  Jaime Font,et al.  Automating the variability formalization of a model family by means of common variability language , 2015, SPLC.

[30]  Christine Legner,et al.  Strategic Enterprise Architecture Management , 2012 .

[31]  Mehrdad Sabetzadeh,et al.  Matching and Merging of Statecharts Specifications , 2007, 29th International Conference on Software Engineering (ICSE'07).

[32]  Marsha Chechik,et al.  Combining Related Products into Product Lines , 2012, FASE.

[33]  Klaus Kabitzsch,et al.  Extraction of feature models from formal contexts , 2011, SPLC '11.

[34]  Inge Hanschke Strategic IT Management - A Toolkit for Enterprise Architecture Management , 2009 .

[35]  Steffen Thiel,et al.  Systematic Integration of Variability into Product Line Architecture Design , 2002, SPLC.

[36]  Jacques Klein,et al.  Automating the Extraction of Model-Based Software Product Lines from Model Variants (T) , 2015, 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[37]  Robert Winter,et al.  Essential Layers, Artifacts, and Dependencies of Enterprise Architecture , 2006, 2006 10th IEEE International Enterprise Distributed Object Computing Conference Workshops (EDOCW'06).

[38]  André van der Hoek,et al.  Design-time product line architectures for any-time variability , 2004, Sci. Comput. Program..

[39]  Ward Cunningham,et al.  The WyCash portfolio management system , 1992, OOPSLA '92.