potential synergies of theorem proving and model checking
play

Potential Synergies of Theorem Proving and Model Checking for - PowerPoint PPT Presentation

Potential Synergies of Theorem Proving and Model Checking for Software Product Lines um 1 , Jens Meinicke 1 , Fabian Benduhn 1 , Thomas Th Martin Hentschel 2 , Alexander von Rhein 3 , Gunter Saake 1 May 7th, 2014 1 University of Magdeburg,


  1. Potential Synergies of Theorem Proving and Model Checking for Software Product Lines um 1 , Jens Meinicke 1 , Fabian Benduhn 1 , Thomas Th¨ Martin Hentschel 2 , Alexander von Rhein 3 , Gunter Saake 1 May 7th, 2014 1 University of Magdeburg, Germany 2 University of Darmstadt, Germany 3 University of Passau, Germany

  2. Potential Synergies of Theorem Proving and Model Checking for Software Product Lines um 1 , Jens Meinicke 1 , Fabian Benduhn 1 , Thomas Th¨ Martin Hentschel 2 , Alexander von Rhein 3 , Gunter Saake 1 May 7th, 2014 1 University of Magdeburg, Germany 2 University of Darmstadt, Germany 3 University of Passau, Germany

  3. Variability in Single-System Engineering 1. Strategy: clone-and-own, copy-and-modify, branching, . . . David W. Stefan Tassio Thomas Th¨ um et al. Potential Synergies of Theorem Proving and Model Checking for Software Product Lines 2

  4. Variability in Single-System Engineering 1. Strategy: clone-and-own, copy-and-modify, branching, . . . David W. Stefan Tassio Thomas Th¨ um et al. Potential Synergies of Theorem Proving and Model Checking for Software Product Lines 2

  5. Variability in Single-System Engineering 1. Strategy: clone-and-own, copy-and-modify, branching, . . . David W. Stefan Tassio Thomas Th¨ um et al. Potential Synergies of Theorem Proving and Model Checking for Software Product Lines 2

  6. Variability in Single-System Engineering 1. Strategy: clone-and-own, copy-and-modify, branching, . . . David W. Stefan Tassio Thomas Th¨ um et al. Potential Synergies of Theorem Proving and Model Checking for Software Product Lines 2

  7. Variability in Single-System Engineering 1. Strategy: clone-and-own, copy-and-modify, branching, . . . David W. Stefan Tassio Problems: creation, bug fixes, extension, . . . [code-clones problems] Thomas Th¨ um et al. Potential Synergies of Theorem Proving and Model Checking for Software Product Lines 2

  8. Variability in Single-System Engineering 2. Strategy: runtime variability/parameters, all-in-one-solution, swiss army knife (German: Eierlegende Wollmilchsau), . . . Max Thomas Th¨ um et al. Potential Synergies of Theorem Proving and Model Checking for Software Product Lines 3

  9. Variability in Single-System Engineering 2. Strategy: runtime variability/parameters, all-in-one-solution, swiss army knife (German: Eierlegende Wollmilchsau), . . . Max Problems: footprint, performance, safety, security, . . . [unused functionality] Thomas Th¨ um et al. Potential Synergies of Theorem Proving and Model Checking for Software Product Lines 3

  10. Variability in Product-Line Engineering Compile-time variability: components, plug-ins, feature modules, aspects, build scripts, preprocessors, virtual separation, . . . Thomas Th¨ um et al. Potential Synergies of Theorem Proving and Model Checking for Software Product Lines 4

  11. Variability in Product-Line Engineering Compile-time variability: components, plug-ins, feature modules, aspects, build scripts, preprocessors, virtual separation, . . . Thomas Th¨ um et al. Potential Synergies of Theorem Proving and Model Checking for Software Product Lines 4

  12. Variability in Product-Line Engineering Compile-time variability: components, plug-ins, feature modules, aspects, build scripts, preprocessors, virtual separation, . . . Thomas Th¨ um et al. Potential Synergies of Theorem Proving and Model Checking for Software Product Lines 4

  13. Variability in Product-Line Engineering Compile-time variability: components, plug-ins, feature modules, aspects, build scripts, preprocessors, virtual separation, . . . Thomas Th¨ um et al. Potential Synergies of Theorem Proving and Model Checking for Software Product Lines 4

  14. Variability in Product-Line Engineering Compile-time variability: components, plug-ins, feature modules, aspects, build scripts, preprocessors, virtual separation, . . . Thomas Th¨ um et al. Potential Synergies of Theorem Proving and Model Checking for Software Product Lines 4

  15. Variability in Product-Line Engineering Compile-time variability: components, plug-ins, feature modules, aspects, build scripts, preprocessors, virtual separation, . . . Challenges: testing, verification, specification, . . . Thomas Th¨ um et al. Potential Synergies of Theorem Proving and Model Checking for Software Product Lines 4

  16. Transition between Variability Representations Thomas Th¨ um et al. Potential Synergies of Theorem Proving and Model Checking for Software Product Lines 5

  17. Transition between Variability Representations Thomas Th¨ um et al. Potential Synergies of Theorem Proving and Model Checking for Software Product Lines 5

  18. Transition between Variability Representations David W. Stefan Daniela Sheng Tassio Thomas Th¨ um et al. Potential Synergies of Theorem Proving and Model Checking for Software Product Lines 5

  19. Transition between Variability Representations Max David W. Stefan Daniela Sheng Tassio Thomas Th¨ um et al. Potential Synergies of Theorem Proving and Model Checking for Software Product Lines 5

  20. Transition between Variability Representations Max David W. Stefan Daniela Sheng Tassio High manual effort Thomas Th¨ um et al. Potential Synergies of Theorem Proving and Model Checking for Software Product Lines 5

  21. Transition between Variability Representations Christoph Max David W. Stefan Daniela Sheng Tassio High manual effort vs. automatic generation Thomas Th¨ um et al. Potential Synergies of Theorem Proving and Model Checking for Software Product Lines 5

  22. Transition between Variability Representations Christoph Max David W. Stefan Daniela Sheng Tassio High manual effort vs. automatic generation Thomas Th¨ um et al. Potential Synergies of Theorem Proving and Model Checking for Software Product Lines 5

  23. Transition between Variability Representations Norbert Thomas Christoph Max David W. Stefan Daniela Sheng Tassio High manual effort vs. automatic generation Thomas Th¨ um et al. Potential Synergies of Theorem Proving and Model Checking for Software Product Lines 5

  24. Transition between Variability Representations Mustafa Norbert Alex G. Thomas Olaf Christoph Max David W. Stefan Daniela Sheng Tassio High manual effort vs. automatic generation Thomas Th¨ um et al. Potential Synergies of Theorem Proving and Model Checking for Software Product Lines 5

  25. Transition between Variability Representations Mustafa Norbert Alex G. Thomas Olaf Christoph Max Fl´ avio Iago David W. Bruno Sergiy Stefan Malte Bo Wolfram Daniela Christian Sarah Sven Johannes Sheng Claus Thorsten Tassio Sandro High manual effort vs. automatic generation Thomas Th¨ um et al. Potential Synergies of Theorem Proving and Model Checking for Software Product Lines 5

  26. Transition between Variability Representations Mustafa Norbert Alex G. Thomas Olaf Christoph Max Fl´ avio Iago David W. Bruno Sergiy n : r a o Stefan e f Malte Bo Wolfram n D y i t r r r Daniela Christian Sarah n a o a M s i Sven Johannes m b . Sheng G a ’ . I F R Claus Thorsten . d Tassio v m i v Sandro i x a T e D l A High manual effort vs. automatic generation Thomas Th¨ um et al. Potential Synergies of Theorem Proving and Model Checking for Software Product Lines 5

  27. Variability Encoding Translating compile-time into run-time/load-time variability for: ◮ Model checking — Post and Sinz [2008], Apel et al. [2011], Classen et al. [2011], Apel et al. [2013] ◮ Theorem proving — Th¨ um et al. [2012] ◮ Testing — K¨ astner et al. [2012] ◮ Predicting non-functional properties — Siegmund et al. [2013] Norbert ◮ . . . Thomas Th¨ um et al. Potential Synergies of Theorem Proving and Model Checking for Software Product Lines 6

  28. Variability Encoding Translating compile-time into run-time/load-time variability for: ◮ Model checking — Post and Sinz [2008], Apel et al. [2011], Classen et al. [2011], Apel et al. [2013] ◮ Theorem proving — Th¨ um et al. [2012] ◮ Testing — K¨ astner et al. [2012] ◮ Predicting non-functional properties — Siegmund et al. [2013] Norbert ◮ . . . We can reuse tools from single-system engineering! Thomas Th¨ um et al. Potential Synergies of Theorem Proving and Model Checking for Software Product Lines 6

  29. Theorem Proving vs. Model Checking ◮ Deductive reasoning ◮ Exhaustive search ◮ Code translated into ◮ Specification translated into first-order logic runtime assertions ◮ Transformation of logic ◮ Code (symbolically) formulas executed ◮ Methods in isolation ◮ Test scenarios ◮ Applicable to incomplete ◮ Applicable to incomplete code specifications ◮ Theorem provers: ◮ Model checkers: KeY, Coq , . . . JPF , SPIN , . . . Thomas Th¨ um et al. Potential Synergies of Theorem Proving and Model Checking for Software Product Lines 7

  30. Theorem Proving vs. Model Checking ◮ Deductive reasoning ◮ Exhaustive search ◮ Code translated into ◮ Specification translated into first-order logic runtime assertions ◮ Transformation of logic ◮ Code (symbolically) formulas executed ◮ Methods in isolation ◮ Test scenarios ◮ Applicable to incomplete ◮ Applicable to incomplete code specifications ◮ Theorem provers: ◮ Model checkers: KeY, Coq , . . . JPF , SPIN , . . . What is more efficient/effective? Thomas Th¨ um et al. Potential Synergies of Theorem Proving and Model Checking for Software Product Lines 7

Recommend


More recommend