steven she rafael lotufo thorsten berger andrzej wasowski …bergert/slides/vamos2020 mip...

28
presented at VaMoS 2010 received VaMoS 2020 most influential paper award the variability model of the Linux kernel Steven She Rafael Lotufo Thorsten Berger Andrzej Wasowski Krzysztof Czarnecki UWaterloo UWaterloo ULeipzig / UWaterloo ITU Copenhagen UWaterloo Alkymi, NY Auvik Networks Inc. Chalmers | University of Gothenburg VaMoS 2020: 14th Working Conference on Variability Modeling of Software-Intensive Systems

Upload: others

Post on 22-Sep-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Steven She Rafael Lotufo Thorsten Berger Andrzej Wasowski …bergert/slides/vamos2020 mip award.pdf · systems software models 18 eCos i386 (1256 features) Linux kernel x86 (6559

presented at VaMoS 2010received VaMoS 2020 most influential paper award

the variability model of the Linux kernel

Steven She Rafael Lotufo Thorsten Berger Andrzej Wasowski Krzysztof Czarnecki

UWaterloo UWaterloo ULeipzig / UWaterloo ITU Copenhagen UWaterlooAlkymi, NY Auvik Networks Inc. Chalmers | University of Gothenburg

VaMoS 2020: 14th Working Conference on Variability Modeling of Software-Intensive Systems

Page 2: Steven She Rafael Lotufo Thorsten Berger Andrzej Wasowski …bergert/slides/vamos2020 mip award.pdf · systems software models 18 eCos i386 (1256 features) Linux kernel x86 (6559

start of my PhD studies

2

2009

Page 3: Steven She Rafael Lotufo Thorsten Berger Andrzej Wasowski …bergert/slides/vamos2020 mip award.pdf · systems software models 18 eCos i386 (1256 features) Linux kernel x86 (6559

goal: feature model synthesis

3

constraints

synthesisΦ

meta-data

Ξ

Czarnecki, Wasowski. Feature diagrams and logics: There and back again. SPLC. 2007

Benavides, Trinidad, Ruiz-Cortés: Automated reasoning on feature models. CAiSE 2005.Batory. Feature models, grammars, and propositional formulas. SPLC. 2005

Page 4: Steven She Rafael Lotufo Thorsten Berger Andrzej Wasowski …bergert/slides/vamos2020 mip award.pdf · systems software models 18 eCos i386 (1256 features) Linux kernel x86 (6559

4

1616 citations (January 11, 2010)

4856 citations (now!)

thousands of publications build upon feature modeling:model configuration, analysis, evolution, verification, reverse-engineering

Page 5: Steven She Rafael Lotufo Thorsten Berger Andrzej Wasowski …bergert/slides/vamos2020 mip award.pdf · systems software models 18 eCos i386 (1256 features) Linux kernel x86 (6559

5

Professor, we need a real feature model!

Page 6: Steven She Rafael Lotufo Thorsten Berger Andrzej Wasowski …bergert/slides/vamos2020 mip award.pdf · systems software models 18 eCos i386 (1256 features) Linux kernel x86 (6559

SPLOT model repositorywww.splot-research.org

6

……….. …………… …………. ………

problem: toy models propositionalmodels

Page 7: Steven She Rafael Lotufo Thorsten Berger Andrzej Wasowski …bergert/slides/vamos2020 mip award.pdf · systems software models 18 eCos i386 (1256 features) Linux kernel x86 (6559

highly configurable systems software

7

Linux kernelnow ~15,000 options

(features)

Page 8: Steven She Rafael Lotufo Thorsten Berger Andrzej Wasowski …bergert/slides/vamos2020 mip award.pdf · systems software models 18 eCos i386 (1256 features) Linux kernel x86 (6559

not the first looking at Linux and benchmarking

Sincero, Schirmeier, Schröder-Preikschat, Spinczyk. Is the Linux Kernel a Software Product Line?. OSSPL. 2007

Sincero, Schröder-Preikschat. The Linux Kernel Configurator as a Feature Modeling Tool. ASPL. 2008

Tartler, Sincero, Schröder-Preikschat, Lohmann. Dead or Alive: Finding zombie features in the Linux kernel. FOSD. 2009.

Segura, Cortés. Benchmarking on the Automated Analyses of Feature Models: A Preliminary Roadmap. VaMoS. 2009

8

Page 9: Steven She Rafael Lotufo Thorsten Berger Andrzej Wasowski …bergert/slides/vamos2020 mip award.pdf · systems software models 18 eCos i386 (1256 features) Linux kernel x86 (6559

start of multiple paperson systems software

Page 10: Steven She Rafael Lotufo Thorsten Berger Andrzej Wasowski …bergert/slides/vamos2020 mip award.pdf · systems software models 18 eCos i386 (1256 features) Linux kernel x86 (6559

10

Page 11: Steven She Rafael Lotufo Thorsten Berger Andrzej Wasowski …bergert/slides/vamos2020 mip award.pdf · systems software models 18 eCos i386 (1256 features) Linux kernel x86 (6559

11

Page 12: Steven She Rafael Lotufo Thorsten Berger Andrzej Wasowski …bergert/slides/vamos2020 mip award.pdf · systems software models 18 eCos i386 (1256 features) Linux kernel x86 (6559

Kconfig goes well beyond feature modeling!

12

scalability conceptsvisibility

modularization

derived defaults /derived features

hierarchy manipulation

expressive constraintsthree-state logics (follows Kleene‘s rules) for binding modes

comparison, arithmetic, and String operators

domain-specific vocabulary

Berger, She, Lotufo, Wasowski, Czarnecki, A Study of Variability Models and Languages in the Systems Software Domain, IEEE Transactions on Software Engineering. 2013.

Page 13: Steven She Rafael Lotufo Thorsten Berger Andrzej Wasowski …bergert/slides/vamos2020 mip award.pdf · systems software models 18 eCos i386 (1256 features) Linux kernel x86 (6559

13

Page 14: Steven She Rafael Lotufo Thorsten Berger Andrzej Wasowski …bergert/slides/vamos2020 mip award.pdf · systems software models 18 eCos i386 (1256 features) Linux kernel x86 (6559

14

Only 5 models describe real, existing software systems

Page 15: Steven She Rafael Lotufo Thorsten Berger Andrzej Wasowski …bergert/slides/vamos2020 mip award.pdf · systems software models 18 eCos i386 (1256 features) Linux kernel x86 (6559

15

Page 16: Steven She Rafael Lotufo Thorsten Berger Andrzej Wasowski …bergert/slides/vamos2020 mip award.pdf · systems software models 18 eCos i386 (1256 features) Linux kernel x86 (6559

16

Page 17: Steven She Rafael Lotufo Thorsten Berger Andrzej Wasowski …bergert/slides/vamos2020 mip award.pdf · systems software models 18 eCos i386 (1256 features) Linux kernel x86 (6559

published models

17

msdn.microsoft.com/en-us/library/aa925157.aspx

code.google.com/p/dslvariantmanagement/wiki/DemoShowCase

Page 18: Steven She Rafael Lotufo Thorsten Berger Andrzej Wasowski …bergert/slides/vamos2020 mip award.pdf · systems software models 18 eCos i386 (1256 features) Linux kernel x86 (6559

systems software models

18

eCos i386 (1256 features)

Linux kernel x86 (6559 features)

Berger, She, Lotufo, Wasowski, Czarnecki, A Study of Variability Models and Languages in the Systems Software Domain, IEEE Transactions on Software Engineering. 2013.

Page 19: Steven She Rafael Lotufo Thorsten Berger Andrzej Wasowski …bergert/slides/vamos2020 mip award.pdf · systems software models 18 eCos i386 (1256 features) Linux kernel x86 (6559

19

Page 20: Steven She Rafael Lotufo Thorsten Berger Andrzej Wasowski …bergert/slides/vamos2020 mip award.pdf · systems software models 18 eCos i386 (1256 features) Linux kernel x86 (6559

20

Significant number of cross-tree constraints!

Page 21: Steven She Rafael Lotufo Thorsten Berger Andrzej Wasowski …bergert/slides/vamos2020 mip award.pdf · systems software models 18 eCos i386 (1256 features) Linux kernel x86 (6559

systems software models

dependency graph is still sparselinear dependency between size of model and dependencies(confirmed in temporal studies)

21

indicates that feature-based architectures scale well

goodnews!

Berger, She, Lotufo, Wasowski, Czarnecki, A Study of Variability Models and Languages in the Systems Software Domain. IEEE Transactions on Software Engineering. 2013.Lotufo, She, Berger, Czarnecki, Wasowski, Evolution of the Linux Kernel Variability Model. SPLC. 2010.

Page 22: Steven She Rafael Lotufo Thorsten Berger Andrzej Wasowski …bergert/slides/vamos2020 mip award.pdf · systems software models 18 eCos i386 (1256 features) Linux kernel x86 (6559

22

Page 23: Steven She Rafael Lotufo Thorsten Berger Andrzej Wasowski …bergert/slides/vamos2020 mip award.pdf · systems software models 18 eCos i386 (1256 features) Linux kernel x86 (6559

23

Page 24: Steven She Rafael Lotufo Thorsten Berger Andrzej Wasowski …bergert/slides/vamos2020 mip award.pdf · systems software models 18 eCos i386 (1256 features) Linux kernel x86 (6559

24

bitbucket.org/tberger/variability-models

Page 25: Steven She Rafael Lotufo Thorsten Berger Andrzej Wasowski …bergert/slides/vamos2020 mip award.pdf · systems software models 18 eCos i386 (1256 features) Linux kernel x86 (6559

impact

together with follow-up works on systems software: >650 citations

used to evaluate new techniques for:quality assurance

Chen, Nair, Krishna, Menzies. ”Sampling” as a Baseline Optimizer for Search-Based Software Engineering. IEEE Transactions on Software Engineering. 2019.A. von Rhein. Analysis Strategies for Configurable Systems. Ph.D. dissertation, University of Passau, 2016.Johansen, Haugen, Fleurey. An Algorithm for Generating t-wise Covering Arrays from Large Feature Models. SPLC. 2012....

evolution of feature modelsKnüppel, Thüm, Mennicke, Meinicke, Schaefer. Is there a Mismatch Between Real-World Feature Models and Product-Line Research?. FSE. 2017.Arcaini, Gargantini, Vavassori. Automated Repairing of Variability Models. SPLC, 2017....

automated software configurationXiong, Zhang, Hubaux, She, Wang, Czarnecki. Range Fixes: Interactive Error Resolution for Software Configuration. IEEE Transactions on Software Engineering. 2014.Krieter, Thüm, Schulze, Schröter, Saake. Propagating Configuration Decisions with Modal Implication Graphs. ICSE. 2018....

25

Page 26: Steven She Rafael Lotufo Thorsten Berger Andrzej Wasowski …bergert/slides/vamos2020 mip award.pdf · systems software models 18 eCos i386 (1256 features) Linux kernel x86 (6559

Kconfig semantics are highly intricate

26

constraints

Φ

LVAT Undertaker Kconfigreader kconfig-sat kclause

El-Sharkawy, Krafczyk, Schmid,. Analysing the Kconfig semantics and its analysis tools. GPCE. 2015

Page 27: Steven She Rafael Lotufo Thorsten Berger Andrzej Wasowski …bergert/slides/vamos2020 mip award.pdf · systems software models 18 eCos i386 (1256 features) Linux kernel x86 (6559

conclusion

Kconfig was and is still a mess (but a very useful mess)

impact and relevance

we did not really foresee it!

moving from the state shown by SPLOT to the community working with real and complex systems

methodological impact on feature modeling researchers

moved our careers strongly towards work with real cases

helped the community to publish in mainstream SE venues (among other factors)

27

Page 28: Steven She Rafael Lotufo Thorsten Berger Andrzej Wasowski …bergert/slides/vamos2020 mip award.pdf · systems software models 18 eCos i386 (1256 features) Linux kernel x86 (6559

28

the variability model of the Linux kernel

Steven She, Rafael Lotufo, Thorsten Berger, Andrzej Wasowski, Krzysztof Czarnecki