variability-aware analysis (fosd dagstuhl 2011)
DESCRIPTION
An overview of variability-aware analysis on the example of type checking software product linesTRANSCRIPT
![Page 1: Variability-Aware Analysis (FOSD Dagstuhl 2011)](https://reader035.vdocuments.mx/reader035/viewer/2022070322/55924ff41a28abf6028b4678/html5/thumbnails/1.jpg)
Variability-Aware AnalysisType Checking entire Product Lines
Christian Kästner and Sven Apel
![Page 2: Variability-Aware Analysis (FOSD Dagstuhl 2011)](https://reader035.vdocuments.mx/reader035/viewer/2022070322/55924ff41a28abf6028b4678/html5/thumbnails/2.jpg)
Feature-Oriented
Product Lines
![Page 3: Variability-Aware Analysis (FOSD Dagstuhl 2011)](https://reader035.vdocuments.mx/reader035/viewer/2022070322/55924ff41a28abf6028b4678/html5/thumbnails/3.jpg)
![Page 4: Variability-Aware Analysis (FOSD Dagstuhl 2011)](https://reader035.vdocuments.mx/reader035/viewer/2022070322/55924ff41a28abf6028b4678/html5/thumbnails/4.jpg)
DatabaseEngine
![Page 5: Variability-Aware Analysis (FOSD Dagstuhl 2011)](https://reader035.vdocuments.mx/reader035/viewer/2022070322/55924ff41a28abf6028b4678/html5/thumbnails/5.jpg)
Printer Firmware
![Page 6: Variability-Aware Analysis (FOSD Dagstuhl 2011)](https://reader035.vdocuments.mx/reader035/viewer/2022070322/55924ff41a28abf6028b4678/html5/thumbnails/6.jpg)
LinuxKernel
![Page 7: Variability-Aware Analysis (FOSD Dagstuhl 2011)](https://reader035.vdocuments.mx/reader035/viewer/2022070322/55924ff41a28abf6028b4678/html5/thumbnails/7.jpg)
Variability = Complexity
![Page 8: Variability-Aware Analysis (FOSD Dagstuhl 2011)](https://reader035.vdocuments.mx/reader035/viewer/2022070322/55924ff41a28abf6028b4678/html5/thumbnails/8.jpg)
a unique variant for every
person on this planet
33 featuresoptional, independent
![Page 9: Variability-Aware Analysis (FOSD Dagstuhl 2011)](https://reader035.vdocuments.mx/reader035/viewer/2022070322/55924ff41a28abf6028b4678/html5/thumbnails/9.jpg)
320 features
more variants than estimated
atoms in the universe
optional, independent
![Page 10: Variability-Aware Analysis (FOSD Dagstuhl 2011)](https://reader035.vdocuments.mx/reader035/viewer/2022070322/55924ff41a28abf6028b4678/html5/thumbnails/10.jpg)
2000 features 8000features
![Page 11: Variability-Aware Analysis (FOSD Dagstuhl 2011)](https://reader035.vdocuments.mx/reader035/viewer/2022070322/55924ff41a28abf6028b4678/html5/thumbnails/11.jpg)
Correctness?
![Page 12: Variability-Aware Analysis (FOSD Dagstuhl 2011)](https://reader035.vdocuments.mx/reader035/viewer/2022070322/55924ff41a28abf6028b4678/html5/thumbnails/12.jpg)
Printer Firmware
![Page 13: Variability-Aware Analysis (FOSD Dagstuhl 2011)](https://reader035.vdocuments.mx/reader035/viewer/2022070322/55924ff41a28abf6028b4678/html5/thumbnails/13.jpg)
Printer Firmware
Checking Products2000 Features100 Printers30 New Printers per Year
![Page 14: Variability-Aware Analysis (FOSD Dagstuhl 2011)](https://reader035.vdocuments.mx/reader035/viewer/2022070322/55924ff41a28abf6028b4678/html5/thumbnails/14.jpg)
LinuxKernel
Checking Products8000 Features? Products
![Page 15: Variability-Aware Analysis (FOSD Dagstuhl 2011)](https://reader035.vdocuments.mx/reader035/viewer/2022070322/55924ff41a28abf6028b4678/html5/thumbnails/15.jpg)
LinuxKernel
Checking Product Line
Implementation with 8000 Features
+ Generator
![Page 16: Variability-Aware Analysis (FOSD Dagstuhl 2011)](https://reader035.vdocuments.mx/reader035/viewer/2022070322/55924ff41a28abf6028b4678/html5/thumbnails/16.jpg)
Variability-AwareParserType SystemStatic AnalysisBug FindingTestingModel CheckingTheorem Proving…
![Page 17: Variability-Aware Analysis (FOSD Dagstuhl 2011)](https://reader035.vdocuments.mx/reader035/viewer/2022070322/55924ff41a28abf6028b4678/html5/thumbnails/17.jpg)
![Page 18: Variability-Aware Analysis (FOSD Dagstuhl 2011)](https://reader035.vdocuments.mx/reader035/viewer/2022070322/55924ff41a28abf6028b4678/html5/thumbnails/18.jpg)
Conflicts
References
![Page 19: Variability-Aware Analysis (FOSD Dagstuhl 2011)](https://reader035.vdocuments.mx/reader035/viewer/2022070322/55924ff41a28abf6028b4678/html5/thumbnails/19.jpg)
Presence Conditions
true
true
WORLD
BYE
![Page 20: Variability-Aware Analysis (FOSD Dagstuhl 2011)](https://reader035.vdocuments.mx/reader035/viewer/2022070322/55924ff41a28abf6028b4678/html5/thumbnails/20.jpg)
Reachability: pc(caller) -> pc(target)Conflicts: ¬(pc(def1) ˄ pc(def2))
true -> true
true -> (WORLD v BYE)
¬ (WORLD ˄ BYE)
![Page 21: Variability-Aware Analysis (FOSD Dagstuhl 2011)](https://reader035.vdocuments.mx/reader035/viewer/2022070322/55924ff41a28abf6028b4678/html5/thumbnails/21.jpg)
Variability Model:
VM -> (true -> true)
VM -> (true -> (WORLD v BYE))
P
WORLD BYE
VM ->¬ (WORLD ˄ BYE)
![Page 22: Variability-Aware Analysis (FOSD Dagstuhl 2011)](https://reader035.vdocuments.mx/reader035/viewer/2022070322/55924ff41a28abf6028b4678/html5/thumbnails/22.jpg)
22
WORLD BYE
BYEWORLD
AST with Variability Information
Extended Lookup Mechanism
![Page 23: Variability-Aware Analysis (FOSD Dagstuhl 2011)](https://reader035.vdocuments.mx/reader035/viewer/2022070322/55924ff41a28abf6028b4678/html5/thumbnails/23.jpg)
![Page 24: Variability-Aware Analysis (FOSD Dagstuhl 2011)](https://reader035.vdocuments.mx/reader035/viewer/2022070322/55924ff41a28abf6028b4678/html5/thumbnails/24.jpg)
Feature Modules
Check Features in
Isolation
![Page 25: Variability-Aware Analysis (FOSD Dagstuhl 2011)](https://reader035.vdocuments.mx/reader035/viewer/2022070322/55924ff41a28abf6028b4678/html5/thumbnails/25.jpg)
Feature Modules
Check Features in
IsolationVariability-Aware
Compatibility Checks
of Interfaces
![Page 26: Variability-Aware Analysis (FOSD Dagstuhl 2011)](https://reader035.vdocuments.mx/reader035/viewer/2022070322/55924ff41a28abf6028b4678/html5/thumbnails/26.jpg)
Surface Complexity
Handling Complexity
SATProblem
InherentComplexity
![Page 27: Variability-Aware Analysis (FOSD Dagstuhl 2011)](https://reader035.vdocuments.mx/reader035/viewer/2022070322/55924ff41a28abf6028b4678/html5/thumbnails/27.jpg)
…
FAME-DBMS
OS BufferMgr StorageDebug Logging
Nut/OS Win InMemoryPersistent UnindexedB+TreeAPI
MemAlloc PageRepl. get put delete
LRU LFUStatic Dyn.
Feature Lifting Variability-Aware Model Checking
Variability-Aware Parsingentire
Linux kernel
![Page 28: Variability-Aware Analysis (FOSD Dagstuhl 2011)](https://reader035.vdocuments.mx/reader035/viewer/2022070322/55924ff41a28abf6028b4678/html5/thumbnails/28.jpg)
Product Line
Paper Collection:http://researchr.org/tag/variability-aware-analysis
Checking Products
Checking Product Line
Variability-AwareParserType SystemStatic AnalysisBug FindingTestingModel CheckingTheorem Proving…
![Page 29: Variability-Aware Analysis (FOSD Dagstuhl 2011)](https://reader035.vdocuments.mx/reader035/viewer/2022070322/55924ff41a28abf6028b4678/html5/thumbnails/29.jpg)
Picture Credits
© Stuck in Customs (cc by-nc-sa 2.0)
© Horia Varlan (cc by 2.0)