The effects of visualization and interaction techniques on feature model configuration

A Software Product Line is a set of software systems of a domain, which share some common features but also have significant variability. A feature model is a variability modeling artifact which represents differences among software products with respect to variability relationships among their features. Having a feature model along with a reference model developed in the domain engineering lifecycle, a concrete product of the family is derived by selecting features in the feature model (referred to as the configuration process) and by instantiating the reference model. However, feature model configuration can be a cumbersome task because: 1) feature models may consist of a large number of features, which are hard to comprehend and maintain; and 2) many factors including technical limitations, implementation costs, stakeholders’ requirements and expectations must be considered in the configuration process. Recognizing these issues, a significant amount of research efforts has been dedicated to different aspects of feature model configuration such as automating the configuration process. Several approaches have been proposed to alleviate the feature model configuration challenges through applying visualization and interaction techniques. However, there have been limited empirical insights available into the impact of visualization and interaction techniques on the feature model configuration process. In this paper, we present a set of visualization and interaction interventions for representing and configuring feature models, which are then empirically validated to measure the impact of the proposed interventions. An empirical study was conducted by following the principles of control experiments in software engineering and by applying the well-known software quality standard ISO 9126 to operationalize the variables investigated in the experiment. The results of the empirical study revealed that the employed visualization and interaction interventions significantly improved completion time of comprehension and changing of the feature model configuration. Additionally, according to results, the proposed interventions are easy-to-use and easy-to-learn for the participants.

[1]  Forrest Shull,et al.  Building Knowledge through Families of Experiments , 1999, IEEE Trans. Software Eng..

[2]  John Sweller,et al.  Cognitive Load Theory: Instructional Implications of the Interaction between Information Structures and Cognitive Architecture , 2004 .

[3]  Fred D. Davis,et al.  A Theoretical Extension of the Technology Acceptance Model: Four Longitudinal Field Studies , 2000, Management Science.

[4]  Norman E. Fenton,et al.  Measurement : A Necessary Scientific Basis , 2004 .

[5]  Maureen Stone,et al.  Choosing Colors for Data Visualization , 2008 .

[6]  Daniel L. Moody,et al.  The “Physics” of Notations: Toward a Scientific Basis for Constructing Visual Notations in Software Engineering , 2009, IEEE Transactions on Software Engineering.

[7]  M. Mannion,et al.  Visualising Product Line Requirement Selection Decision Inter-dependencies , 2007, Second International Workshop on Requirements Engineering Visualization (REV 2007).

[8]  Klaus Schmid,et al.  Software product lines in action - the best industrial practice in product line engineering , 2007 .

[9]  Catherine Plaisant,et al.  SpaceTree: supporting exploration in large node link tree, design evolution and empirical evaluation , 2002, IEEE Symposium on Information Visualization, 2002. INFOVIS 2002..

[10]  Ben Shneiderman,et al.  Readings in information visualization - using vision to think , 1999 .

[11]  Goetz Botterweck,et al.  A Design of a Configurable Feature Model Configurator , 2009, VaMoS.

[12]  John T. Stasko,et al.  Distributed Cognition as a Theoretical Framework for Information Visualization , 2008, IEEE Transactions on Visualization and Computer Graphics.

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

[14]  Genny Tortora,et al.  An experimental comparison of ER and UML class diagrams for data modelling , 2010, Empirical Software Engineering.

[15]  Jock D. Mackinlay,et al.  Cone Trees: animated 3D visualizations of hierarchical information , 1991, CHI.

[16]  Ben Shneiderman,et al.  Creativity Support Tools: A Grand Challenge for HCI Researchers , 2009 .

[17]  Francisca Losavio,et al.  Quality Models to Design Software Architecture , 2002, J. Object Technol..

[18]  Pierre Poulin,et al.  Visualization-based analysis of quality for large-scale software systems , 2005, ASE.

[19]  Ian Sommerville,et al.  Viewpoints: principles, problems and a practical approach to requirements engineering , 1997, Ann. Softw. Eng..

[20]  Sandeep Reddivari Visual analytics for software requirements engineering , 2013, 2013 21st IEEE International Requirements Engineering Conference (RE).

[21]  Mario Piattini,et al.  Using Metrics to Predict OO Information Systems Maintainability , 2001, CAiSE.

[22]  Antonio Ruiz Cortés,et al.  Automated Reasoning on Feature Models , 2005, Seminal Contributions to Information Systems Engineering.

[23]  Sven Apel,et al.  An Overview of Feature-Oriented Software Development , 2009, J. Object Technol..

[24]  K. Czarnecki,et al.  Cardinality-Based Feature Modeling and Constraints : A Progress Report , 2005 .

[25]  Ben Shneiderman,et al.  Creativity support tools: accelerating discovery and innovation , 2007, CACM.

[26]  V. Basili Software modeling and measurement: the Goal/Question/Metric paradigm , 1992 .

[27]  Dragan Gasevic,et al.  Assessing the maintainability of software product line feature models using structural metrics , 2011, Software Quality Journal.

[28]  Sergio Segura,et al.  Automated analysis of feature models 20 years later: A literature review , 2010, Inf. Syst..

[29]  Aaron J. Quigley,et al.  Visualisation techniques to support derivation tasks in software product line development , 2007, CASCON.

[30]  Marek Hatala,et al.  Automated planning for feature model configuration based on functional and non-functional requirements , 2012, SPLC '12.

[31]  Sven Apel,et al.  Scalable Prediction of Non-functional Properties in Software Product Lines , 2011, SPLC.

[32]  Daniel A. Keim,et al.  Visual Analytics: Scope and Challenges , 2008, Visual Data Mining.

[33]  Ben Shneiderman,et al.  The eyes have it: a task by data type taxonomy for information visualizations , 1996, Proceedings 1996 IEEE Symposium on Visual Languages.

[34]  Michael Gleicher,et al.  The challenges of 3D interaction: a CHI '94 workshop , 1994, SGCH.

[35]  Thomas Leich,et al.  Understanding understanding source code with functional magnetic resonance imaging , 2014, ICSE.

[36]  Amy Minke,et al.  Conducting Repeated Measures Analyses: Experimental Design Considerations. , 1997 .

[37]  Alexandru Telea,et al.  Towards realism in drawing areas of interest on architecture diagrams , 2009, J. Vis. Lang. Comput..

[38]  Shari Lawrence Pfleeger,et al.  Preliminary Guidelines for Empirical Research in Software Engineering , 2002, IEEE Trans. Software Eng..

[39]  Daniela E. Damian,et al.  Selecting Empirical Methods for Software Engineering Research , 2008, Guide to Advanced Empirical Software Engineering.

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

[41]  Sergio Segura,et al.  FAMA: Tooling a Framework for the Automated Analysis of Feature Models , 2007, VaMoS.

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

[43]  LiuZhicheng,et al.  Distributed Cognition as a Theoretical Framework for Information Visualization , 2008 .

[44]  Miguel A. Laguna,et al.  Development of a Feature Modeling Tool using Microsoft DSL Tools , 2009 .

[45]  Thomas Leich,et al.  FeatureIDE: An extensible framework for feature-oriented software development , 2014, Sci. Comput. Program..

[46]  Michel R. V. Chaudron,et al.  Interactive Views to Improve the Comprehension of UML Models - An Experimental Validation , 2007, 15th IEEE International Conference on Program Comprehension (ICPC '07).

[47]  Renata Pontin de Mattos Fortes,et al.  A systematic review of domain analysis tools , 2010, Inf. Softw. Technol..

[48]  Ben Shneiderman,et al.  Tree-maps: a space-filling approach to the visualization of hierarchical information structures , 1991, Proceeding Visualization '91.

[49]  Goetz Botterweck,et al.  A 3D Visualisation to Enhance Cognition in Software Product Line Engineering , 2009, ISVC.

[50]  Gunter Saake,et al.  SPL Conqueror: Toward optimization of non-functional properties in software product lines , 2012, Software Quality Journal.

[51]  Christian Wende,et al.  FeatureMapper: mapping features to models , 2008, ICSE Companion '08.

[52]  John D. McGregor,et al.  Understanding object-oriented: a unifying paradigm , 1990, CACM.

[53]  Dragan Gasevic,et al.  Stratified Analytic Hierarchy Process: Prioritization and Selection of Software Features , 2010, SPLC.

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

[55]  Lionel C. Briand,et al.  Investigating quality factors in object-oriented designs: an industrial case study , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[56]  Steven F. Roth,et al.  SDM: selective dynamic manipulation of visualizations , 1995, UIST '95.

[57]  Christian Wende,et al.  On Controlled Visualisations in Software Product Line Engineering , 2008, SPLC.

[58]  John Sweller,et al.  Cognitive Load During Problem Solving: Effects on Learning , 1988, Cogn. Sci..

[59]  Goetz Botterweck,et al.  Visual Tool Support for Configuring and Understanding Software Product Lines , 2008, 2008 12th International Software Product Line Conference.

[60]  José Muñiz,et al.  Effect of the Number of Response Categories on the Reliability and Validity of Rating Scales , 2008 .

[61]  Goetz Botterweck,et al.  Visualization techniques for application in interactive product configuration , 2011, SPLC '11.

[62]  Marcelo R. Campo,et al.  An Overview of 3D Software Visualization , 2009, IEEE Transactions on Visualization and Computer Graphics.

[63]  Sven Apel,et al.  Feature cohesion in software product lines: an exploratory study , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[64]  J. Stasko,et al.  Focus+context display and navigation techniques for enhancing radial, space-filling hierarchy visualizations , 2000, IEEE Symposium on Information Visualization 2000. INFOVIS 2000. Proceedings.

[65]  Patrick Donohoe,et al.  Feature-Oriented Project Line Engineering , 2002, IEEE Softw..

[66]  Cynthia A. Brewer,et al.  Color use guidelines for data representation , 1999 .

[67]  Claes Wohlin,et al.  Empirical Research Methods in Software Engineering , 2003, ESERNET.

[68]  Jacob Cohen,et al.  A power primer. , 1992, Psychological bulletin.

[69]  David N. Chin Empirical Evaluation of User Models and User-Adapted Systems , 2001, User Modeling and User-Adapted Interaction.

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

[71]  Don S. Batory,et al.  Feature Models, Grammars, and Propositional Formulas , 2005, SPLC.

[72]  Sergio Segura,et al.  Three-Dimensional Feature Diagrams Visualization , 2008, SPLC.

[73]  Mohammad Kazem Akbari,et al.  Customizing ISO 9126 quality model for evaluation of B2B applications , 2009, Inf. Softw. Technol..

[74]  James T. Miller,et al.  An Empirical Evaluation of the System Usability Scale , 2008, Int. J. Hum. Comput. Interact..

[75]  Olga De Troyer,et al.  Feature Modeling Tools: Evaluation and Lessons Learned , 2011, ER Workshops.

[76]  Viswanath Venkatesh,et al.  Technology Acceptance Model 3 and a Research Agenda on Interventions , 2008, Decis. Sci..

[77]  Helen C. Purchase,et al.  Which Aesthetic has the Greatest Effect on Human Understanding? , 1997, GD.

[78]  Donald D. Cowan,et al.  Efficient compilation techniques for large scale feature models , 2008, GPCE '08.

[79]  Yinglin Wang,et al.  A genetic algorithm for optimized feature selection with resource constraints in software product lines , 2011, J. Syst. Softw..

[80]  Ivan Poupyrev,et al.  An Introduction to 3D User Interface Design , 2001 .

[81]  Ivan Poupyrev,et al.  An Introduction to 3-D User Interface Design , 2001, Presence: Teleoperators & Virtual Environments.