A mixed-method approach for the empirical evaluation of the issue-based variability modeling

Background: Variability management is the fundamental part of software product line engineering, which deals with customization and reuse of artifacts for developing a family of systems. Rationale approaches structure decision-making by managing the tacit-knowledge behind decisions. This paper reports a quasi-experiment for evaluating a rationale enriched collaborative variability management methodology called issue-based variability modeling. Objective: We studied the interaction of stakeholders with issue-based modeling to evaluate its applicability in requirements engineering teams. Furthermore, we evaluated the reuse of rationale while instantiating and changing variability. Approach: We enriched a quasi-experimental design with a variety of methods found in case study research. A sample of 258 students was employed with data collection and analysis based on a mix of qualitative and quantitative methods. Our study was performed in two phases: the first phase focused on variability identification and instantiation, while the second phase included tasks on variability evolution. Results: We obtained strong empirical evidence on reuse patterns for rationale during instantiation and evolution of variability. The tabular representations used by rationale modeling are learnable and usable in teams of diverse backgrounds.

[1]  Linda M. Northrop,et al.  A Framework for Software Product Line Practice , 1999, ECOOP Workshops.

[2]  Sylwia Męcfal Recenzja książki. Robert K. yin, Case Study Research. Design and Methods (fourth Edition), thousand Oaks, CA: Sage Publications, 2009 , 2012 .

[3]  Helen Sharp,et al.  Motivation in Software Engineering: A systematic literature review , 2008, Inf. Softw. Technol..

[4]  Jan Bosch,et al.  Managing Variability in Software Product Lines , 2000 .

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

[6]  Bernd Brügge,et al.  Issue-based variability management , 2012, Inf. Softw. Technol..

[7]  Heiko Koziolek,et al.  From monolithic to component-based performance evaluation of software architectures , 2010, Empirical Software Engineering.

[8]  Paul Grünbacher,et al.  Requirements for product derivation support: Results from a systematic literature review and an expert survey , 2010, Inf. Softw. Technol..

[9]  Kim Lauenroth,et al.  Why is it not Sufficient to Model Requirements Variability with Feature Models? 1 , 2004 .

[10]  Janet E. Burge,et al.  Design rationale: Researching under uncertainty , 2008, Artificial Intelligence for Engineering Design, Analysis and Manufacturing.

[11]  Valorie A. Crooks,et al.  A Mixed Method Approach to Quality of Life Research: A Case Study Approach , 2007 .

[12]  Kuntz Werner,et al.  Issues as Elements of Information Systems , 1970 .

[13]  Helen Sharp,et al.  An Empirical Study of the Evolution of an Agile-Developed Software System , 2007, 29th International Conference on Software Engineering (ICSE'07).

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

[15]  David C. Brown,et al.  Software Engineering Using RATionale , 2008, J. Syst. Softw..

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

[17]  Antony Tang,et al.  A rationale-based architecture model for design traceability and reasoning , 2007, J. Syst. Softw..

[18]  Jay Palmisano A Motivational Model of Knowledge Sharing , 2008 .

[19]  Björn Regnell,et al.  Is a Design Rationale Vital when Predicting Change Impact? A Controlled Experiment on Software Architecture Evolution , 2000, PROFES.

[20]  Lianping Chen,et al.  A systematic review of evaluation of variability management approaches in software product lines , 2011, Inf. Softw. Technol..

[21]  Claes Wohlin,et al.  Experimentation in software engineering: an introduction , 2000 .

[22]  Ronald R. Yager,et al.  Modeling prioritized multicriteria decision making , 2004, IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics).

[23]  Muhammad Ali Babar,et al.  The Impact of Group Size on Software Architecture Evaluation: A Controlled Experiment , 2007, First International Symposium on Empirical Software Engineering and Measurement (ESEM 2007).

[24]  Timo Wolf,et al.  Rationale-based unified software engineering model , 2008 .

[25]  K. Eisenhardt Building theories from case study research , 1989, STUDI ORGANIZZATIVI.

[26]  Janice Singer,et al.  Ethical Issues in Empirical Studies of Software Engineering , 2002, IEEE Trans. Software Eng..

[27]  Anil Kumar Thurimella,et al.  Metadoc Feature Modeler: A Plug-in for IBM Rational DOORS , 2011, 2011 15th International Software Product Line Conference.

[28]  Ian Alexander,et al.  Choosing a Tram Route: An Experience in Trading-Off Constraints , 2007, 15th IEEE International Requirements Engineering Conference (RE 2007).

[29]  Lianping Chen,et al.  Managing Variability in Software Product Lines , 2010, IEEE Software.

[30]  Tom DeMarco,et al.  Peopleware (2nd ed.): productive projects and teams , 1999 .

[31]  Muhammad Ali Babar,et al.  Identifying relevant studies in software engineering , 2011, Inf. Softw. Technol..

[32]  Michael Luck,et al.  Motivation-Based Selection of Negotiation Opponents , 2004, ESAW.

[33]  Anil Kumar Thurimella,et al.  Empirical evaluation of issue based variability modeling using the experimental survey technique , 2007, ICSE 2007.

[34]  Klaus Schmid,et al.  A customizable approach to full lifecycle variability management , 2004, Sci. Comput. Program..

[35]  Raymond McCall,et al.  Rationale Management in Software Engineering , 2006 .

[36]  Paul Grünbacher Collaborative requirements negotiation with EasyWinWin , 2000, Proceedings 11th International Workshop on Database and Expert Systems Applications.

[37]  Peng Liang,et al.  Advanced quality prediction model for software architectural knowledge sharing , 2011, J. Syst. Softw..

[38]  Tom DeMarco,et al.  Peopleware: Productive Projects and Teams , 1987 .

[39]  Michael Luck,et al.  Motivation-based selection of negotiation partners , 2004, Proceedings of the Third International Joint Conference on Autonomous Agents and Multiagent Systems, 2004. AAMAS 2004..

[40]  R. Yin Case Study Research: Design and Methods , 1984 .

[41]  Paul Grünbacher,et al.  The DOPLER meta-tool for decision-oriented variability modeling: a multiple case study , 2011, Automated Software Engineering.

[42]  Rosalie J. Ocker Promoting Group Creativity in Upstream Requirements Engineering , 2010 .

[43]  Paul Clements,et al.  A framework for software product line practice - version 2 , 1999 .

[44]  Thomas P. Moran,et al.  Questions, Options, and Criteria: Elements of Design Space Analysis , 1991, Hum. Comput. Interact..

[45]  Vladimir Tosic,et al.  Guidelines for industrially-based multiple case studies in software engineering , 2009, 2009 Third International Conference on Research Challenges in Information Science.

[46]  Pierre-Yves Schobbens,et al.  Disambiguating the Documentation of Variability in Software Product Lines: A Separation of Concerns, Formalization and Automated Analysis , 2007, 15th IEEE International Requirements Engineering Conference (RE 2007).

[47]  Lionel C. Briand,et al.  A Controlled Experiment for Evaluating Quality Guidelines on the Maintainability of Object-Oriented Designs , 2001, IEEE Trans. Software Eng..

[48]  Bonnie Kaplan,et al.  Combining Qualitative and Quantitative Methods in Information Systems Research: A Case Study , 1988, MIS Q..

[49]  Allen S. Lee A Scientific Methodology for MIS Case Studies , 1989, MIS Q..

[50]  K. Eisenhardt,et al.  Politics of Strategic Decision Making in High-Velocity Environments: Toward a Midrange Theory , 1988 .

[51]  Jintae Lee,et al.  Extending the Potts and Bruns model for recording design rationale , 1991, [1991 Proceedings] 13th International Conference on Software Engineering.

[52]  B. Flyvbjerg Five Misunderstandings About Case-Study Research , 2006, 1304.1186.

[53]  John M. Carroll,et al.  DOES DESIGN RATIONALE ENHANCE CREATIVITY , 2010 .

[54]  A. Bertolino,et al.  Use Case Description of Requirements for Product Lines , 2002 .

[55]  Klaus Pohl,et al.  Modelling requirements variability across product lines , 2005, 13th IEEE International Conference on Requirements Engineering (RE'05).

[56]  Oliver Laitenberger,et al.  (Quasi-)Experimental Studies in Industrial Settings , 2003, Lecture Notes on Empirical Software Engineering.

[57]  Hassan Gomaa Designing Software Product Lines with UML 2.0: From Use Cases to Pattern-Based Software Architectures , 2006, ICSR.

[58]  Anil Kumar Thurimella,et al.  Collaborative Product Line Requirements Engineering Using Rationale , 2010, Collaborative Software Engineering.

[59]  Bernd Brügge,et al.  Identifying and Exploiting the Similarities between Rationale Management and Variability Management , 2008, 2008 12th International Software Product Line Conference.

[60]  Izak Benbasat,et al.  The Case Research Strategy in Studies of Information Systems , 1987, MIS Q..

[61]  Peng Liang,et al.  Rationale management challenges in requirements engineering , 2010, 2010 Third International Workshop on Managing Requirements Knowledge.

[62]  Claes Wohlin,et al.  Using Students as Subjects—A Comparative Study of Students and Professionals in Lead-Time Impact Assessment , 2000, Empirical Software Engineering.

[63]  M. Ali Babar,et al.  The Impact of Group Size on Software Architecture Evaluation: A Controlled Experiment , 2007, ESEM 2007.