Understanding And Guiding Software Product Lines Evolution Based On Requirements Engineering Activities

Software Product Line (SPL) has emerged as an important strategy to cope with the increasing demand of large-scale products customization. SPL has provided companies with an efficient and effective means of delivering products with higher quality at a lower cost, when compared to traditional software engineering strategies. However, such benefits do not come for free. There is a necessity in SPL to deal with the evolution of its assets to support changes within the environment and user needs. These changes in SPL are firstly represented by requirements. Thus, SPL should manage the commonality and variability of products by means of a “Requirements Engineering (RE) change management” process. Hence, besides dealing with the reuse and evolution of requirements in an SPL, the RE for SPL also needs an approach to represent explicitly the commonality and variability information (e.g., through feature models and use cases). To understand the evolution in SPL, this Thesis presents two empirical studies within industrial SPL projects and a systematic mapping study on SPL evolution. The two empirical studies evaluated Lehman’s laws of software evolution in two industrial SPL projects, demonstrating that most of the laws are supported by SPL environments. The systematic mapping study on SPL evolution identified approaches in the area and revealed gaps for researching, such as, that most of the proposed approaches perform the evolution of SPL requirements in an ad-hoc way and were evaluated through feasibility studies. These results led to systematize, through guidelines, the SPL processes by starting with the SPL requirements. Thus, it was proposed an approach to specify SPL requirements called Feature-Driven Requirements Engineering (FeDRE). FeDRE specifies SPL requirements in a systematic way driven by a feature model. To deal with the evolution of FeDRE requirements, a new approach called Feature-Driven Requirements Engineering Evolution (FeDRE2) was presented. FeDRE2 is responsible for guiding, in a systematic way, the SPL evolution based on activities from RE. These two proposed approaches are responsible for dealing with the first phase of the SPL development, which is the RE for the domain engineering. Both proposed approaches, FeDRE and FeDRE2, were evaluated and the results, besides being preliminaries, shown that the approaches were perceived as easy to use and also useful, coping with the improvement and systematization of SPL processes.

[1]  Hassan Gomaa,et al.  Model-Based Software Design and Adaptation , 2007, International Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS '07).

[2]  Mika Pussinen A survey on software product-line evolution , 2002 .

[3]  Cláudia Maria Lima Werner,et al.  MobiLine: A Nested Software Product Line for the domain of mobile and context-aware applications , 2013, Sci. Comput. Program..

[4]  Pierre-Yves Schobbens,et al.  Managing evolution in software product lines: a model-checking perspective , 2012, VaMoS.

[5]  Svein O. Hallsteinsen,et al.  Using product line techniques to build adaptive systems , 2006, 10th International Software Product Line Conference (SPLC'06).

[6]  Tsutomu Ishida,et al.  Metrics and Models in Software Quality Engineering , 1995 .

[7]  Jesús M. González-Barahona,et al.  Studying the laws of software evolution in a long-lived FLOSS project , 2013, J. Softw. Evol. Process..

[8]  Meir M. Lehman,et al.  Metrics of software evolution as effort predictors - a case study , 2000, Proceedings 2000 International Conference on Software Maintenance.

[9]  Juha Savolainen,et al.  Identifying improvement potential in evolving product line infrastructures: 3 case studies , 2012, SPLC '12.

[10]  M.M. Lehman,et al.  Programs, life cycles, and laws of software evolution , 1980, Proceedings of the IEEE.

[11]  Samuel Ajila,et al.  Evolution support mechanisms for software product line process , 2008, J. Syst. Softw..

[12]  Bernd Brügge,et al.  Evolution in Product Line Requirements Engineering: A Rationale Management Approach , 2007, 15th IEEE International Requirements Engineering Conference (RE 2007).

[13]  Katrina D. Maxwell,et al.  Applied Statistics for Software Managers , 2002 .

[14]  Jakob Axelsson Improving the evolutionary architecting process for embedded system product lines , 2011, 2011 IEEE International Systems Conference.

[15]  Jean-Marc Jézéquel,et al.  Transactions on Aspect-Oriented Software Development VII , 2009 .

[16]  Uirá Kulesza,et al.  Investigating the safe evolution of software product lines , 2011, GPCE '11.

[17]  Ina Schaefer,et al.  Dynamic delta-oriented programming , 2011, SPLC '11.

[18]  Wolfgang Schröder-Preikschat,et al.  Variability in Time - Product Line Variability and Evolution Revisited , 2010, VaMoS.

[19]  Márcio Ribeiro,et al.  Improving Guidance when Restructuring Variabilities in Software Product Lines , 2009, 2009 13th European Conference on Software Maintenance and Reengineering.

[20]  Luca Padovani,et al.  A formal foundation for dynamic delta-oriented software product lines , 2012, GPCE '12.

[21]  Stefan Kowalewski,et al.  Towards feature-driven planning of product-line evolution , 2009, FOSD '09.

[22]  Yoshiaki Fukazawa,et al.  Software product line evolution method based on kaizen approach , 2007, SAC '07.

[23]  Rocco J. Perla,et al.  Ten Common Misunderstandings, Misconceptions, Persistent Myths and Urban Legends about Likert Scales and Likert Response Formats and their Antidotes , 2007 .

[24]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .

[25]  Zhenchang Xing,et al.  Understanding Feature Evolution in a Family of Product Variants , 2010, 2010 17th Working Conference on Reverse Engineering.

[26]  Goetz Botterweck,et al.  Evolution of Software Product Lines , 2014, Evolving Software Systems.

[27]  Kai Petersen,et al.  Systematic Mapping Studies in Software Engineering , 2008, EASE.

[28]  Laurence Duchien,et al.  Unifying design and runtime software adaptation using aspect models , 2011, Sci. Comput. Program..

[29]  Eduardo Santana de Almeida,et al.  Evaluating Lehman's Laws of software evolution within software product lines industrial projects , 2017, J. Syst. Softw..

[30]  Michael W. Godfrey,et al.  On the evolution of Lehman's Laws , 2014, J. Softw. Evol. Process..

[31]  Sven Apel,et al.  Refactoring Feature Modules , 2009, ICSR.

[32]  Vander Alves,et al.  Extracting and Evolving Mobile Games Product Lines , 2005, SPLC.

[33]  Dewayne E. Perry,et al.  Metrics and laws of software evolution-the nineties view , 1997, Proceedings Fourth International Software Metrics Symposium.

[34]  Zhenchang Xing,et al.  Feature Location in a Collection of Product Variants , 2012, 2012 19th Working Conference on Reverse Engineering.

[35]  Jaejoon Lee,et al.  Feature-Oriented Analysis and Specification of Dynamic Product Reconfiguration , 2008, ICSR.

[36]  José Amancio M. Santos,et al.  Investigating bias in the search phase of Software Engineering secondary studies , 2015, CIbSE.

[37]  Pearl Brereton,et al.  Using Mapping Studies in Software Engineering , 2008, PPIG.

[38]  G. Heller,et al.  Report of the GI Work Group ”Requirements Engineering for Product Lines” , 2003 .

[39]  Jennifer Pérez,et al.  Change Impact Analysis in Product-Line Architectures , 2011, ECSA.

[40]  Paul Grünbacher,et al.  Supporting Runtime System Adaptation through Product Line Engineering and Plug-in Techniques , 2008, Seventh International Conference on Composition-Based Software Systems (ICCBSS 2008).

[41]  Lidia Fuentes,et al.  Architectural evolution of FamiWare using cardinality-based feature models , 2013, Inf. Softw. Technol..

[42]  Silvia Mara Abrahão,et al.  Usability evaluation methods for the web: A systematic mapping study , 2011, Inf. Softw. Technol..

[43]  Krzysztof Czarnecki,et al.  Evolution of the Linux Kernel Variability Model , 2010, SPLC.

[44]  Stephen R. Schach,et al.  Development/maintenance/reuse: software evolution in product lines , 2000, SPLC.

[45]  Fred D. Davis Perceived Usefulness, Perceived Ease of Use, and User Acceptance of Information Technology , 1989, MIS Q..

[46]  Juha Savolainen,et al.  Variability evolution and erosion in industrial product lines: a case study , 2013, SPLC '13.

[47]  Silvia Mara Abrahão,et al.  Empirical validation of a usability inspection method for model-driven Web development , 2013, J. Syst. Softw..

[48]  Sooyong Park,et al.  Tool Support for Quality Evaluation and Feature Selection to Achieve Dynamic Quality Requirements Change in Product Lines , 2008, SPLC.

[49]  Jesús M. González-Barahona,et al.  The evolution of the laws of software evolution , 2013, ACM Comput. Surv..

[50]  Kentaro Yoshimura,et al.  FAVE: factor analysis based approach for detecting product line variability from change history , 2008, MSR '08.

[51]  Eduardo Santana de Almeida,et al.  Strategies for consistency checking on software product lines: a mapping study , 2015, EASE.

[52]  Dror G. Feitelson,et al.  The Linux kernel as a case study in software evolution , 2010, J. Syst. Softw..

[53]  Zhenchang Xing,et al.  Incremental and iterative reengineering towards Software Product Line: An industrial case study , 2011, 2011 27th IEEE International Conference on Software Maintenance (ICSM).

[54]  Rikard Land,et al.  Migrating Industrial Systems towards Software Product Lines: Experiences and Observations through Case Studies , 2008, 2008 34th Euromicro Conference Software Engineering and Advanced Applications.

[55]  Marco Tulio Valente,et al.  A Semi-Automatic Approach for Extracting Software Product Lines , 2012, IEEE Transactions on Software Engineering.

[56]  Claus Brabrand,et al.  On the impact of feature dependencies when maintaining preprocessor-based software product lines , 2011, GPCE '11.

[57]  Jeffrey C. Carver Towards Reporting Guidelines for Experimental Replications: A Proposal , 2010 .

[58]  Ping Chen,et al.  An environment for managing evolving product line architectures , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..

[59]  Jesper Andersson,et al.  Knowledge evolution in autonomic software product lines , 2011, SPLC '11.

[60]  Juha Kuusela,et al.  Violatility analysis framework for product lines , 2001, SSR '01.

[61]  Linda M. Northrop SEI's Software Product Line Tenets , 2002, IEEE Softw..

[62]  Lidia Fuentes,et al.  Software Product Line Evolution with Cardinality-Based Feature Models , 2011, ICSR.

[63]  Xin Peng,et al.  Synchronized Architecture Evolution in Software Product Line Using Bidirectional Transformation , 2010, 2010 IEEE 34th Annual Computer Software and Applications Conference.

[64]  Jean-Marc Jézéquel,et al.  Model-based product line evolution: an incremental growing by extension , 2012, SPLC '12.

[65]  Paul Grünbacher,et al.  Structuring the modeling space and supporting evolution in software product line engineering , 2010, J. Syst. Softw..

[66]  Barbara Paech,et al.  Component-based product line engineering with UML , 2001, Addison Wesley object technology series.

[67]  Hanspeter Mössenböck,et al.  Supporting Model Maintenance in Component-based Product Lines , 2012, 2012 Joint Working IEEE/IFIP Conference on Software Architecture and European Conference on Software Architecture.

[68]  Paulo Borba,et al.  Modeling scenario variability as crosscutting mechanisms , 2009, AOSD '09.

[69]  Marco Sinnema,et al.  COSVAM: a technique for assessing software variability in software product families , 2004, 20th IEEE International Conference on Software Maintenance, 2004. Proceedings..

[70]  Juha Savolainen,et al.  Coevolution of variability models and code: an industrial case study , 2014, SPLC.

[71]  John D. McGregor,et al.  The Evolution of Product Line Assets , 2003 .

[72]  Vicente Pelechano,et al.  Prototyping Dynamic Software Product Lines to evaluate run-time reconfigurations , 2013, Sci. Comput. Program..

[73]  Jing Liu,et al.  State-Based Modeling to Support the Evolution and Maintenance of Safety-Critical Software Product Lines , 2007, 14th Annual IEEE International Conference and Workshops on the Engineering of Computer-Based Systems (ECBS'07).

[74]  André van der Hoek,et al.  Issues in mapping change-based product line architectures to configuration management systems , 2009, SPLC.

[75]  Kangtae Kim,et al.  Building Software Product Line from the Legacy Systems "Experience in the Digital Audio and Video Domain" , 2007 .

[76]  Silvia Mara Abrahão,et al.  A Feature-Driven Requirements Engineering Approach for Software Product Lines , 2013, 2013 VII Brazilian Symposium on Software Components, Architectures and Reuse.

[77]  Goetz Botterweck,et al.  Consistency checking for the evolution of cardinality-based feature models , 2014, SPLC.

[78]  Liam O'Brien,et al.  Using the Options Analysis for Reengineering (OAR) Method for Mining Components for a Product Line , 2002, SPLC.

[79]  Yijun Yu,et al.  Variability Modeling for Product Line Viewpoints Integration , 2010, 2010 IEEE 34th Annual Computer Software and Applications Conference.

[80]  Daniel Simon,et al.  Evolutionary Introduction of Software Product Lines , 2002, SPLC.

[81]  Muhammad Ali Babar,et al.  Dynamic Software Product Line Architectures Using Service-Based Computing for Automotive Systems , 2008, SPLC.

[82]  Alexander Egyed,et al.  Supporting Consistency Checking between Features and Software Product Line Use Scenarios , 2011, ICSR.

[83]  Dietmar Pfahl,et al.  Reporting Experiments in Software Engineering , 2008, Guide to Advanced Empirical Software Engineering.

[84]  Paul Grünbacher,et al.  Using regression testing to analyze the impact of changes to variability models on products , 2012, SPLC '12.

[85]  Klaus Schmid,et al.  From Static to Dynamic Software Product Lines , 2008, SPLC.

[86]  George Valença,et al.  Accepted Manuscript Requirements Engineering for Software Product Lines: a Systematic Literature Review Accepted Manuscript Requirements Engineering for Software Product Lines: a Systematic Literature Review Accepted Manuscript , 2022 .

[87]  D. V. Koznov,et al.  Refactoring the Documentation of Software Product Lines , 2008, CEE-SET.

[88]  Katsuro Inoue,et al.  Extraction of product evolution tree from source code of product variants , 2013, SPLC '13.

[89]  Paul Grünbacher,et al.  Supporting Evolution in Model-Based Product Line Engineering , 2008, 2008 12th International Software Product Line Conference.

[90]  Rafael Capilla,et al.  Context variability modeling for runtime configuration of service-based dynamic software product lines , 2014, SPLC '14.

[91]  Hassan Gomaa,et al.  Software reconfiguration patterns for dynamic evolution of software architectures , 2004, Proceedings. Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA 2004).

[92]  Serge Demeyer,et al.  Software Evolution , 2010 .

[93]  Paul Grünbacher,et al.  Facilitating the evolution of products in product line engineering by capturing and replaying configuration decisions , 2012, International Journal on Software Tools for Technology Transfer.

[94]  Jan Bosch,et al.  Evolution of Software Product Families , 2000, IW-SAPF.

[95]  Eduardo Santana de Almeida,et al.  On the Relationship between Inspection and Evolution in Software Product Lines: An Exploratory Study , 2012, 2012 26th Brazilian Symposium on Software Engineering.

[96]  Ella E. Roubtsova,et al.  Behavioural inheritance in the UML to model software product lines , 2004, Sci. Comput. Program..

[97]  Manuel Resinas,et al.  Designing and managing evolving systems using a MAS product line approach , 2007, Sci. Comput. Program..

[98]  Hassan Gomaa,et al.  Evolving software requirements and architectures using software product line concepts , 2013, 2013 2nd International Workshop on the Twin Peaks of Requirements and Architecture (TwinPeaks).

[99]  Xin Peng,et al.  Towards Feature-Oriented Variability Reconfiguration in Dynamic Software Product Lines , 2011, ICSR.

[100]  João Araújo,et al.  AoURN-based modeling and analysis of software product lines , 2011, Software Quality Journal.

[101]  Robyn R. Lutz,et al.  Are change metrics good predictors for an evolving software product line? , 2011, Promise '11.

[102]  Per Runeson,et al.  Guidelines for conducting and reporting case study research in software engineering , 2009, Empirical Software Engineering.

[103]  Eduardo Santana de Almeida,et al.  Evaluating Lehman's Laws of Software Evolution within Software Product Lines: A Preliminary Empirical Study , 2015, ICSR.

[104]  Patrick Donohoe,et al.  Product Line Analysis: A Practical Introduction , 2001 .

[105]  Jean-Francois Girard,et al.  Transitioning legacy assets to a product line architecture , 1999, ESEC/FSE-7.

[106]  Uwe Aßmann,et al.  Co-evolution of models and feature mapping in software product lines , 2012, SPLC '12.

[107]  Jan Bosch,et al.  Evolution in software product lines: two cases , 1999, J. Softw. Maintenance Res. Pract..

[108]  Michael W. Godfrey,et al.  Evolution in open source software: a case study , 2000, Proceedings 2000 International Conference on Software Maintenance.

[109]  Gunter Saake,et al.  A taxonomy of software product line reengineering , 2014, VaMoS.

[110]  Jürgen Börstler,et al.  The PLUSS Approach - Domain Modeling with Features, Use Cases and Use Case Realizations , 2005, SPLC.

[111]  Iulian Neamtiu,et al.  Towards a better understanding of software evolution: An empirical study on open source software , 2009, 2009 IEEE International Conference on Software Maintenance.

[112]  Sebastian Günther,et al.  Dynamically adaptable software product lines using Ruby metaprogramming , 2010, FOSD '10.

[113]  Charles W. Krueger,et al.  Easing the Transition to Software Mass Customization , 2001, PFE.

[114]  P. Phillips,et al.  Testing the null hypothesis of stationarity against the alternative of a unit root: How sure are we that economic time series have a unit root? , 1992 .

[115]  Douglas C. Schmidt,et al.  Evolving feature model configurations in software product lines , 2014, J. Syst. Softw..

[116]  Betty H. C. Cheng,et al.  Research Directions in Requirements Engineering , 2007, Future of Software Engineering (FOSE '07).

[117]  Michiel Helvensteijn,et al.  Dynamic delta modeling , 2012, SPLC '12.

[118]  Sandro Schulze,et al.  DeltaJ 1.5: delta-oriented programming for Java 1.5 , 2014, PPPJ.

[119]  Danny Weyns,et al.  Codifying architecture knowledge to support online evolution of software product lines , 2011, SHARK '11.

[120]  Danny Weyns,et al.  Supporting Online Updates of Software Product Lines: A Controlled Experiment , 2011, 2011 International Symposium on Empirical Software Engineering and Measurement.

[121]  Dave Clarke,et al.  Executable modelling of dynamic software product lines in the ABS language , 2013, FOSD '13.

[122]  Marek Hatala,et al.  Goal-driven software product line engineering , 2011, SAC.

[123]  Gunter Saake,et al.  Variant-preserving refactoring in feature-oriented software product lines , 2012, VaMoS.

[124]  Michail Anastasopoulos,et al.  Increasing efficiency and effectiveness of software product line evolution: an infrastructure on top of configuration management , 2009, IWPSE-Evol '09.

[125]  Marco Sinnema,et al.  Variability assessment in software product families , 2009, Inf. Softw. Technol..

[126]  Yu Chen,et al.  Using simulation to facilitate the study of software product line evolution , 2004, Proceedings. 7th International Workshop on Principles of Software Evolution, 2004..

[127]  Reidar Conradi,et al.  Software Entropy in Agile Product Evolution , 2010, 2010 43rd Hawaii International Conference on System Sciences.

[128]  Keunhyuk Yeom,et al.  An approach to developing domain requirements as a core asset based on commonality and variability analysis in a product line , 2005, IEEE Transactions on Software Engineering.

[129]  Gordon S. Blair,et al.  Dynamically Adaptive Systems are Product Lines too: Using Model-Driven Techniques to Capture Dynamic Variability of Adaptive Systems , 2008, SPLC.

[130]  Stefan Kowalewski,et al.  Model-driven support for product line evolution on feature level , 2012, J. Syst. Softw..

[131]  Bennet P. Lientz,et al.  Software Maintenance Management: A Study of the Maintenance of Computer Application Software in 487 Data Processing Organizations , 1980 .

[132]  Jakob Axelsson Evolutionary architecting of embedded automotive product lines: An industrial case study , 2009, 2009 Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture.

[133]  Yiming Yang,et al.  Recovering Object-Oriented Framework for Software Product Line Reengineering , 2011, ICSR.

[134]  Capers Jones,et al.  Applied software measurement: assuring productivity and quality , 1991 .

[135]  Goetz Botterweck,et al.  Modeling rationale over time to support product line evolution planning , 2012, VaMoS.

[136]  Klaus Schmid,et al.  Formalizing distributed evolution of variability in information system ecosystems , 2012, VaMoS.

[137]  Reinhard Stoiber,et al.  Relating Product Line Context to Requirements Engineering Processes Using Design Rationale , 2008, Software Engineering.

[138]  David M. Weiss,et al.  Software Product-Line Engineering: A Family-Based Software Development Process , 1999 .

[139]  Chris F. Kemerer,et al.  How software process automation affects software evolution: a longitudinal empirical analysis: Research Articles , 2007 .

[140]  Mathieu Acher,et al.  Extraction and evolution of architectural variability models in plugin-based systems , 2013, Software & Systems Modeling.

[141]  Cecília M. F. Rubira,et al.  Components meet aspects: Assessing design stability of a software product line , 2011, Inf. Softw. Technol..

[142]  Pearl Brereton,et al.  Lessons learnt Undertaking a Large-scale Systematic Literature Review , 2008, EASE.

[143]  Silvia Mara Abrahão,et al.  Defining and Validating a Feature-Driven Requirements Engineering Approach , 2014, J. Univers. Comput. Sci..

[144]  Jan Bosch,et al.  Runtime variability for dynamic reconfiguration in wireless sensor network product lines , 2012, SPLC '12.

[145]  Stefan Sobernig,et al.  Towards assessing the complexity of object migration in dynamic, feature-oriented software product lines , 2014, VaMoS '14.

[146]  Malte Lochau,et al.  Dynamic configuration management of cloud-based applications , 2012, SPLC '12.

[147]  Uwe Aßmann,et al.  Towards modeling and analyzing variability in evolving software ecosystems , 2013, VaMoS.

[148]  Vicente Pelechano,et al.  Designing and Prototyping Dynamic Software Product Lines: Techniques and Guidelines , 2010, SPLC.

[149]  Silvia Mara Abrahão,et al.  Evaluating requirements modeling methods based on user perceptions: A family of experiments , 2011, Inf. Sci..

[150]  F. Loesch,et al.  Restructuring Variability in Software Product Lines using Concept Analysis of Product Configurations , 2007, 11th European Conference on Software Maintenance and Reengineering (CSMR'07).

[151]  Christoph Seidl,et al.  Integrated management of variability in space and time in software families , 2014, SPLC.

[152]  Chris F. Kemerer,et al.  An Empirical Approach to Studying Software Evolution , 1999, IEEE Trans. Software Eng..

[153]  Michael Eonsuk Shin,et al.  Multiple-view modelling and meta-modelling of software product lines , 2008, IET Softw..

[154]  Arie van Deursen,et al.  Extracting feature model changes from the Linux kernel using FMDiff , 2014, VaMoS '14.

[155]  Robert S. Arnold,et al.  Software Change Impact Analysis , 1996 .

[156]  Koji Hashimoto,et al.  Dynamic software adaptation for service-oriented product lines , 2011, SPLC '11.

[157]  Paulo F. Pires,et al.  Architecting a Model-Driven Aspect-Oriented Product Line for a Digital TV Middleware: A Refactoring Experience , 2010, ECSA.

[158]  Philippe Collet,et al.  SPLEMMA: a generic framework for controlled-evolution of software product lines , 2013, SPLC '13 Workshops.

[159]  Robyn R. Lutz,et al.  Predicting failure-proneness in an evolving software product line , 2013, Inf. Softw. Technol..

[160]  Vicente Pelechano,et al.  An Architectural Discussion on DSPL , 2008, SPLC.

[161]  Paul Grünbacher,et al.  Simulating evolution in model-based product line engineering , 2010, Inf. Softw. Technol..

[162]  Laurence Duchien,et al.  Context awareness for dynamic service-oriented product lines , 2009, SPLC.

[163]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[164]  Stefan Kowalewski,et al.  EvoFM: feature-driven planning of product-line evolution , 2010, PLEASE '10.

[165]  Meir M. Lehman,et al.  Laws of Software Evolution Revisited , 1996, EWSPT.

[166]  Michael Eisenbarth,et al.  A decade of scoping: a survey , 2009, SPLC.

[167]  Jean-Marc Jézéquel,et al.  Modeling the Variability Space of Self-Adaptive Applications , 2008, SPLC.

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

[169]  Danny Weyns,et al.  An Architectural Approach to Support Online Updates of Software Product Lines , 2011, 2011 Ninth Working IEEE/IFIP Conference on Software Architecture.

[170]  Antonio Ruiz Cortés,et al.  Business Family Engineering - Managing the Evolution of Business Driven Systems , 2007, SPLC.

[171]  Martin L. Griss,et al.  Integrating feature modeling with the RSEB , 1998, Proceedings. Fifth International Conference on Software Reuse (Cat. No.98TB100203).

[172]  Marcelo de Almeida Maia,et al.  A quantitative and qualitative assessment of aspectual feature modules for evolving software product lines , 2014, Sci. Comput. Program..

[173]  Mauro Pezzè,et al.  Software testing and analysis - process, principles and techniques , 2007 .

[174]  Paul Grünbacher,et al.  Managing the Life-cycle of Industrial Automation Systems with Product Line Variability Models , 2008, 2008 34th Euromicro Conference Software Engineering and Advanced Applications.

[175]  Reidar Conradi,et al.  An examination of change profiles in reusable and non-reusable software systems , 2010 .

[176]  Weishan Zhang,et al.  Reengineering a PC-based system into the mobile device product line , 2003, Sixth International Workshop on Principles of Software Evolution, 2003. Proceedings..

[177]  Paulo Borba,et al.  A theory of software product line refinement , 2010, Theor. Comput. Sci..

[178]  Rainer Koschke,et al.  Supporting the Grow-and-Prune Model in Software Product Lines Evolution Using Clone Detection , 2008, 2008 12th European Conference on Software Maintenance and Reengineering.

[179]  Eduardo Santana de Almeida,et al.  On the Relationship between Features Granularity and Non-conformities in Software Product Lines: An Exploratory Study , 2013, 2013 27th Brazilian Symposium on Software Engineering.

[180]  Alexander Egyed,et al.  From Requirements to Features: An Exploratory Study of Feature-Oriented Refactoring , 2011, 2011 15th International Software Product Line Conference.

[181]  Silvia Mara Abrahão,et al.  A systematic review of quality attributes and measures for software product lines , 2011, Software Quality Journal.

[182]  Wesley Klewerton Guez Assunção,et al.  Feature location for software product line migration: a mapping study , 2014, SPLC '14.

[183]  Dirk Muthig,et al.  Customizable Domain Analysis , 1999, GCSE.

[184]  Samuel Ajila,et al.  Experience report on the effect of market reposition on product line evolution , 2004, Proceedings of the 2004 IEEE International Conference on Information Reuse and Integration, 2004. IRI 2004..

[185]  Klaus Schmid,et al.  PuLSE: a methodology to develop software product lines , 1999, SSR '99.

[186]  Claudio Riva,et al.  Experiences with software product family evolution , 2003, Sixth International Workshop on Principles of Software Evolution, 2003. Proceedings..

[187]  Marek Hatala,et al.  The effects of visualization and interaction techniques on feature model configuration , 2016, Empirical Software Engineering.

[188]  Carlos José Pereira de Lucena,et al.  History-sensitive heuristics for recovery of features in code of evolving program families , 2012, SPLC '12.

[189]  Carlos José Pereira de Lucena,et al.  Refactoring product lines , 2006, GPCE '06.

[190]  Anissa Benlarabi,et al.  Towards a co-evolution model for software product lines based on cladistics , 2014, 2014 IEEE Eighth International Conference on Research Challenges in Information Science (RCIS).

[191]  S. Shapiro,et al.  An Analysis of Variance Test for Normality (Complete Samples) , 1965 .

[192]  Shige Wang,et al.  A feature-oriented requirements modelling language , 2012, 2012 20th IEEE International Requirements Engineering Conference (RE).

[193]  Sergio Segura,et al.  An assessment of search-based techniques for reverse engineering feature models , 2015, J. Syst. Softw..

[194]  Sandro Schulze,et al.  Refactoring delta-oriented software product lines , 2013, Software Engineering & Management.

[195]  Ana I. Molina,et al.  Evaluating a graphical notation for modeling collaborative learning activities: A family of experiments , 2014, Sci. Comput. Program..

[196]  Vicente Pelechano,et al.  Context-Aware Autonomous Web Services in Software Product Lines , 2011, 2011 15th International Software Product Line Conference.

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

[198]  Vahid Garousi,et al.  Decision support for moving from a single product to a product portfolio in evolving software systems , 2010, J. Syst. Softw..

[199]  Krzysztof Czarnecki,et al.  Coevolution of variability models and related artifacts: a case study from the Linux kernel , 2013, SPLC '13.

[200]  Sang Tae Kim,et al.  Platform Maintenance Process for Software Quality Assurance in Product Line , 2008, 2008 International Conference on Computer Science and Software Engineering.

[201]  Miguel A. Laguna,et al.  A systematic mapping study on software product line evolution: From legacy system reengineering to product line refactoring , 2013, Sci. Comput. Program..

[202]  Didar Zowghi,et al.  Towards understanding requirement evolution in a software product line an industrial case study , 2012, 2012 First IEEE International Workshop on the Twin Peaks of Requirements and Architecture (TwinPeaks).

[203]  Thomas Thüm,et al.  Reasoning about edits to feature models , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[204]  Huilin Ye,et al.  Approach to modelling feature variability and dependencies in software product lines , 2005, IEE Proc. Softw..

[205]  Jianmei Guo,et al.  Consistency maintenance for evolving feature models , 2012, Expert Syst. Appl..

[206]  Antonio Ruiz Cortés,et al.  Mapping Feature Models onto Component Models to Build Dynamic Software Product Lines , 2007, SPLC.

[207]  Jens Knodel,et al.  Asset recovery and their incorporation into product lines , 2005, 12th Working Conference on Reverse Engineering (WCRE'05).

[208]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[209]  Andy Schürr,et al.  Reducing feature models to improve runtime adaptivity on resource limited devices , 2012, SPLC '12.

[210]  Natalia Juristo Juzgado,et al.  Are Students Representatives of Professionals in Software Engineering Experiments? , 2015, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering.

[211]  Sven Apel,et al.  A model of refactoring physically and virtually separated features , 2009, GPCE '09.

[212]  Xin Yan,et al.  Linear Regression Analysis: Theory and Computing , 2009 .

[213]  Samuel Ajila,et al.  Using traceability mechanisms to support software product line evolution , 2004, Proceedings of the 2004 IEEE International Conference on Information Reuse and Integration, 2004. IRI 2004..

[214]  Malte Lochau,et al.  Implementing refactorings for FOP: lessons learned and challenges ahead , 2013, FOSD '13.

[215]  Jesús Gallardo,et al.  Metamodel-driven definition of a visual modeling language for specifying interactive groupware applications: An empirical study , 2013, J. Syst. Softw..

[216]  Sven Apel,et al.  Tailoring dynamic software product lines , 2011, GPCE '11.

[217]  Gunter Saake,et al.  Flexible feature binding in software product lines , 2011, Automated Software Engineering.

[218]  Jan Bosch,et al.  Design and use of software architectures - adopting and evolving a product-line approach , 2000 .

[219]  Brian Randell,et al.  Software engineering : report on a conference sponsored by the NATO Science Committee, Garmisch, Germany, 7th to 11th October 1968 , 1969 .

[220]  Eduardo Santana de Almeida,et al.  Requirements Evolution in Software Product Lines: An Empirical Study , 2015, 2015 IX Brazilian Symposium on Components, Architectures and Reuse Software.

[221]  Pearl Brereton,et al.  Performing systematic literature reviews in software engineering , 2006, ICSE.

[222]  Kerstin Mueller,et al.  Software Product Line Engineering Foundations Principles And Techniques , 2016 .

[223]  Minseong Kim,et al.  An Approach to Dynamically Achieving Quality Requirements Change in Product Line Engineering , 2007, SPLC.

[224]  Jesper Andersson,et al.  Autonomic Software Product Lines (ASPL) , 2010, ECSA '10.

[225]  Claes Wohlin,et al.  Experimentation in Software Engineering , 2000, The Kluwer International Series in Software Engineering.

[226]  Nicolas Anquetil,et al.  A model-driven traceability framework for software product lines , 2010, Software & Systems Modeling.

[227]  H. Ji,et al.  Lehman ’ s laws of software evolution , 2000 .

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

[229]  Mathieu Acher,et al.  Support for reverse engineering and maintaining feature models , 2013, VaMoS.

[230]  Tom Mens,et al.  Towards a taxonomy of software change: Research Articles , 2005 .

[231]  Yijun Yu,et al.  Analyzing evolution of variability in a software product line: From contexts and requirements to features , 2011, Inf. Softw. Technol..

[232]  Ethan V. Munson,et al.  Software Configuration Management for Product Derivation in Software Product Families , 2008, 15th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems (ecbs 2008).

[233]  Charles W. Krueger,et al.  Variation Management for Software Production Lines , 2002, SPLC.