Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Teaching Software Product Lines: A Snapshot of Current Practices and Challenges

Published: 27 October 2017 Publication History
  • Get Citation Alerts
  • Abstract

    Software Product Line (SPL) engineering has emerged to provide the means to efficiently model, produce, and maintain multiple similar software variants, exploiting their common properties, and managing their variabilities (differences). With over two decades of existence, the community of SPL researchers and practitioners is thriving, as can be attested by the extensive research output and the numerous successful industrial projects. Education has a key role to support the next generation of practitioners to build highly complex, variability-intensive systems. Yet, it is unclear how the concepts of variability and SPLs are taught, what are the possible missing gaps and difficulties faced, what are the benefits, and what is the material available. Also, it remains unclear whether scholars teach what is actually needed by industry. In this article, we report on three initiatives we have conducted with scholars, educators, industry practitioners, and students to further understand the connection between SPLs and education, that is, an online survey on teaching SPLs we performed with 35 scholars, another survey on learning SPLs we conducted with 25 students, as well as two workshops held at the International Software Product Line Conference in 2014 and 2015 with both researchers and industry practitioners participating. We build upon the two surveys and the workshops to derive recommendations for educators to continue improving the state of practice of teaching SPLs, aimed at both individual educators as well as the wider community.

    Supplementary Material

    a2-acher-apndx.pdf (acher.zip)
    Supplemental movie, appendix, image and software files for, Teaching Software Product Lines: A Snapshot of Current Practices and Challenges

    References

    [1]
    Ebrahim Khalil Abbasi, Arnaud Hubaux, Mathieu Acher, Quentin Boucher, and Patrick Heymans. 2013. The anatomy of a sales configurator: An empirical study of 111 cases. In Proceedings of the International Conference on Advanced Information Systems Engineering (CAiSE’13). Springer.
    [2]
    Mathieu Acher, Philippe Collet, Philippe Lahire, and Robert B. France. 2013. FAMILIAR: A domain-specific language for large scale management of feature models. Sci. Comput. Program. 78, 6 (2013), 657--681.
    [3]
    Mathieu Acher, Roberto Lopez-Herrejon, and Rick Rabiser. 2014a. A survey on teaching of software product lines. In Proceedings of the 8th International Workshop on Variability Modelling of Software-intensive Systems (VaMoS’14). ACM, 3--10.
    [4]
    Mathieu Acher, Roberto E. Lopez-Herrejon, and Rick Rabiser. 2014b. SPLTea 2014: First international workshop on software product line teaching. In Proceedings of the 18th International Software Product Line Conference (SPLC’14). 352.
    [5]
    Mathieu Acher, Roberto E. Lopez-Herrejon, and Rick Rabiser. 2015. SPLTea 2015: Second international workshop on software product line teaching. In Proceedings of the 19th International Conference on Software Product Line (SPLC’15). 396.
    [6]
    Vander Alves, Nan Niu, Carina Alves, and George Valenca. 2010. Requirements engineering for software product lines: A systematic literature review. Info. Software Technol. 52, 8 (2010), 806--820.
    [7]
    Sven Apel, Don Batory, Christian Kästner, and Gunter Saake. 2013. Feature-Oriented Software Product Lines. Springer.
    [8]
    Anya Helene Bagge, Ralf Lämmel, and Vadim Zaytsev. 2014. Reflections on courses for software language engineering. In Proceedings of the 10th Educators’ Symposium @ MODELS 2014 (EduSymp’14), Workshop. Springer LNCS, 1--10.
    [9]
    Kacper Bak, Zinovy Diskin, Michal Antkiewicz, Krzysztof Czarnecki, and Andrzej Wasowski. 2016. Clafer: Unifying class and feature modeling. Softw. Syst. Model. 15, 3 (2016), 811--845.
    [10]
    Sarah Beecham, Tony Clear, John Barr, Mats Daniels, Michael Oudshoorn, and John Noll. 2017. Preparing tomorrow’s software engineers for work in a global environment. IEEE Softw. 34, 1 (2017), 9--12.
    [11]
    David Benavides, Sergio Segura, and Antonio Ruiz Cortés. 2010. Automated analysis of feature models 20 years later: A literature review. Info. Syst. 35, 6 (2010), 615--636.
    [12]
    Nelly Bencomo, Svein O. Hallsteinsen, and Eduardo Santana de Almeida. 2012. A view of the dynamic software product line landscape. IEEE Comput. 45, 10 (2012), 36--41.
    [13]
    Thorsten Berger, Ralf Rublack, Divya Nair, Joanne M. Atlee, Martin Becker, Krzysztof Czarnecki, and Andrzej Wasowski. 2013a. A survey of variability modeling in industrial practice. In Proceedings of the7th International Workshop on Variability Modelling of Software-intensive Systems (VaMoS’13). ACM,7--14.
    [14]
    Thorsten Berger, Steven She, Rafael Lotufo, Andrzej Wasowski, and Krzysztof Czarnecki. 2013b. A study of variability models and languages in the systems software domain. IEEE Trans. Softw. Eng. 39, 12 (2013), 1611--1640.
    [15]
    Jan Bosch and Petra Bosch-Sijtsema. 2010. From integration to composition: On the impact of software product lines, global development and ecosystems. J. Syst. Softw. 83, 1 (2010), 67--76.
    [16]
    Soumen Chakrabarti, Martin Ester, Usama Fayyad, Johannes Gehrke, Jiawei Han, Shinichi Morishita, Gregory Piatetsky-Shapiro, and Wei Wang. 2006. Data Mining Curriculum: A Proposal (Version 1.0) (April 2006). Retrieved from http://www.sigkdd.org/curriculum/index.html.
    [17]
    Lianping Chen and Muhammad Ali Babar. 2011. A systematic review of evaluation of variability management approaches in software product lines. Info. Softw. Technol. 53, 4 (2011), 344--362.
    [18]
    Paul Clements and Linda Northrop. 2001. Software Product Lines: Practices and Patterns. SEI Series in Software Engineering, Addison-Wesley.
    [19]
    Philippe Collet, Sébastien Mosser, Simon Urli, Mireille Blay-Fornarino, and Philippe Lahire. 2014. Experiences in teaching variability modeling and model-driven generative techniques. In Proceedings of the 18th International Software Product Line Conference (ICSE’14): Companion Volume for Workshops, Demonstrations and Tools—Volume 2. ACM, 26--29.
    [20]
    Steve Cooper and Steve Cunningham. 2010. Teaching computer science in context. ACM Inroads 1, 1 (March 2010), 5--8.
    [21]
    CVL. 2014. Common Variability Language (CVL). Retrieved from http://www.omgwiki.org/variability/doku.php?id=start.
    [22]
    Krzysztof Czarnecki and Ulrich W. Eisenecker. 2000. Generative Programming: Methods, Techniques, and Applications. Addison-Wesley.
    [23]
    Krzysztof Czarnecki, Paul Grünbacher, Rick Rabiser, Klaus Schmid, and Andrzej Wasowski. 2012. Cool features and tough decisions: A comparison of variability modeling approaches. In Proceedings of the 6th International Workshop on Variability Modeling of Software-Intensive Systems (VaMoS’12). ACM, 173--182.
    [24]
    Paulo Anselmo da Mota Silveira Neto, Ivan do Carmo Machado, John D. McGregor, Eduardo Santana de Almeida, and Silvio Romero de Lemos Meira. 2011. A systematic mapping study of software product lines testing. Info Softw. Technol. 53, 5 (2011), 407--423.
    [25]
    Yael Dubinsky, Julia Rubin, Thorsten Berger, Slawomir Duszynski, Martin Becker, and Krzysztof Czarnecki. 2013. An exploratory study of cloning in industrial software product lines. In Proceedings of the 17th European Conference on Software Maintenance and Reengineering (CSMR’13). IEEE, 25--34.
    [26]
    Emelie Engström and Per Runeson. 2011. Software product line testing—A systematic mapping study. Info. Softw. Technol. 53, 1 (2011), 2--13.
    [27]
    Carlo Ghezzi and Dino Mandrioli. 2005. The challenges of software engineering education. In Proceedings of the International Conference on Software Engineering (ICSE’05). Springer, St. Louis, MO, 115--127.
    [28]
    Hassan Gomaa. 2005. Designing Software Product Lines with UML. Addison-Wesley.
    [29]
    Axel Halin, Alexandre Nuttinck, Mathieu Acher, Xavier Devroey, Gilles Perrouin, and Patrick Heymans. 2017. Yo variability! JHipster: A playground for web-apps analyses. In Proceedings of the 11th International Workshop on Variability Modelling of Software-intensive Systems (VaMoS’17). ACM, 44--51.
    [30]
    Mike Hinchey, Sooyong Park, and Klaus Schmid. 2012. Building dynamic software product lines. IEEE Comput. 45, 10 (2012), 22--26.
    [31]
    Gerald Holl, Paul Grünbacher, and Rick Rabiser. 2012. A systematic review and an expert survey on capabilities supporting multi product lines. Info. Softw. Technol. 54, 8 (2012), 828--852.
    [32]
    Arnaud Hubaux, Andreas Classen, Marcílio Mendonça, and Patrick Heymans. 2010. A preliminary review on the application of feature diagrams in practice. In Proceedings of the 4th International Workshop on Variability Modelling of Software-intensive Systems (VaMoS’10). ICB Research Report, Universität Duisburg-Essen, Linz, Austria, 53--59.
    [33]
    Martin Fagereng Johansen, Øystein Haugen, and Franck Fleurey. 2011. A survey of empirics of strategies for software product line testing. In Proceedings of the IEEE 4th International Conference on Software Testing, Verification and Validation (ICST’11) Workshops. IEEE, 266--269.
    [34]
    Kyo C. Kang, Sholom G. Cohen, James A. Hess, William E. Novak, and A. Spencer Peterson. 1990. Feature-oriented Domain Analysis (FODA) Feasibility Study. Technical Report. Technical Report CMU/SEI-90TR-21, Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA.
    [35]
    Ludwik Kuzniarz and Luiz Eduardo G. Martins. 2016. Teaching model-driven software development: A pilot study. In Proceedings of the 2016 ITiCSE Working Group Reports. ACM, 45--56.
    [36]
    Daniela Lettner, Michael Petruzelka, Rick Rabiser, Florian Angerer, Herbert Prähofer, and Paul Grünbacher. 2013. Custom-developed vs. model-based configuration tools: Experiences from an industrial automation ecosystem. In Proceedings of MAPLE/SCALE 2013 Workshop at the 17th International Software Product Line Conference (SPLC’13). ACM, 52--58.
    [37]
    Jörg Liebig, Sven Apel, Christian Lengauer, Christian Kästner, and Michael Schulze. 2010. An analysis of the variability in forty preprocessor-based software product lines. In Proceedings of the 32nd International Conference on Software Engineering (ICSE’10). IEEE, 105--114.
    [38]
    Jabier Martinez, Tewfik Ziadi, Tegawendé F. Bissyandé, Jacques Klein, and Yves Le Traon. 2015. Bottom-up adoption of software product lines: A generic and extensible approach. In Proceedings of the 19th International Conference on Software Product Line (SPLC’15). ACM, 101--110.
    [39]
    John D. McGregor. 2014. Ten years of the arcade game maker pedagogical product line. In Proceedings of the 18th International Software Product Lines Conference (SPLC’14)—Companion Volume for Workshop, Tools and Demo papers. ACM.
    [40]
    Brice Morin, Olivier Barais, Jean-Marc Jézéquel, Franck Fleurey, and Arnor Solberg. 2009. Models@ run.time to support dynamic adaptation. IEEE Comput. 42, 10 (2009), 44--51.
    [41]
    Sébastien Mosser, Philippe Collet, and Mireille Blay-Fornarino. 2014. Exploiting the internet of things to teach domain-specific languages and modeling. In Proceedings of the 10th Educators’ Symposium @ MODELS 2014 (EduSymp’14), Workshop. Springer.
    [42]
    Richard F. Paige, Fiona A. C. Polack, Dimitrios S. Kolovos, Louis M. Rose, Nicholas Matragkas, and James R. Williams. 2014. Bad modelling teaching practices. In Proceedings of the 10th Educators’ Symposium @ MODELS 2014 (EduSymp’14), Workshop. Springer, 1--12.
    [43]
    Klaus Pohl, Günter Böckle, and Frank van der Linden. 2005. Software Product Line Engineering: Foundations, Principles, and Techniques. Springer.
    [44]
    Rick Rabiser, Paul Grünbacher, and Deepak Dhungana. 2010. Requirements for product derivation support: Results from a systematic literature review and an expert survey. Info. Softw. Technol. 52, 3 (2010), 324--346.
    [45]
    Christoph Seidl and Irena Domachowska. 2014. Teaching variability engineering to cognitive psychologists. In Proceedings of the 18th International Software Product Lines Conference (SPLC’14)—Companion Volume for Workshop, Tools and Demo papers. ACM, 16--23.
    [46]
    Thomas Thüm, Christian Kästner, Fabian Benduhn, Jens Meinicke, Gunter Saake, and Thomas Leich. 2014. FeatureIDE: An extensible framework for feature-oriented software development. Sci. Comput. Program. 79 (2014), 70--85.
    [47]
    Frank van der Linden, Klaus Schmid, and Eelco Rommes. 2007. Software Product Lines in Action—The Best Industrial Practice in Product Line Engineering. Springer, Berlin.
    [48]
    Michael Vierhauser, Rick Rabiser, and Paul Grünbacher. 2014. A case study on testing, commissioning, and operation of very-large-scale software systems. In Proceedings of the 36th International Conference on Software Engineering (ICSE’14), ICSE Companion. ACM, Hyderabad, India, 125--134.
    [49]
    David Weiss and Chi Tau Robert Lai. 1999. Software Product-Line Engineering: A Family-Based Software Development Process. Addison-Wesley Professional.
    [50]
    Jon Whittle and John Hutchinson. 2011. Mismatches between industry practice and teaching of model-driven software development. In Proceedings of Models in Software Engineering—Workshops and Symposia at MODELS 2011, Reports and Revised Selected Papers. Springer, Wellington, New Zealand, 40--47.
    [51]
    Claes Wohlin, Aybüke Aurum, Lefteris Angelis, Laura Phillips, Yvonne Dittrich, Tony Gorschek, Håkan Grahn, Kennet Henningsson, Simon Kågström, Graham Low, Per Rovegard, Piotr Tomaszewski, Christine Van Toorn, and Jeff Winter. 2012. The success factors powering industry-academia collaboration. IEEE Softw. 29, 2 (2012), 67--73.

    Cited By

    View all
    • (2024)Industry Adoption of UVL: What We Will NeedProceedings of the 28th ACM International Systems and Software Product Line Conference - Volume B10.1145/3646548.3676597(46-49)Online publication date: 2-Sep-2024
    • (2022)Teachers’ Perception About MOOCs and ICT During the COVID-19 PandemicContemporary Educational Technology10.30935/cedtech/1147914:1(ep343)Online publication date: 2022
    • (2021)Visualization of Object-Oriented Variability Implementations as Cities2021 Working Conference on Software Visualization (VISSOFT)10.1109/VISSOFT52517.2021.00017(76-87)Online publication date: Sep-2021
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Transactions on Computing Education
    ACM Transactions on Computing Education  Volume 18, Issue 1
    March 2018
    127 pages
    EISSN:1946-6226
    DOI:10.1145/3155324
    Issue’s Table of Contents
    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]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 27 October 2017
    Accepted: 01 April 2017
    Revised: 01 April 2017
    Received: 01 April 2016
    Published in TOCE Volume 18, Issue 1

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Software product lines
    2. software engineering teaching
    3. software product line teaching
    4. variability modeling

    Qualifiers

    • Research-article
    • Research
    • Refereed

    Funding Sources

    • Austrian Science Fund (FWF) Lise Meitner Fellowship
    • Primetals Technologies and the Christian Doppler Forschungsgesellschaft, Austria

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)21
    • Downloads (Last 6 weeks)1
    Reflects downloads up to 10 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Industry Adoption of UVL: What We Will NeedProceedings of the 28th ACM International Systems and Software Product Line Conference - Volume B10.1145/3646548.3676597(46-49)Online publication date: 2-Sep-2024
    • (2022)Teachers’ Perception About MOOCs and ICT During the COVID-19 PandemicContemporary Educational Technology10.30935/cedtech/1147914:1(ep343)Online publication date: 2022
    • (2021)Visualization of Object-Oriented Variability Implementations as Cities2021 Working Conference on Software Visualization (VISSOFT)10.1109/VISSOFT52517.2021.00017(76-87)Online publication date: Sep-2021
    • (2021)Onboarding in software product linesProceedings of the 43rd International Conference on Software Engineering: Joint Track on Software Engineering Education and Training10.1109/ICSE-SEET52601.2021.00022(122-133)Online publication date: 25-May-2021
    • (2021)Unburdening onboarding in software product linesProceedings of the 43rd International Conference on Software Engineering: Companion Proceedings10.1109/ICSE-Companion52605.2021.00121(260-262)Online publication date: 25-May-2021
    • (2021)Dynamic test prioritization of product lines: An application on configurable simulation modelsSoftware Quality Journal10.1007/s11219-021-09571-0Online publication date: 20-Oct-2021
    • (2020)A Cloud-Based Research and Learning Factory for Industrial ProductionProcedia Manufacturing10.1016/j.promfg.2020.04.09745(215-221)Online publication date: 2020
    • (2019)Fourth International Workshop on Software Product Line Teaching (SPLTea 2019)Proceedings of the 23rd International Systems and Software Product Line Conference - Volume A10.1145/3336294.3342363(322-322)Online publication date: 9-Sep-2019
    • (2019)Industrial and Academic Software Product Line Research at SPLCProceedings of the 23rd International Systems and Software Product Line Conference - Volume A10.1145/3336294.3336310(189-194)Online publication date: 9-Sep-2019
    • (2018)Giving students a glimpse of the SPL lifecycle in six hoursProceedings of the 22nd International Systems and Software Product Line Conference - Volume 210.1145/3236405.3237203(42-43)Online publication date: 10-Sep-2018
    • Show More Cited By

    View Options

    Get Access

    Login options

    Full Access

    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