Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Variability-Aware Analysis (FOSD Dagstuhl 2011)

566 views

Published on

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

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

Variability-Aware Analysis (FOSD Dagstuhl 2011)

  1. 1. Variability-Aware AnalysisType CheckingentireProductLines<br />Christian Kästner and Sven Apel<br />
  2. 2. Feature-OrientedProductLines<br />
  3. 3.
  4. 4. Database<br />Engine<br />
  5. 5. Printer Firmware<br />
  6. 6. Linux<br />Kernel<br />
  7. 7. Variability = Complexity<br />
  8. 8. 33features<br />optional, independent<br />a unique variant forevery<br />person on this planet<br />
  9. 9. 320features<br />morevariantsthanestimatedatoms in theuniverse<br />optional, independent<br />
  10. 10. 2000 features<br />8000<br />features<br />
  11. 11. Correctness?<br />
  12. 12. Printer Firmware<br />
  13. 13. CheckingProducts<br />2000 Features<br />100 Printers30 New Printers per Year<br />Printer Firmware<br />
  14. 14. CheckingProducts<br />8000 Features<br />? Products<br />Linux<br />Kernel<br />
  15. 15. CheckingProduct Line<br />Implementationwith 8000 Features<br />+ Generator<br />Linux<br />Kernel<br />
  16. 16. Parser<br />Type System<br />Static Analysis<br />Bug Finding<br />Testing<br />Model Checking<br />Theorem Proving<br />…<br />Variability-Aware<br />
  17. 17.
  18. 18. References<br />Conflicts<br />
  19. 19. true<br />WORLD<br />Presence Conditions<br />BYE<br />true<br />
  20. 20. Reachability: pc(caller) -> pc(target)<br />Conflicts:¬(pc(def1)˄ pc(def2))<br />¬ (WORLD ˄ BYE)<br />true -> (WORLD v BYE)<br />true -> true<br />
  21. 21. Variability Model:<br />P<br />WORLD<br />BYE<br />VM ->¬ (WORLD ˄ BYE)<br />VM -> (true -> (WORLD v BYE))<br />VM -> (true -> true)<br />
  22. 22. AST with Variability Information<br />BYE<br />WORLD<br />WORLD<br />22<br />BYE<br />Extended Lookup Mechanism<br />
  23. 23.
  24. 24. Feature Modules<br />Check Features in <br />Isolation<br />
  25. 25. Feature Modules<br />Check Features in <br />Isolation<br />Variability-Aware<br />Compatibility Checks<br />ofInterfaces<br />
  26. 26. Handling Complexity<br />SurfaceComplexity<br />Inherent<br />Complexity<br />SAT<br />Problem<br />
  27. 27. Variability-Aware Parsing<br />entire<br />Linux kernel<br />Feature Lifting<br />Variability-AwareModel Checking<br />…<br />
  28. 28. Parser<br />Type System<br />Static Analysis<br />Bug Finding<br />Testing<br />Model Checking<br />Theorem Proving<br />…<br />Variability-Aware<br />Product Line<br />CheckingProducts<br />CheckingProduct Line<br />Paper Collection:<br />http://researchr.org/tag/variability-aware-analysis<br />
  29. 29. Picture Credits<br />© Stuck in Customs (cc by-nc-sa 2.0)<br />© Horia Varlan (cc by 2.0)<br />

×