Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3365438.3410935acmconferencesArticle/Chapter ViewAbstractPublication PagesmodelsConference Proceedingsconference-collections
research-article

Variability representations in class models: an empirical assessment

Published: 16 October 2020 Publication History

Abstract

Owing to the ever-growing need for customization, software systems often exist in many different variants. To avoid the need to maintain many different copies of the same model, developers of modeling languages and tools have recently started to provide representations for such variant-rich systems, notably variability mechanisms that support the implementation of differences between model variants. Available mechanisms either follow the annotative or the compositional paradigm, each of them having unique benefits and drawbacks. Language and tool designers select the used variability mechanism often solely based on intuition. A better empirical understanding of the comprehension of variability mechanisms would help them in improving support for effective modeling.
In this paper, we present an empirical assessment of annotative and compositional variability mechanisms for class models. We report and discuss findings from an experiment with 73 participants, in which we studied the impact of two selected variability mechanisms during model comprehension tasks. We find that, compared to the baseline of listing all model variants separately, the annotative technique did not affect developer performance. Use of the compositional mechanism correlated with impaired performance. For two out of three considered tasks, the annotative mechanism is preferred to the compositional one and the baseline. We present actionable recommendations concerning support of flexible, tasks-specific solutions, and the transfer of established best practices from the code domain to models.

References

[1]
Hervé Abdi. 2007. Bonferroni and Šidák corrections for multiple comparisons. Encyclopedia of measurement and statistics 3 (2007), 103--107.
[2]
Silvia Abrahão, Francis Bourdeleau, Betty Cheng, Sahar Kokaly, Richard Paige, Harald Stöerrle, and Jon Whittle. 2017. User experience for model-driven engineering: Challenges and future directions. In MODELS. IEEE, 229--236.
[3]
Vlad Acreţoaie, Harald Störrle, and Daniel Strüber. 2018. VMTL: a language for end-user model transformation. Software & Systems Modeling 17, 4 (2018), 1139--1167.
[4]
Fellipe Araújo Aleixo, Marília Aranha Freire, Daniel Alencar da Costa, Edmilson Campos Neto, and Uirá Kulesza. 2012. A Comparative Study of Compositional and Annotative Modelling Approaches for Software Process Lines. In SBES. 51--60.
[5]
Sanaa Alwidian and Daniel Amyot. 2019. Union Models: Support for Efficient Reasoning about Model Families over Space and Time. In SAM. Springer, 200--218.
[6]
Carsten Amelunxen, Elodie Legros, Andy Schürr, and Ingo Stürmer. 2007. Checking and enforcement of modeling guidelines with graph transformations. In AGTIVE. Springer, 313--328.
[7]
Anthony Anjorin, Karsten Saller, Malte Lochau, and Andy Schürr. 2014. Modularizing Triple Graph Grammars Using Rule Refinement. In FASE. 340--354.
[8]
Sven Apel, Don Batory, Christian Kästner, and Gunter Saake. 2013. Feature-Oriented Software Product Lines: Concepts and Implementation. (2013).
[9]
Sven Apel, Florian Janda, Salvador Trujillo, and Christian Kästner. 2009. Model superimposition in software product lines. In ICMT. Springer, 4--19.
[10]
Sven Apel and Christian Kästner. 2009. An Overview of Feature-Oriented Software Development. J. Object Techn. 8, 5 (2009), 49--84.
[11]
Wesley KG Assunção, Silvia R Vergilio, and Roberto E Lopez-Herrejon. 2017. Discovering software architectures with search-based merge of UML model variants. In ICSR. Springer, 95--111.
[12]
The authors. 2020. Online appendix to "Variability Representations in Class Models: An Empirical Assessment". https://figshare.com/projects/Online_Appendix_to_Variability_Representations_in_Class_Models_An_Empirical_Assessment_/86207.
[13]
Benjamin Behringer, Jochen Palz, and Thorsten Berger. 2017. PEoPL: Projectional Editing of Product Lines. In ICSE. IEEE.
[14]
David Benavides, Sergio Segura, and Antonio Ruiz-Cortés. 2010. Automated analysis of feature models 20 years later: A literature review. Information systems 35, 6 (2010), 615--636.
[15]
Thorsten Berger, Rolf-Helge Pfeiffer, Reinhard Tartler, Steffen Dienst, Krzysztof Czarnecki, Andrzej Wăsowski, and Steven She. 2014. Variability mechanisms in software ecosystems. Information and Software Technology 56, 11 (2014), 1520--1535.
[16]
Thorsten Berger, Jan-Philipp Steghöfer, Tewfik Ziadi, Jacques Robin, and Jabier Martinez. 2020. The State of Adoption and the Challenges of Systematic Variability Management in Industry. Empirical Software Engineering 25 (2020), 1755--1797. Issue 3.
[17]
Hugo Bruneliere, Jordi Cabot, Frédéric Jouault, and Frédéric Madiot. 2010. MoDisco: a generic and extensible framework for model driven reverse engineering. In Proceedings of the IEEE/ACM international conference on Automated software engineering. 173--174.
[18]
Daniel Antonio Callegari and Ricardo Melo Bastos. 2007. Project management and software development processes: integrating RUP and PMBOK. In ICSEM. IEEE, 1--8.
[19]
Xin Bei V Chan, Shi Min S Goh, and Ngiap Chuan Tan. 2014. Subjects with colour vision deficiency in the community: what do primary care physicians need to know? Asia Pacific Family Medicine 13, 1 (2014), 10.
[20]
Marsha Chechik, Michalis Famelis, Rick Salay, and Daniel Strüber. 2016. Perspectives of model transformation reuse. In iFM. Springer, 28--44.
[21]
Dave Clarke, Michiel Helvensteijn, and Ina Schaefer. 2010. Abstract delta modeling. CW Reports (2010).
[22]
Andreas Classen, Patrick Heymans, Pierre-Yves Schobbens, Axel Legay, and Jean-François Raskin. 2010. Model checking lots of systems: efficient verification of temporal properties in software product lines. In ICSE. ACM, 335--344.
[23]
Alberto Colombo, Ernesto Damiani, Fulvio Frati, Sergio Oltolina, Karl Reed, and Gabriele Ruffatti. 2008. The use of a meta-model to support multi-project process measurement. In APSEC. IEEE, 503--510.
[24]
Benoit Combemale, Jörg Kienzle, Gunter Mussbacher, Olivier Barais, Erwan Bousse, Walter Cazzola, Philippe Collet, Thomas Degueule, Robert Heinrich, Jean-Marc Jézéquel, et al. 2018. Concern-oriented language development (cold): Fostering reuse in language engineering. Computer Languages, Systems & Structures 54 (2018), 139--155.
[25]
Krzysztof Czarnecki and Michał Antkiewicz. 2005. Mapping features to models: A template approach based on superimposed variants. In GPCE. Springer, 422--437.
[26]
Krzysztof Czarnecki, J Nathan Foster, Zhenjiang Hu, Ralf Lämmel, Andy Schürr, and James F Terwilliger. 2009. Bidirectional transformations: A cross-discipline perspective. In ICMT. Springer, 260--283.
[27]
Krzysztof Czarnecki, Simon Helsen, and Ulrich Eisenecker. 2005. Staged configuration through specialization and multilevel configuration of feature models. Software process: improvement and practice 10, 2 (2005), 143--169.
[28]
Krzysztof Czarnecki and Krzysztof Pietroszek. 2006. Verifying feature-based model templates against well-formedness OCL constraints. In GPCE. ACM, 211--220.
[29]
Joost CF De Winter and Dimitra Dodou. 2010. Five-point Likert items: t test versus Mann-Whitney-Wilcoxon. Practical Assessment, Research & Evaluation 15, 11 (2010), 1--12.
[30]
Bogdan Dit, Meghan Revelle, Malcom Gethers, and Denys Poshyvanyk. 2013. Feature location in source code: a taxonomy and survey. Journal of software: Evolution and Process 25, 1 (2013), 53--95.
[31]
Abir El Yamami, Souad Ahriz, Khalifa Mansouri, Mohammed Qbadou, and El Hossein Illousamen. 2017. Representing IT projects risk management best practices as a metamodel. Engineering, Technology & Applied Science Research 7, 5 (2017), 2062--2067.
[32]
EUROCONTROL and Federal Aviation Administration. 2019. AIXM 5.1.1 Specification. http://aixm.aero/page/aixm-51-specification.
[33]
Uli Fahrenberg, Mathieu Acher, Axel Legay, and Andrzej Wăsowski. 2014. Sound merging and differencing for class diagrams. In FASE. Springer, 63--78.
[34]
David Faitelson and Shmuel S. Tyszberowicz. 2017. UML diagram refinement (focusing on class- and use case diagrams). In ICSE. 735--745.
[35]
Janet Feigenspan, Christian Kästner, Sven Apel, Jörg Liebig, Michael Schulze, Raimund Dachselt, Maria Papendieck, Thomas Leich, and Gunter Saake. 2013. Do background colors improve program comprehension in the #ifdef hell? Empirical Software Engineering 18, 4 (2013), 699--745.
[36]
Wolfram Fenske, Sandro Schulze, and Gunter Saake. 2017. How preprocessor annotations (do not) affect maintainability: a case study on change-proneness. In GPCE, Vol. 52. 77--90.
[37]
Rick Flores, Charles Krueger, and Paul Clements. 2012. Mega-Scale Product Line Engineering at General Motors. In Proc. SPLC.
[38]
Chris Gane. 2001. Process management: integrating project management and development. In New directions in project management. Auerbach Publications, 81--96.
[39]
Ivan Garcia, Carla Pacheco, Magdalena Arcilla, and Neira Sanchez. 2016. Project Management in Small-Sized Software Enterprises: A Metamodeling-Based Approach. In Trends and Applications in Software Engineering. Springer, 3--13.
[40]
Daniel Gopher and Rolf Braune. 1984. On the psychophysics of workload: Why bother with subjective measures? Human Factors 26, 5 (1984), 519--532.
[41]
Peng Guo, Yahui Li, Peng Li, Shuai Liu, and Dongya Sun. 2014. A UML Model to Simulink Model Transformation Method in the Design of Embedded Software. In ICCIS. IEEE, 583--587.
[42]
Florian Heidenreich, Jan Kopcsek, and Christian Wende. 2008. FeatureMapper: mapping features to models. In ICSE-Companion. ACM, 943--944.
[43]
Nicolas Hili, Christian Fabre, Sophie Dupuy-Chessa, and Dominique Rieu. 2014. A model-driven approach for embedded system prototyping and design. In ISRSP. IEEE, 23--29.
[44]
Ákos Horváth, István Ráth, and Rodrigo Rizzi Starr. 2015. Massif-the love child of Matlab Simulink and Eclipse. EclipseCon NA (2015).
[45]
Byron Jones and Michael G Kenward. 2003. Design and analysis of cross-over trials. Chapman and Hall/CRC.
[46]
Christian Kästner, Sven Apel, and Martin Kuhlemann. 2008. Granularity in Software Product Lines. In ICSE. ACM, 311--320.
[47]
Christian Kästner, Sven Apel, and Klaus Ostermann. 2011. The road to feature modularity?. In SPLC Companion. 5.
[48]
Tobias Kaufmann, Christian Manz, and Thorsten Weyer. 2014. Extending the SPES Modeling Framework for Supporting Role-specific Variant Management in the Engineering Process of Embedded Software. In SE. 77--86.
[49]
Jacob Krüger, Gul Calikli, Thorsten Berger, Thomas Leich, and Gunter Saake. 2019. Effects of Explicit Feature Traceability on Program Comprehension. FSE.
[50]
Vinay Kulkarni, R Venkatesh, and Sreedhar Reddy. 2002. Generating enterprise applications from models. In OOIS. Springer, 270--279.
[51]
Katsiaryna Labunets, Fabio Massacci, Federica Paci, Sabrina Marczak, and Flávio Moreira de Oliveira. 2017. Model comprehension for security risk assessment: an empirical comparison of tabular vs. graphical representations. Empirical Software Engineering 22, 6 (2017), 3017--3056.
[52]
Philip Langer, Tanja Mayerhofer, Manuel Wimmer, and Gerti Kappel. 2014. On the usage of UML: Initial results of analyzing open UML models. Modellierung (2014).
[53]
Elodie Legros, Wilhelm Schäfer, Andy Schürr, and Ingo Stürmer. 2007. 14 MATE-A Model Analysis and Transformation Environment for MATLAB Simulink. In Dagstuhl Workshop on Model-Based Engineering of Embedded Real-Time Systems. Springer, 323--328.
[54]
Jabier Martinez, Tewfik Ziadi, Tegawende F Bissyande, Jacques Klein, and Yves Le Traon. 2015. Automating the extraction of model-based software product lines from model variants. In ASE. IEEE, 396--406.
[55]
Jean Melo, Claus Brabrand, and Andrzej Wasowski. 2016. How does the degree of variability affect bug finding?. In ICSE. 679--690.
[56]
Douglas C Montgomery. 2017. Design and analysis of experiments. John Wiley & Sons.
[57]
Nathalie Moreno, Piero Fraternali, and Antonio Vallecillo. 2007. WebML modelling in UML. IET software 1, 3 (2007), 67--80.
[58]
Ariadi Nugroho. 2009. Level of detail in UML models and its impact on model comprehension: A controlled experiment. Information and Software Technology 51, 12 (2009), 1670--1685.
[59]
Sven Peldszus, Daniel Strüber, and Jan Jürjens. 2018. Model-based security analysis of feature-oriented software product lines. In GPCE. ACM, 93--106.
[60]
Marian Petre. 2013. UML in practice. In ICSE. IEEE, 722--731.
[61]
Christopher Pietsch, Timo Kehrer, Udo Kelter, Dennis Reuling, and Manuel Ohrndorf. 2015. SiPL-A Delta-Based Modeling Framework for Software Product Line Engineering. In ASE. IEEE, 852--857.
[62]
Klaus Pohl, Günter Böckle, and Frank J van Der Linden. 2005. Software product line engineering: foundations, principles and techniques. Springer Science & Business Media.
[63]
Qusai Ramadan, Daniel Strüber, Mattia Salnitri, Jan Jürjens, Volker Riediger, and Steffen Staab. 2020. A semi-automated BPMN-based framework for detecting conflicts between security, data-minimization, and fairness requirements. Software and Systems Modeling (2020), 1--37.
[64]
Julia Rubin and Marsha Chechik. 2013. N-way model merging. In FSE. ACM, 301--311.
[65]
Iflaah Salman, Ayse Tosun Misirli, and Natalia Juristo. 2015. Are students representatives of professionals in software engineering experiments?. In ICSE. 666--676.
[66]
Ina Schaefer. 2010. Variability Modelling for Model-Driven Development of Software Product Lines. In VaMoS. 85--92.
[67]
Alexander Schlie, David Wille, Sandro Schulze, Loek Cleophas, and Ina Schaefer. 2017. Detecting Variability in MATLAB/Simulink Models: An Industry-Inspired Technique and Its Evaluation. In SPLC. 215--224.
[68]
Julia Schroeter, Peter Mucha, Marcel Muth, Kay Jugel, and Malte Lochau. 2012. Dynamic configuration management of cloud-based applications. In SPLC. 171--178.
[69]
Felix Schwägerl, Thomas Buchmann, and Bernhard Westfechtel. 2015. Super-Mod---A model-driven tool that combines version control and software product line engineering. In ICSDFT, Vol. 2. IEEE, 1--14.
[70]
Christoph Seidl, Ina Schaefer, and Uwe Aßmann. 2014. Deltaecore-A model-based delta language generation framework. Modellierung 2014 (2014).
[71]
Hyun Seung Son, Woo Yeol Kim, Robert YoungChul Kim, and Hang-Gi Min. 2012. Metamodel design for model transformation from Simulink to ECML in cyber physical systems. In Computer Applications for Graphics, Grid Computing, and Industrial Environment. Springer, 56--60.
[72]
Henry Spencer and Geoff Collyer. 1992. #ifdef Considered Harmful, or Portability Experience with C News. In USENIX.
[73]
Thomas Stahl, Markus Voelter, and Krzysztof Czarnecki. 2006. Model-driven software development: technology, engineering, management. John Wiley & Sons.
[74]
Dave Steinberg, Frank Budinsky, Ed Merks, and Marcelo Paternostro. 2008. EMF: eclipse modeling framework. Pearson Education.
[75]
Daniel Strüber and Anthony Anjorin. 2016. Comparing Reuse Mechanisms for Model Transformation Languages: Design for an Empirical Study. In HuFaMo@ MoDELS. 27--32.
[76]
Daniel Strüber, Jacob Krüger Mukelabai Mukelabai, Stefan Fischer, Lukas Linsbauer, Jabier Martinez, and Thorsten Berger. 2019. Facing the Truth: Benchmarking the Techniques for the Evolution of Variant-Rich Systems. In SPLC. 26:1--26:12.
[77]
Daniel Strüber and Stefan Schulz. 2016. A tool environment for managing families of model transformation rules. In ICGT. Springer, 89--101.
[78]
Ingo Stürmer and Dietrich Travkin. 2007. Automated transformation of MATLAB simulink and stateflow models. In OMER. 57--62.
[79]
Gabriele Taentzer, Rick Salay, Daniel Strüber, and Marsha Chechik. 2017. Transformations of software product lines: A generalizing framework based on category theory. In MODELS. IEEE, 101--111.
[80]
Juha-Pekka Tolvanen and Steven Kelly. 2019. How Domain-specific Modeling Languages Address Variability in Product Line Development: Investigation of 23 Cases. In SPLC. 24:1--24:9.
[81]
Frank J. van der Linden, Klaus Schmid, and Eelco Rommes. 2007. Software Product Lines in Action: The Best Industrial Practice in Product Line Engineering. Springer.
[82]
Jilles Van Gurp, Jan Bosch, and Mikael Svahnberg. 2001. On the notion of variability in software product lines. In ICSA. IEEE, 45--54.
[83]
András Vargha and Harold D Delaney. 2000. A critique and improvement of the CL common language effect size statistics of McGraw and Wong. Journal of Educational and Behavioral Statistics 25, 2 (2000), 101--132.
[84]
Steffen Vaupel, Gabriele Taentzer, Jan Peer Harries, Raphael Stroh, René Gerlach, and Michael Guckert. 2014. Model-driven development of mobile applications allowing role-driven variants. In MODELS. Springer, 1--17.
[85]
Iris Vessey. 1991. Cognitive fit: A theory-based analysis of the graphs versus tables literature. Decision Sciences 22, 2 (1991), 219--240.
[86]
David Whitney and Dennis M Levi. 2011. Visual crowding: A fundamental limit on conscious perception and object recognition. Trends in cognitive sciences 15, 4 (2011), 160--168.
[87]
Frank Wilcoxon. 1945. Individual Comparisons by Ranking Methods. Biometrics Bulletin 1, 6 (1945), 80--83.
[88]
David Wille, Tobias Runge, Christoph Seidl, and Sandro Schulze. 2017. Extractive software product line engineering using model-based delta module generation. In VaMoS. ACM, 36--43.
[89]
Claes Wohlin, Per Runeson, Martin Höst, Magnus C Ohlsson, Björn Regnell, and Anders Wesslén. 2012. Experimentation in software engineering. Springer Science & Business Media.

Cited By

View all
  • (2024)(Neo4j)^ Browser: Visualizing Variable-Aware Analysis ResultsProceedings of the 2024 IEEE/ACM 46th International Conference on Software Engineering: Companion Proceedings10.1145/3639478.3640046(69-73)Online publication date: 14-Apr-2024
  • (2021)Co-designing DSL quality assurance measures for and with non-programming expertsProceedings of the 18th ACM SIGPLAN International Workshop on Domain-Specific Modeling10.1145/3486603.3486776(31-40)Online publication date: 18-Oct-2021
  • (2021)Seamless Variability Management With the Virtual PlatformProceedings of the 43rd International Conference on Software Engineering10.1109/ICSE43902.2021.00147(1658-1670)Online publication date: 22-May-2021

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
MODELS '20: Proceedings of the 23rd ACM/IEEE International Conference on Model Driven Engineering Languages and Systems
October 2020
406 pages
ISBN:9781450370196
DOI:10.1145/3365438
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

In-Cooperation

  • IEEE CS

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 16 October 2020

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. model-based software product lines
  2. variability mechanisms

Qualifiers

  • Research-article

Conference

MODELS '20
Sponsor:

Acceptance Rates

MODELS '20 Paper Acceptance Rate 35 of 127 submissions, 28%;
Overall Acceptance Rate 144 of 506 submissions, 28%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)22
  • Downloads (Last 6 weeks)0
Reflects downloads up to 21 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)(Neo4j)^ Browser: Visualizing Variable-Aware Analysis ResultsProceedings of the 2024 IEEE/ACM 46th International Conference on Software Engineering: Companion Proceedings10.1145/3639478.3640046(69-73)Online publication date: 14-Apr-2024
  • (2021)Co-designing DSL quality assurance measures for and with non-programming expertsProceedings of the 18th ACM SIGPLAN International Workshop on Domain-Specific Modeling10.1145/3486603.3486776(31-40)Online publication date: 18-Oct-2021
  • (2021)Seamless Variability Management With the Virtual PlatformProceedings of the 43rd International Conference on Software Engineering10.1109/ICSE43902.2021.00147(1658-1670)Online publication date: 22-May-2021

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media