Upload
chk49
View
339
Download
2
Embed Size (px)
DESCRIPTION
An overview of variability-aware analysis on the example of type checking software product lines
Citation preview
Variability-Aware AnalysisType Checking entire Product Lines
Christian Kästner and Sven Apel
Feature-Oriented
Product Lines
DatabaseEngine
Printer Firmware
LinuxKernel
Variability = Complexity
a unique variant for every
person on this planet
33 featuresoptional, independent
320 features
more variants than estimated
atoms in the universe
optional, independent
2000 features 8000features
Correctness?
Printer Firmware
Printer Firmware
Checking Products2000 Features100 Printers30 New Printers per Year
LinuxKernel
Checking Products8000 Features? Products
LinuxKernel
Checking Product Line
Implementation with 8000 Features
+ Generator
Variability-AwareParserType SystemStatic AnalysisBug FindingTestingModel CheckingTheorem Proving…
Conflicts
References
Presence Conditions
true
true
WORLD
BYE
Reachability: pc(caller) -> pc(target)Conflicts: ¬(pc(def1) ˄ pc(def2))
true -> true
true -> (WORLD v BYE)
¬ (WORLD ˄ BYE)
Variability Model:
VM -> (true -> true)
VM -> (true -> (WORLD v BYE))
P
WORLD BYE
VM ->¬ (WORLD ˄ BYE)
22
WORLD BYE
BYEWORLD
AST with Variability Information
Extended Lookup Mechanism
Feature Modules
Check Features in
Isolation
Feature Modules
Check Features in
IsolationVariability-Aware
Compatibility Checks
of Interfaces
Surface Complexity
Handling Complexity
SATProblem
InherentComplexity
…
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
Product Line
Paper Collection:http://researchr.org/tag/variability-aware-analysis
Checking Products
Checking Product Line
Variability-AwareParserType SystemStatic AnalysisBug FindingTestingModel CheckingTheorem Proving…
Picture Credits
© Stuck in Customs (cc by-nc-sa 2.0)
© Horia Varlan (cc by 2.0)