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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Transition between Variability Representations Thomas Th¨ um et al. Potential Synergies of Theorem Proving and Model Checking for Software Product Lines 5
Transition between Variability Representations Thomas Th¨ um et al. Potential Synergies of Theorem Proving and Model Checking for Software Product Lines 5
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
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
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
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
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
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
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
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
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
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
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
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
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