variability-aware analysis (fosd dagstuhl 2011)

Post on 30-Jun-2015

339 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

An overview of variability-aware analysis on the example of type checking software product lines

TRANSCRIPT

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)

top related