14
A Survey on Teaching of Software Product Lines Mathieu Acher Roberto Lopez- Herrejon Rick Rabiser Inria/IRISA University of Rennes 1 Rennes, France SEA Johannes Kepler Univ. Linz, Austria CDL MEVSS Johannes Kepler Univ. Linz, Austria [email protected] www.mathieuacher.com [email protected] www.sea.jku.at [email protected] mevss.jku.at

A survey on teaching of software product lines

  • Upload
    acher

  • View
    1.276

  • Download
    2

Embed Size (px)

DESCRIPTION

With around two decades of existence, the community of Software Product Line (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 engineers to build highly complex SPLs. Yet, it is unclear how SPLs are taught, what are the possible missing gaps and difficulties faced, what are the benefits, or what is the material available. In this paper, we carry out a survey with over 30 respondents with the purpose of capturing a snapshot of the state of teaching in our community. We report and discuss quantitative as well as qualitative results of the survey. We build upon them and sketch six concrete actions to continue improving the state of practice of SPL teaching.

Citation preview

Page 1: A survey on teaching of software product lines

A Survey on Teaching of Software Product Lines

Mathieu Acher Roberto Lopez-Herrejon Rick Rabiser

Inria/IRISAUniversity of Rennes 1

Rennes, France

SEAJohannes Kepler Univ.

Linz, Austria

CDL MEVSSJohannes Kepler Univ.

Linz, Austria

[email protected]

[email protected]

[email protected]

Page 2: A survey on teaching of software product lines

Jan, 2014 VaMoS 2014, Nice, France 2

If we are not able to teach product lines,

our community will die

Teach or perish!

SPL1990-2014

Page 3: A survey on teaching of software product lines

Jan, 2014 VaMoS 2014, Nice, France

Motivation and Goals

• SPL now well-established in research and industry; body of knowledge growing• Scope continuously broadens• Education has a key role to play in disseminating the SPL knowledge• Research can also benefit from teaching

• Teaching SPLs is challenging• Relatively young discipline• SPLE encompasses a variety of topics• Teaching material suitable for attracting students?

• Dedicated venues for SW Eng. teaching (SEET@ICSE, CSEE&T, Educators Symposium at MODELS) -- Not for SPLs!

• Currently unclear, our goal: find out…• …how SPLs are taught• …what are the possible gaps and difficulties faced• …what are the benefits• …what is the material available

3

Page 4: A survey on teaching of software product lines

Jan, 2014 VaMoS 2014, Nice, France

Survey Design

• 91 contacts• pool of SPL researchers we know teach• search for SPL courses online• review SPLC and VaMoS papers

• on-line questionnaire (http://www.surveygizmo.com/s3/1342346/Teaching-Software-Product-Lines)

• 13 enumerative and 5 open questions

• feedback by colleagues to refine questionnaire

• 34 complete responses and 15 partial• Decision: only analyze complete responses

• 13 enumerative questions 5 categories

4

Page 5: A survey on teaching of software product lines

Jan, 2014 VaMoS 2014, Nice, France

Survey ResultsRespondents and their institutions

• 34 responses from 13 countries• Avg. SPL experience 10yrs, avg. SPL teaching experience 6yrs

• Half say their research exp. = their teaching exp.• Institutions

• 15 research-focused• 9 teaching-focused (colleges)• 7 have both focuses• 3 industrial institutions

• Departments• CS (13), SE (9), IT (2)• others (10) -- all CS-related

• 16 full and self-contained SPL courses• 18 teach SPL topics as part of other courses

5

Austria; 2Canada; 1

Colombia; 1

France; 2

Germany; 12

Israel; 2Italy; 1

Japan; 1

Korea, Rep. Of; 1

Spain; 3

Switzer-land; 1

USA; 6

Portugal; 1

Page 6: A survey on teaching of software product lines

Jan, 2014 VaMoS 2014, Nice, France

Survey ResultsLiterature used

• 28 respondents use these books• 25 use research papers, selected based on personal preferences• 12 use case studies, e.g., by van der Linden et al. 2007; BigLever;

Renault, STAGO, LINUX, and SPLOT; and own case studies

6

0

2

4

6

8

10

Page 7: A survey on teaching of software product lines

Jan, 2014 VaMoS 2014, Nice, France

Survey ResultsTools used

SPL Tool used byNone 8FeatureIDE 6BigLever's GEARS 4FeatureHouse 3pure system's pure::variants 3AHEAD 2CIDE 2CVL 2Feature Modelling Plug-in (FMP) 2DOPLER, EasyProducer, FaMa, Familiar, FeatureMapper, Munge, SPLAR, SPLOT, VARIAMOS, Varmod

1 each

C++, Metaprogramming, Software Generators, Xtext, MPS 1Different tools for creating feature diagrams and UML-based models 1Feature modeling UML tools extended for SPL 1Haskell-Embedded Variation DSL 1Own research prototypes 1

7

also see the survey by Berger et al. VaMoS 2013

Page 8: A survey on teaching of software product lines

Jan, 2014 VaMoS 2014, Nice, France

Survey ResultsLength, audience

• Most courses are held over a semester (26)• 3 "on demand", 2 as week-long courses, quarter (1), 1-2 days

seminars (1), and with a flexible schedule (1)• Average course length 24 hours (min: 1h; max: 120h)

8

Only Undergrads

Only Grads

Only Industry People

Undergrads and GradsGrads and Industry people

Undergrads students and Industry people

Undergrads, Grads, and Industry people

0

10

20

Page 9: A survey on teaching of software product lines

Jan, 2014 VaMoS 2014, Nice, France

Survey ResultsPractical time, SPL lifecycle coverage

• Practical time/overall course time 65% in average

9

Topic 

DepartmentCS SE OT

Total 

Requirements engineering 7 4 12 23Testing 3 1 4 8Modelling 9 8 13 30Implementation 9 8 8 25Maintenance & Evolution 9 3 5 17Reverse engineering & SPL Adoption 7 2 1 10Processes 5 6 8 19Other 5 2 3 10

CS: Computer Science, SE: Software Engineering, OT: Other departments

Page 10: A survey on teaching of software product lines

Jan, 2014 VaMoS 2014, Nice, France

Survey ResultsChallenges of teaching SPL

• Lack of and availability of well-documented real-world examples and case studies suitable for teaching (16)

• Complexity of the subject and required background knowledge (9)

• Lack of and availability of SPL tools (7)

• Acceptance on the curriculum and opening the mind of students (4)

• "Even software engineering can be hard to teach as developing large-scale systems does not connect to students hands-on experience of developing rather small solutions. Teaching SPL means SE for many systems, this does even less relate to students' experiences."

10

Page 11: A survey on teaching of software product lines

Jan, 2014 VaMoS 2014, Nice, France

Survey ResultsHow to improve the state of teaching SPL

• Improved textbook examples and case studies (13)

• Better tools for students (7)

• Broaden the focus of teaching SPLs (3)

• SPL is already mainstream! (2)

• Other ideas• videos of experts to motivate SPLs and explain key concepts and ideas• incorporate the notions and terminology of SPLs more in other courses• develop a standard curriculum and evaluation scheme for teaching SPLs

11

Page 12: A survey on teaching of software product lines

Jan, 2014 VaMoS 2014, Nice, France

Survey ResultsImpact of teaching SPL

• On research• Student participation in research evaluations (11)• Finding research personnel (8)• Feedback on and discussion about tools, examples, case studies (6)• Connecting with industry (5)• Discussion of open research issues with students (2)

• On practice• Teaching SPLE = preparation of introduction of SPLE in industry (13)• Makes students aware of the topic students eventually end up in industry

or even are already working in industry increases awareness of SPL in industry and trains future practitioners (7)

• Teaching SPLs can be the start of industry-academia collab. projects (2)

12

Page 13: A survey on teaching of software product lines

Jan, 2014 VaMoS 2014, Nice, France

Survey ResultsOther comments

• Teaching SPLs together with model-driven development • very interesting from a teaching perspective

• Having a common, clearly defined basis of terminology and concepts taught at the majority of the institutions

• would help a lot

• Real-world SPLE is very different from research • Variability models seem to be the key topic in research• In practice it often is just one technique for some roles• Industry often successfully manages variability w/o dedicated models

• Our survey was not a perfect fit for SPL consultants and trainers• True; we have to address this in our future work

• Invite consultants/trainers in a workshop

13

Page 14: A survey on teaching of software product lines

Jan, 2014 VaMoS 2014, Nice, France

What now? Perspectives?Here, we need your help!

• Organize SPL teaching workshop at SPLC• Create a virtual meeting place for the community

• teaching materials, tools, case studies, examples for teaching

• Later• Tool and artifact recognition at conferences or workshops, awards• Strive for teaching benchmarks• Involve industry in teaching• Develop a baseline curriculum and evaluation scheme

14

Thank You! Questions now or later to [email protected][email protected][email protected]