Handbook of Re-Engineering Software Intensive Systems into Software Product Lines
- 10h 20m
- Jabier Martinez, Mathieu Acher, Roberto E. Lopez-Herrejon, Silvia Vergilio, Tewfik Ziadi, Wesley Klewerton Guez Assunção
- Springer
- 2023
This handbook distils the wealth of expertise and knowledge from a large community of researchers and industrial practitioners in Software Product Lines (SPLs) gained through extensive and rigorous theoretical, empirical, and applied research. It is a timely compilation of well-established and cutting-edge approaches that can be leveraged by those facing the prevailing and daunting challenge of re-engineering their systems into SPLs. The selection of chapters provides readers with a wide and diverse perspective that reflects the complementary and varied expertise of the chapter authors. This perspective covers the re-engineering processes, from planning to execution.
SPLs are families of systems that share common assets, allowing a disciplined software reuse. The adoption of SPL practices has shown to enable significant technical and economic benefits for the companies that employ them. However, successful SPLs rarely start from scratch, but instead, they usually start from a set of existing systems that must undergo well-defined re-engineering processes to unleash new levels of productivity and competitiveness.
Practitioners will benefit from the lessons learned by the community, captured in the array of methodological and technological alternatives presented in the chapters of the handbook, and will gain the confidence for undertaking their own re-engineering challenges. Researchers and educators will find a valuable single-entry point to quickly become familiar with the state-of-the-art on the topic and the open research opportunities; including undergraduate, graduate students, and R&D engineers who want to have a comprehensive understanding of techniques in reverse engineering and re-engineering of variability-rich software systems.
About the Author
Roberto Erick Lopez-Herrejon is an Associate Professor at the Department of Software Engineering and Information Technology of the École de technologie supérieure of the University of Quebec in Montreal, Canada. Prior he was a senior postdoctoral researcher at the Johannes Kepler University in Linz, Austria. He was an Austrian Science Fund (FWF) Lise Meitner Fellow (2012-2014) at the same institution. From 2008 to 2014 he was an External Lecturer at the Software Engineering Masters Programme of the University of Oxford, England. From 2010 to 2012 he held an FP7 Intra-European Marie Curie Fellowship sponsored by the European Commission. From 2005 to 2008, he was a Career Development Fellow at the Software Engineering Centre of the University of Oxford sponsored by the Higher Education Funding Council of England (HEFCE). He obtained his Ph.D. from the University of Texas at Austin in 2006, funded in part by a Fulbright Fellowship sponsored by the U.S. State Department. His main expertise is in software customization, software product lines, search-based software engineering, and empirical software engineering.Jabier Martinez is part of the Software Technologies team at Tecnalia, Spain. His background is in providing methods and tools for systems modelling, and for achieving systematic reuse covering all the artefacts that conform a system life-cycle. He obtained the title of computer engineering from the University of the Basque Country in 2007 and, after several years of industrial experience, he received his PhD in 2016 from the Luxembourg University (SnT, Interdisciplinary centre for Security and Trust) and Sorbonne University (Lip6, Laboratory of Computer Sciences, Paris 6) with an awarded thesis about mining software artefacts for product line migration and analysis. He co-organizes the Reverse Variability Engineering series of workshops and has authored more than fifty peer-reviewed publications, and participated in several European research projects, on modelling, software reuse, variability management, software product lines, safety and security.
Wesley Klewerton Guez Assunção is currently a University Assistant at Johannes Kepler University Linz (JKU) - Austria and Postdoctoral researcher at Pontifical Catholic University of Rio de Janeiro (PUC-Rio) - Brazil. Wesley received his M.Sc. in Informatics (2012) and Ph.D. in Computer Science (2017) both from Federal University of Paraná (UFPR) - Brazil. His areas of interest are Software Modernization, Variability Management, Collaborative Engineering of Complex Systems, Software Testing, and Search Based Software Engineering. He published research papers, in collaboration with many international researchers, in conferences like ICSME, SANER, MSR, EASE, SPLC, SSBSE, GECCO, to cite some, as well as in journals such as EMSE, IST, and JSS. Wesley has also served as reviewers for many conferences and journals, and as organizer of conferences (e.g., PC co-chair of SPLC’22), symposiums, workshops, competitions, and meetings.
Mathieu Acher is Associate Professor at University of Rennes 1/IRISA/Inria, France. His research focuses on modelling, reverse engineering, and learning variability of software-intensive systems. He is the author of more than one hundred peer-reviewed publications in international journals and conferences. He was program committee co-chair of SPLC (Systems and Software Product Line Conference) 2017 and VaMoS (Conference on Variability Modelling of Software-Intensive Systems) 2020, served in the steering committees of SPLC and VaMoS, and co-organized the Reverse Variability Engineering series of workshops. His work has received one Most Influential Paper Award (SLE’19) and two Best Paper Awards (SPLC’21, ICPE’19). He is currently leading a research project, VaryVary, on machine learning and (deep) software variability. Since 2021, he is a junior research fellow at Institut Universitaire de France (IUF).
Tewfik Ziadi is Associate Professor at the Sorbonne University and the head of the MoVe team at LIP6 Lab. He received a Ph.D. in Computer Science from Universite of Rennes 1 in 2005 and his habilitation (HDR) in 2016 from Sorbonne Université. His research interests include Software Product Lines, Variability Modeling, and Model-Driven Development. His research has been published at several top tier software engineering venues and journals, such as the TSE, IST, and JSS journals and the IEEE/ACM International Conference on Automated Software Engineering (ASE). He is a co-developer of the BUT4Reuse platform for Bottom-Up technologies for Reuse. He is the scientific coordinator of an international project and the general co-chair of the Systems and Software Product Line Conference (SPLC 2019) and co-chair of the ACM SAC VSPLE Variability and Software Product Line Engineering Track, 2019. He was the publication chair of ICSR 2018 (International Conference on Software Reuse), and co-chair of the editions of the REverse Variability Engineering workshop (REVE 2013–2018).
Silvia Regina Vergilio received Master and Doctoral degrees from University of Campinas (UNICAMP), Brazil. She is currently a professor of Software Engineering in the Computer Science Department of Federal University of Paraná (UFPR), Brazil, where she leads the Research Group on Software Engineering. She has been involved in several projects and her research is mainly supported by CNPq (PQ Level 1D). She is the author of more than one hundred peer-reviewed publications in international journals and conferences. She serves as assistant editor of the Journal of Software Engineering: Research and Development, and acts as peer reviewer for diverse international journals. She served on the Program Committee of conferences such as SPLC, SSBSE, CEC, GECCO, SANER, and ICPC. Her research interests include software testing, software reliability, Software Product Lines (SPLs) and Search-based Software Engineering (SBSE).
In this Book
-
Foreword
-
Acronyms
-
Feature Location in Software Variants Toward Software Product Line Engineering
-
Feature and Variability Extraction from Natural Language Requirements
-
Semantic History Slicing
-
Feature Location in Models (FLiM): Design Time and Runtime
-
Search-Based Variability Model Synthesis from Variant Configurations
-
Extending Boolean Variability Relationship Extraction to Multi-Valued Software Descriptions
-
Machine Learning for Feature Constraints Discovery
-
Extraction of Software Product Line Architectures from Many System Variants
-
ModelVars2SPL: From UML Class Diagram Variants to Software Product Line Core Assets
-
Extraction and Evolution of a Software Product Line from Existing Web-Based Systems
-
Re-Engineering Microservice Applications into Delta-Oriented Software Product Lines
-
Understanding the Variability on the Recovery of Product Line Architectures
-
PAxSPL: A Framework for Aiding SPL Reengineering Planning
-
Bottom-Up Technologies for Reuse: A Framework to Support Extractive Software Product Line Adoption Activities
-
Systematic Software Reuse with Automated Extraction and Composition for Clone-and-Own
-
Re-engineering Automation Software with the Variability Analysis Toolkit
-
Managing Software Product Line Evolution by Filtered Editing: The SuperMod Approach
-
Challenges and Potential Benefits of Adopting Product Line Engineering in Start-Ups: A Preliminary Study
-
Re-Engineering Legacy Systems as Microservices: An Industrial Survey of Criteria to Deal with Modularity and Variability of Features
-
Evolution in Software Product Lines: An Overview
-
Glossary