SMT-LIB theories Quantifier-free integer/rational difference logic x − y ∼ 0 , ∼∈ { <, ≤ , = , ≥ , > } Source: http://smtlib.cs.uiowa.edu/logics.shtml Erika ´ Abrah´ am - The Power of Satisfiability Checking 13 / 43
SMT-LIB theories (Quantifier-free) real/integer linear arithmetic 3 x + 7 y = 8 Source: http://smtlib.cs.uiowa.edu/logics.shtml Erika ´ Abrah´ am - The Power of Satisfiability Checking 13 / 43
SMT-LIB theories (Quantifier-free) real/integer non-linear arithmetic x 2 + 2 xy + y 2 ≥ 0 Source: http://smtlib.cs.uiowa.edu/logics.shtml Erika ´ Abrah´ am - The Power of Satisfiability Checking 13 / 43
SMT-LIB theories Combined theories 2 f ( x ) + 5 y > 0 Source: http://smtlib.cs.uiowa.edu/logics.shtml Erika ´ Abrah´ am - The Power of Satisfiability Checking 13 / 43
Google Scholar search for “SAT modulo theories” Erika ´ 1000 2000 3000 4000 5000 Abrah´ am - The Power of Satisfiability Checking 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 14 / 43
Part I: Some historical notes Part II: One of the major ingredients of success: Strategic combinations of decision procedures ...in SAT solving... ...in SMT solving... ...in theory solving. Part III: How satisfiability checking drives the digital world Erika ´ Abrah´ am - The Power of Satisfiability Checking 15 / 43
What does “strategic combination” mean? ? + = Erika ´ Abrah´ am - The Power of Satisfiability Checking 16 / 43
What does “strategic combination” mean? ? + = Erika ´ Abrah´ am - The Power of Satisfiability Checking 16 / 43
What does “strategic combination” mean? ! + = Erika ´ Abrah´ am - The Power of Satisfiability Checking 16 / 43
Part I: Some historical notes Part II: One of the major ingredients of success: Strategic combinations of decision procedures ...in SAT solving... ...in SMT solving... ...in theory solving. Part III: How satisfiability checking drives the digital world Erika ´ Abrah´ am - The Power of Satisfiability Checking 17 / 43
DPLL SAT solving with conflict-directed clause learning Assumption: formula in conjunctive normal form (CNF) c 1 : ( ¬ a ∨ b ) ∧ c 2 : ( ¬ b ∨ ¬ c ) ∧ c 3 : ( ¬ b ∨ c ) ∧ . . . Erika ´ Abrah´ am - The Power of Satisfiability Checking 18 / 43
DPLL SAT solving with conflict-directed clause learning Assumption: formula in conjunctive normal form (CNF) Ingredients: Enumeration c 1 : ( ¬ a ∨ b ) ∧ 0 1 . . . c 2 : ( ¬ b ∨ ¬ c ) ∧ 1 0 c 3 : ( ¬ b ∨ c ) ∧ 1 0 1 0 . . . Erika ´ Abrah´ am - The Power of Satisfiability Checking 18 / 43
DPLL SAT solving with conflict-directed clause learning Assumption: formula in conjunctive normal form (CNF) Ingredients: Enumeration c 1 : ( ¬ a ∨ b ) ∧ a 0 1 . . . b c 2 : ( ¬ b ∨ ¬ c ) ∧ 1 0 c 3 : ( ¬ b ∨ c ) ∧ c 1 0 1 0 . . . 0 Erika ´ Abrah´ am - The Power of Satisfiability Checking 18 / 43
DPLL SAT solving with conflict-directed clause learning Assumption: formula in conjunctive normal form (CNF) Ingredients: Enumeration c 1 : ( ¬ a ∨ b ) ∧ a 0 1 . . . b c 2 : ( ¬ b ∨ ¬ c ) ∧ 1 0 c 3 : ( ¬ b ∨ c ) ∧ c 1 0 1 0 . . . 0 0 Erika ´ Abrah´ am - The Power of Satisfiability Checking 18 / 43
DPLL SAT solving with conflict-directed clause learning Assumption: formula in conjunctive normal form (CNF) Ingredients: Enumeration c 1 : ( ¬ a ∨ b ) ∧ a 0 1 . . . b c 2 : ( ¬ b ∨ ¬ c ) ∧ 1 0 c 3 : ( ¬ b ∨ c ) ∧ c c 1 0 1 0 . . . 0 0 0 Erika ´ Abrah´ am - The Power of Satisfiability Checking 18 / 43
DPLL SAT solving with conflict-directed clause learning Assumption: formula in conjunctive normal form (CNF) Ingredients: Enumeration c 1 : ( ¬ a ∨ b ) ∧ a 0 1 . . . b c 2 : ( ¬ b ∨ ¬ c ) ∧ 1 0 c 3 : ( ¬ b ∨ c ) ∧ c c 1 0 1 0 . . . 0 0 0 0 Erika ´ Abrah´ am - The Power of Satisfiability Checking 18 / 43
DPLL SAT solving with conflict-directed clause learning Assumption: formula in conjunctive normal form (CNF) Ingredients: Enumeration Ingredients: Enumeration + Boolean constraint propagation c 1 : ( ¬ a ∨ b ) ∧ 0 1 . . . c 2 : ( ¬ b ∨ ¬ c ) ∧ 1 0 c 3 : ( ¬ b ∨ c ) ∧ 1 0 1 0 . . . Erika ´ Abrah´ am - The Power of Satisfiability Checking 18 / 43
DPLL SAT solving with conflict-directed clause learning Assumption: formula in conjunctive normal form (CNF) Ingredients: Enumeration Ingredients: Enumeration + Boolean constraint propagation c 1 : ( ¬ a ∨ b ) ∧ a 0 1 . . . c 2 : ( ¬ b ∨ ¬ c ) ∧ 1 0 c 3 : ( ¬ b ∨ c ) ∧ 1 0 1 0 . . . Erika ´ Abrah´ am - The Power of Satisfiability Checking 18 / 43
DPLL SAT solving with conflict-directed clause learning Assumption: formula in conjunctive normal form (CNF) Ingredients: Enumeration Ingredients: Enumeration + Boolean constraint propagation c 1 : ( ¬ a ∨ b ) ∧ a 0 1 . . . b c 2 : ( ¬ b ∨ ¬ c ) ∧ 1 0 c 3 : ( ¬ b ∨ c ) ∧ 0 1 0 . . . Erika ´ Abrah´ am - The Power of Satisfiability Checking 18 / 43
DPLL SAT solving with conflict-directed clause learning Assumption: formula in conjunctive normal form (CNF) Ingredients: Enumeration Ingredients: Enumeration + Boolean constraint propagation c 1 : ( ¬ a ∨ b ) ∧ a 0 1 . . . b c 2 : ( ¬ b ∨ ¬ c ) ∧ 1 0 c 3 : ( ¬ b ∨ c ) ∧ c 0 1 0 . . . 0 0 Erika ´ Abrah´ am - The Power of Satisfiability Checking 18 / 43
DPLL SAT solving with conflict-directed clause learning Assumption: formula in conjunctive normal form (CNF) Ingredients: Enumeration Ingredients: Enumeration + Boolean constraint propagation Ingredients: Enumeration + Boolean constraint propagation + Resolution c 1 : ( ¬ a ∨ b ) ∧ a 0 1 . . . b c 2 : ( ¬ b ∨ ¬ c ) ∧ 1 0 c 3 : ( ¬ b ∨ c ) ∧ c 0 1 0 . . . 0 0 Erika ´ Abrah´ am - The Power of Satisfiability Checking 18 / 43
Resolution Assumption: conjunctive normal form (CNF) Erika ´ Abrah´ am - The Power of Satisfiability Checking 19 / 43
Resolution Assumption: conjunctive normal form (CNF) Derivation rule form: antecendent 1 antecendent n . . . Rule name consequent Erika ´ Abrah´ am - The Power of Satisfiability Checking 19 / 43
Resolution Assumption: conjunctive normal form (CNF) Derivation rule form: antecendent 1 antecendent n . . . Rule name consequent ( l ′ 1 ∨ . . . ∨ l ′ ( l 1 ∨ . . . ∨ l n ∨ x ) m ∨ ¬ x ) Rule res ( l 1 ∨ . . . ∨ l n ∨ l ′ 1 ∨ . . . ∨ l ′ m ) Erika ´ Abrah´ am - The Power of Satisfiability Checking 19 / 43
Resolution Assumption: conjunctive normal form (CNF) Derivation rule form: antecendent 1 antecendent n . . . Rule name consequent ( l ′ 1 ∨ . . . ∨ l ′ ( l 1 ∨ . . . ∨ l n ∨ x ) m ∨ ¬ x ) Rule res ( l 1 ∨ . . . ∨ l n ∨ l ′ 1 ∨ . . . ∨ l ′ m ) ∃ x . C x ∧ C ¬ x ∧ C ↔ Resolvents ( C x , C ¬ x ) ∧ C Erika ´ Abrah´ am - The Power of Satisfiability Checking 19 / 43
DPLL SAT solving with conflict-directed clause learning Assumption: formula in conjunctive normal form (CNF) Ingredients: Enumeration Ingredients: Enumeration + Boolean constraint propagation Ingredients: Enumeration + Boolean constraint propagation + Resolution c 1 : ( ¬ a ∨ b ) ∧ a 0 1 . . . b c 2 : ( ¬ b ∨ ¬ c ) ∧ 1 0 c 3 : ( ¬ b ∨ c ) ∧ c 0 1 0 . . . 0 0 Erika ´ Abrah´ am - The Power of Satisfiability Checking 20 / 43
DPLL SAT solving with conflict-directed clause learning Assumption: formula in conjunctive normal form (CNF) Ingredients: Enumeration Ingredients: Enumeration + Boolean constraint propagation Ingredients: Enumeration + Boolean constraint propagation + Resolution c 1 : ( ¬ a ∨ b ) ∧ a 0 1 . . . b c 2 : ( ¬ b ∨ ¬ c ) ∧ 1 0 c 3 : ( ¬ b ∨ c ) ∧ c 0 1 0 . . . 0 0 c 3 : ( ¬ b ∨ c ) c 2 : ( ¬ b ∨ ¬ c ) Resolution c 4 : ( ¬ b ) Erika ´ Abrah´ am - The Power of Satisfiability Checking 20 / 43
DPLL SAT solving with conflict-directed clause learning Assumption: formula in conjunctive normal form (CNF) Ingredients: Enumeration Ingredients: Enumeration + Boolean constraint propagation Ingredients: Enumeration + Boolean constraint propagation + Resolution c 1 : ( ¬ a ∨ b ) ∧ a 0 1 . . . b c 2 : ( ¬ b ∨ ¬ c ) ∧ 1 0 c 3 : ( ¬ b ∨ c ) ∧ c 0 c 4 : ( ¬ b ) ∧ 1 0 . . . 0 0 c 3 : ( ¬ b ∨ c ) c 2 : ( ¬ b ∨ ¬ c ) Resolution c 4 : ( ¬ b ) Erika ´ Abrah´ am - The Power of Satisfiability Checking 20 / 43
Part I: Some historical notes Part II: One of the major ingredients of success: Strategic combinations of decision procedures ...in SAT solving... ...in SMT solving... ...in theory solving. Part III: How satisfiability checking drives the digital world Erika ´ Abrah´ am - The Power of Satisfiability Checking 21 / 43
(Full/less) lazy SMT solving ϕ quantifier-free FO formula Boolean abstraction Tseitin’s transformation ϕ ′ propositional logic formula in CNF SAT solver SAT or UNSAT SAT theory constraints or + lemmas UNSAT Theory solver(s) Erika ´ Abrah´ am - The Power of Satisfiability Checking 22 / 43
Less lazy SMT solving Erika ´ Abrah´ am - The Power of Satisfiability Checking 23 / 43
Less lazy SMT solving ( x < 0 ∨ x > 2) ∧ ( x 2 = 1 ∨ x 2 < 0) Erika ´ Abrah´ am - The Power of Satisfiability Checking 23 / 43
Less lazy SMT solving ( x < 0 ∨ x > 2) ∧ ( x 2 = 1 ∨ x 2 < 0) ( ) ∧ ( ) a ∨ b c ∨ d Erika ´ Abrah´ am - The Power of Satisfiability Checking 23 / 43
Less lazy SMT solving ( x < 0 ∨ x > 2) ∧ ( x 2 = 1 ∨ x 2 < 0) ( ) ∧ ( ) a ∨ b c ∨ d SAT solver Theory solver(s) Erika ´ Abrah´ am - The Power of Satisfiability Checking 23 / 43
Less lazy SMT solving ( x < 0 ∨ x > 2) ∧ ( x 2 = 1 ∨ x 2 < 0) ( ) ∧ ( ) a ∨ b c ∨ d ¬ a SAT solver Theory solver(s) Erika ´ Abrah´ am - The Power of Satisfiability Checking 23 / 43
Less lazy SMT solving ( x < 0 ∨ x > 2) ∧ ( x 2 = 1 ∨ x 2 < 0) ( ) ∧ ( ) a ∨ b c ∨ d ¬ a , b SAT solver Theory solver(s) Erika ´ Abrah´ am - The Power of Satisfiability Checking 23 / 43
Less lazy SMT solving ( x < 0 ∨ x > 2) ∧ ( x 2 = 1 ∨ x 2 < 0) ( ) ∧ ( ) a ∨ b c ∨ d ¬ a , b SAT solver x ≥ 0 , x > 2 Theory solver(s) Erika ´ Abrah´ am - The Power of Satisfiability Checking 23 / 43
Less lazy SMT solving ( x < 0 ∨ x > 2) ∧ ( x 2 = 1 ∨ x 2 < 0) ( ) ∧ ( ) a ∨ b c ∨ d ¬ a , b SAT solver x ≥ 0 , x > 2 SAT Theory solver(s) Erika ´ Abrah´ am - The Power of Satisfiability Checking 23 / 43
Less lazy SMT solving ( x < 0 ∨ x > 2) ∧ ( x 2 = 1 ∨ x 2 < 0) ( ) ∧ ( ) a ∨ b c ∨ d ¬ a , b , ¬ c SAT solver x ≥ 0 , x > 2 Theory solver(s) Erika ´ Abrah´ am - The Power of Satisfiability Checking 23 / 43
Less lazy SMT solving ( x < 0 ∨ x > 2) ∧ ( x 2 = 1 ∨ x 2 < 0) ( ) ∧ ( ) a ∨ b c ∨ d ¬ a , b , ¬ c , d SAT solver x ≥ 0 , x > 2 Theory solver(s) Erika ´ Abrah´ am - The Power of Satisfiability Checking 23 / 43
Less lazy SMT solving ( x < 0 ∨ x > 2) ∧ ( x 2 = 1 ∨ x 2 < 0) ( ) ∧ ( ) a ∨ b c ∨ d ¬ a , b , ¬ c , d SAT solver x ≥ 0 , x > 2 , x 2 � 1 , x 2 < 0 Theory solver(s) Erika ´ Abrah´ am - The Power of Satisfiability Checking 23 / 43
Less lazy SMT solving ( x < 0 ∨ x > 2) ∧ ( x 2 = 1 ∨ x 2 < 0) ( ) ∧ ( ) a ∨ b c ∨ d ¬ a , b , ¬ c , d SAT solver x ≥ 0 , x > 2 , x 2 � 1 , x 2 < 0 UNSAT: ¬ ( x 2 < 0) Theory solver(s) Erika ´ Abrah´ am - The Power of Satisfiability Checking 23 / 43
Less lazy SMT solving ( x < 0 ∨ x > 2) ∧ ( x 2 = 1 ∨ x 2 < 0) ( ) ∧ ( ) ∧ ( ¬ d ) a ∨ b c ∨ d ¬ a , b , ¬ c , d SAT solver x ≥ 0 , x > 2 , x 2 � 1 , x 2 < 0 UNSAT: ¬ ( x 2 < 0) Theory solver(s) Erika ´ Abrah´ am - The Power of Satisfiability Checking 23 / 43
Some theory solver candidates for arithmetic theories Linear real arithmetic: Linear integer arithmetic: Simplex Cutting planes, Gomory cuts Ellipsoid method Branch-and-bound (incomplete) Fourier-Motzkin variable elimination Bit-blasting (eager) (mostly preprocessing) Interval constraint propagation Interval constraint propagation (incomplete) (incomplete) Non-linear real arithmetic: Non-linear integer arithmetic: Cylindrical algebraic decomposition Generalised branch-and-bound (incomplete) Gr¨ obner bases (mostly preprocessing/simplification) Bit-blasting (eager, incomplete) Virtual substitution (focus on low degrees) Interval constraint propagation (incomplete) Erika ´ Abrah´ am - The Power of Satisfiability Checking 24 / 43
Problem solved? Can we use implementations of those methods out of the box? Erika ´ Abrah´ am - The Power of Satisfiability Checking 25 / 43
Problem solved? Can we use implementations of those methods out of the box? Theory solvers should be SMT-compliant, i.e., ϕ quantifier-free FO formula Boolean abstraction they should Tseitin’s transformation ϕ ′ propositional logic formula in CNF work incrementally, SAT solver SAT or UNSAT generate lemmas explaining SAT inconsistencies, and theory constraints or + lemmas UNSAT be able to backtrack. Theory solver(s) Erika ´ Abrah´ am - The Power of Satisfiability Checking 25 / 43
Problem solved? Can we use implementations of those methods out of the box? Theory solvers should be SMT-compliant, i.e., ϕ quantifier-free FO formula Boolean abstraction they should Tseitin’s transformation ϕ ′ propositional logic formula in CNF work incrementally, SAT solver SAT or UNSAT generate lemmas explaining SAT inconsistencies, and theory constraints or + lemmas UNSAT be able to backtrack. Theory solver(s) Originally, the mentioned methods are not SMT-compliant. SMT-adaptations can be tricky, but can lead to beautiful novel algorithms. Erika ´ Abrah´ am - The Power of Satisfiability Checking 25 / 43
Satisfiablility checking and symbolic computation Bridging two communities to solve real problems http://www.sc-square.org/CSA/welcome.html Erika ´ Abrah´ am - The Power of Satisfiability Checking 26 / 43
Part I: Some historical notes Part II: One of the major ingredients of success: Strategic combinations of decision procedures ...in SAT solving... ...in SMT solving... ...in theory solving. Part III: How satisfiability checking drives the digital world Erika ´ Abrah´ am - The Power of Satisfiability Checking 27 / 43
The SMT-RAT library SMT Solver Strategic composition of SMT-RAT modules SMT real-algebraic toolbox preprocessing, SAT and theory solver modules CArL real-arithmetic computations gmp, Eigen3, boost Erika ´ Abrah´ am - The Power of Satisfiability Checking 28 / 43
Strategic composition of solver modules in SMT-RAT SMT solver Manager Strategy . . . SAT Condition Condition Condition solver . . . Module Module Module Module Erika ´ Abrah´ am - The Power of Satisfiability Checking 29 / 43
A pizza positioning example y 40 ( x 3 , y 3 ) ( x 1 , y 1 ) 30 r 3 r 1 20 r 2 10 ( x 2 , y 2 ) x 10 20 30 40 50 60 3 2 3 ( r i = 13 ∨ r i = 10 ∨ r i = 25 2 ∨ r i = 27 � 2 ) ∧ � � ¬ ( r i = r j ) ∧ i = 1 i = 1 j = i + 1 3 � ( x i + r i ≤ 60 ∧ x i − r i ≥ 0 ∧ y i + r i ≤ 40 ∧ y i − r i ≥ 0) ∧ i = 1 2 3 ( x i − x j ) 2 + ( y i − y j ) 2 ≥ ( r i + r j ) 2 � � i = 1 j = i + 1 Erika ´ Abrah´ am - The Power of Satisfiability Checking 30 / 43
A pizza positioning example Z3, the currently most popular SMT solver, could not solve this problem within several minutes. 3 2 3 ( r i = 13 ∨ r i = 10 ∨ r i = 25 2 ∨ r i = 27 � 2 ) ∧ � � ¬ ( r i = r j ) ∧ i = 1 i = 1 j = i + 1 3 � ( x i + r i ≤ 60 ∧ x i − r i ≥ 0 ∧ y i + r i ≤ 40 ∧ y i − r i ≥ 0) ∧ i = 1 2 3 ( x i − x j ) 2 + ( y i − y j ) 2 ≥ ( r i + r j ) 2 � � i = 1 j = i + 1 Erika ´ Abrah´ am - The Power of Satisfiability Checking 30 / 43
A pizza positioning example Z3, the currently most popular SMT solver, could not solve this problem within several minutes. Combining interval constraint propagation and virtual substitution using SMT-RAT finished in a seond! 3 2 3 ( r i = 13 ∨ r i = 10 ∨ r i = 25 2 ∨ r i = 27 � 2 ) ∧ � � ¬ ( r i = r j ) ∧ i = 1 i = 1 j = i + 1 3 � ( x i + r i ≤ 60 ∧ x i − r i ≥ 0 ∧ y i + r i ≤ 40 ∧ y i − r i ≥ 0) ∧ i = 1 2 3 ( x i − x j ) 2 + ( y i − y j ) 2 ≥ ( r i + r j ) 2 � � i = 1 j = i + 1 Erika ´ Abrah´ am - The Power of Satisfiability Checking 30 / 43
Some other key issues Heuristics!!! Lemma generation Efficient data structures . . . Erika ´ Abrah´ am - The Power of Satisfiability Checking 31 / 43
Part I: Some historical notes Part II: One of the major ingredients of success: Strategic combinations of decision procedures ...in SAT solving... ...in SMT solving... ...in theory solving. Part III: How satisfiability checking drives the digital world Erika ´ Abrah´ am - The Power of Satisfiability Checking 32 / 43
Embedding SAT/SMT solvers Environment Software Solution engine Logical SAT/SMT problem Problem solver specification Erika ´ Abrah´ am - The Power of Satisfiability Checking 33 / 43
Embedding SAT/SMT solvers Environment Software Solution engine Logical SAT/SMT problem Problem solver specification Encoding: SAT/SMT-LIB standard elaborate encoding is extremely important! Erika ´ Abrah´ am - The Power of Satisfiability Checking 33 / 43
Embedding SAT/SMT solvers Environment Software Solution engine Logical SAT/SMT problem Problem solver specification Encoding: SAT/SMT-LIB standard elaborate encoding is extremely important! standard input syntax → free solver choice Erika ´ Abrah´ am - The Power of Satisfiability Checking 33 / 43
Embedding SAT/SMT solvers Environment Software Solution engine Logical SAT/SMT problem Problem solver specification Encoding: SAT/SMT-LIB standard elaborate encoding is extremely important! standard input syntax → free solver choice In the following: applications of SMT solvers Erika ´ Abrah´ am - The Power of Satisfiability Checking 33 / 43
Bounded model checking for C/C++ Source: D. Kroening. CBMC home page. http://www.cprover.org/cbmc/ Erika ´ Abrah´ am - The Power of Satisfiability Checking 34 / 43
Bounded model checking for C/C++ Logical encoding of finite unsafe paths Source: D. Kroening. CBMC home page. http://www.cprover.org/cbmc/ Erika ´ Abrah´ am - The Power of Satisfiability Checking 34 / 43
Bounded model checking for C/C++ Logical encoding of finite unsafe paths Encoding idea: Init ( s 0 ) ∧ Trans ( s 0 , s 1 ) ∧ . . . ∧ Trans ( s k − 1 , s k ) ∧ Bad ( s 0 , . . . , s k ) Source: D. Kroening. CBMC home page. http://www.cprover.org/cbmc/ Erika ´ Abrah´ am - The Power of Satisfiability Checking 34 / 43
Bounded model checking for C/C++ Logical encoding of finite unsafe paths Encoding idea: Init ( s 0 ) ∧ Trans ( s 0 , s 1 ) ∧ . . . ∧ Trans ( s k − 1 , s k ) ∧ Bad ( s 0 , . . . , s k ) Application examples: Error localisation and explanation Equivalence checking Test case generation Worst-case execution time Source: D. Kroening. CBMC home page. http://www.cprover.org/cbmc/ Erika ´ Abrah´ am - The Power of Satisfiability Checking 34 / 43
BMC for graph transformation systems Source: T. Isenberg, D. Steenken, and H. Wehrheim. Bounded Model Checking of Graph Transformation Systems via SMT Solving. In Proc. FMOODS/FORTE’13. Erika ´ Abrah´ am - The Power of Satisfiability Checking 35 / 43
BMC for graph transformation systems Encode initial and forbidden state graphs and the graph transformation rules in first-order logic. ↓ Apply bounded model checking Source: T. Isenberg, D. Steenken, and H. Wehrheim. Bounded Model Checking of Graph Transformation Systems via SMT Solving. In Proc. FMOODS/FORTE’13. Erika ´ Abrah´ am - The Power of Satisfiability Checking 35 / 43
Hybrid systems reachability analysis Source: D. Bryce, J. Sun, P . Zuliani, Q. Wang, S. Gao, F. Shmarov, S. Kong, W. Chen, Z. Tavares. dReach home page. http://dreal.github.io/dReach/ Erika ´ Abrah´ am - The Power of Satisfiability Checking 36 / 43
Termination analysis for programs Source: T. Str¨ oder, C. Aschermann, F. Frohn, J. Hensel, J. Giesl. AProVE: Termination and memory safety of C programs (competition contribution). In Proc. TACAS’15. Erika ´ Abrah´ am - The Power of Satisfiability Checking 37 / 43
Termination analysis for programs Term rewrite system Source: T. Str¨ oder, C. Aschermann, F. Frohn, J. Hensel, J. Giesl. AProVE: Termination and memory safety of C programs (competition contribution). In Proc. TACAS’15. Erika ´ Abrah´ am - The Power of Satisfiability Checking 37 / 43
Termination analysis for programs Term rewrite system Term rewrite system Dependency pairs Chains Logical encoding for well-founded orders. Source: T. Str¨ oder, C. Aschermann, F. Frohn, J. Hensel, J. Giesl. AProVE: Termination and memory safety of C programs (competition contribution). In Proc. TACAS’15. Erika ´ Abrah´ am - The Power of Satisfiability Checking 37 / 43
jUnit RV : Runtime verification of multi-threaded, object-oriented systems Properties: linear temporal logics enriched with first-order theories Method: SMT solving + classical monitoring Source: N. Decker, M. Leucker, D. Thoma. Monitoring modulo theories. International Journal on Software Tools for Technology Transfer, 18(2):205-225, April 2016. Erika ´ Abrah´ am - The Power of Satisfiability Checking 38 / 43
Planning Source: E. Scala, M. Ramirez, P . Haslum, S. Thiebaux. Numeric planning with disjunctive global constraints via SMT. In Proc. of ICASP’16. Erika ´ Abrah´ am - The Power of Satisfiability Checking 39 / 43
Scheduling Source: C. Ans´ otegui, M. Bofill, M. Palah´ ı, J. Suy, M. Villaret. Satisfiability modulo theories: An efficient approach for the resource-constrained project scheduling problem. Proc. of SARA’11. Erika ´ Abrah´ am - The Power of Satisfiability Checking 40 / 43
Deployment optimisation on the cloud Location (e.g, VMs, PCs, ...) Depoloyable Components User Constraints HTTP_Load_Balancer MySQL WordPress MySQL_1 WordPress_1 HTTP_Load_Balancer_1 WordPress_2 MySQL_2 WordPress_3 Source: E. ´ Abrah´ am, F. Corzilius, E. Broch Johnsen, G. Kremer, J. Mauro. Zephyrus2: On the fly deployment optimization using SMT and CP technologies. Submitted to SETTA’16. Erika ´ Abrah´ am - The Power of Satisfiability Checking 41 / 43
Parameter synthesis for probabilistic systems . Katoen, E. ´ Source: C. Dehnert, S. Junges, N. Jansen, F. Corzilius, M. Volk, H. Bruintjes, J.-P Abrah´ am. PROPhESY: A probabilistic parameter synthesis tool. In Proc. of CAV’15. Erika ´ Abrah´ am - The Power of Satisfiability Checking 42 / 43
Recommend
More recommend