Logics for Specification and Verification St´ ephane Demri LSV, ENS Cachan, CNRS, INRIA June 19th, 2007 1
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Outline Logic in computer science Memoryful linear-time logics Formal verification LTL over concrete domains Querying languages A binding mechanism Modal languages Main results Overview Graph constraints Varia around LTL Path constraints LTL over concrete domains Presburger modal logic Regularity constraints A selection of perspectives Counter automata Semistructured data Programs with pointers Conclusion 2 St´ ephane Demri Logics for Specification and Verification
Logic in computer science Overview Formal verification Memoryful linear-time logics Querying languages Graph constraints Modal languages A selection of perspectives Conclusion Logic in computer science 3 St´ ephane Demri Logics for Specification and Verification
Logic in computer science Overview Formal verification Memoryful linear-time logics Querying languages Graph constraints Modal languages A selection of perspectives Conclusion Verification at the heart of computer science ◮ Digital systems are everywhere. Desktops, embedded systems, cellular phones, etc. 4 St´ ephane Demri Logics for Specification and Verification
Logic in computer science Overview Formal verification Memoryful linear-time logics Querying languages Graph constraints Modal languages A selection of perspectives Conclusion Verification at the heart of computer science ◮ Digital systems are everywhere. Desktops, embedded systems, cellular phones, etc. ◮ Needs for verifying functional/security properties: ◮ Hardware components ◮ Software (programs, communication protocols, web applications, . . . ) 4 St´ ephane Demri Logics for Specification and Verification
Logic in computer science Overview Formal verification Memoryful linear-time logics Querying languages Graph constraints Modal languages A selection of perspectives Conclusion Verification at the heart of computer science ◮ Digital systems are everywhere. Desktops, embedded systems, cellular phones, etc. ◮ Needs for verifying functional/security properties: ◮ Hardware components ◮ Software (programs, communication protocols, web applications, . . . ) Formal verification is a process in which mathematical techniques are used to guarantee the correctness of a design with respect to some specified behavior. [Halpern et al., BSL 01] 4 St´ ephane Demri Logics for Specification and Verification
Logic in computer science Overview Formal verification Memoryful linear-time logics Querying languages Graph constraints Modal languages A selection of perspectives Conclusion From systems to models ◮ Systems are modelled as abstract operational models (counter automata, timed automata, etc.). 5 St´ ephane Demri Logics for Specification and Verification
Logic in computer science Overview Formal verification Memoryful linear-time logics Querying languages Graph constraints Modal languages A selection of perspectives Conclusion From systems to models ◮ Systems are modelled as abstract operational models (counter automata, timed automata, etc.). x + +, quarter? x + +, quarter? y ≤ x , signal?, y + + x = y = 0,lift? x > 0,connected? dial? q 1 q 2 q 3 q 4 busy? y ≤ x x = y , x ′ = y ′ = 0 q 6 q 5 hang? y ′ ≤ x , y + +, quarter! 5 St´ ephane Demri Logics for Specification and Verification
Logic in computer science Overview Formal verification Memoryful linear-time logics Querying languages Graph constraints Modal languages A selection of perspectives Conclusion Verification as a logical problem ◮ Properties are represented by logical formula. “The system S never reaches a bad state” becomes ∀ G ¬ bad . 6 St´ ephane Demri Logics for Specification and Verification
Logic in computer science Overview Formal verification Memoryful linear-time logics Querying languages Graph constraints Modal languages A selection of perspectives Conclusion Verification as a logical problem ◮ Properties are represented by logical formula. “The system S never reaches a bad state” becomes ∀ G ¬ bad . ◮ Logical problems involve abstract models and formulae. 6 St´ ephane Demri Logics for Specification and Verification
Logic in computer science Overview Formal verification Memoryful linear-time logics Querying languages Graph constraints Modal languages A selection of perspectives Conclusion Verification as a logical problem ◮ Properties are represented by logical formula. “The system S never reaches a bad state” becomes ∀ G ¬ bad . ◮ Logical problems involve abstract models and formulae. ◮ Development of procedures to solve these problems. automata, analytic proof systems, ad-hoc methods . . . 6 St´ ephane Demri Logics for Specification and Verification
Logic in computer science Overview Formal verification Memoryful linear-time logics Querying languages Graph constraints Modal languages A selection of perspectives Conclusion Verification as a logical problem ◮ Properties are represented by logical formula. “The system S never reaches a bad state” becomes ∀ G ¬ bad . ◮ Logical problems involve abstract models and formulae. ◮ Development of procedures to solve these problems. automata, analytic proof systems, ad-hoc methods . . . ◮ Ultimate goal: automatic verification. 6 St´ ephane Demri Logics for Specification and Verification
Logic in computer science Overview Formal verification Memoryful linear-time logics Querying languages Graph constraints Modal languages A selection of perspectives Conclusion Verification as a logical problem ◮ Properties are represented by logical formula. “The system S never reaches a bad state” becomes ∀ G ¬ bad . ◮ Logical problems involve abstract models and formulae. ◮ Development of procedures to solve these problems. automata, analytic proof systems, ad-hoc methods . . . ◮ Ultimate goal: automatic verification. ◮ There are theoretical limits for this entreprise. ◮ The halting problem for Turing machines is undecidable. [Turing, 37] 6 St´ ephane Demri Logics for Specification and Verification
Logic in computer science Overview Formal verification Memoryful linear-time logics Querying languages Graph constraints Modal languages A selection of perspectives Conclusion Verification as a logical problem ◮ Properties are represented by logical formula. “The system S never reaches a bad state” becomes ∀ G ¬ bad . ◮ Logical problems involve abstract models and formulae. ◮ Development of procedures to solve these problems. automata, analytic proof systems, ad-hoc methods . . . ◮ Ultimate goal: automatic verification. ◮ There are theoretical limits for this entreprise. ◮ The halting problem for Turing machines is undecidable. [Turing, 37] ◮ The set of valid first-order formulae is undecidable. [Church, JSL 36] 6 St´ ephane Demri Logics for Specification and Verification
Logic in computer science Overview Formal verification Memoryful linear-time logics Querying languages Graph constraints Modal languages A selection of perspectives Conclusion Methodology ◮ System, property �→ model, logical formula. 7 St´ ephane Demri Logics for Specification and Verification
Logic in computer science Overview Formal verification Memoryful linear-time logics Querying languages Graph constraints Modal languages A selection of perspectives Conclusion Methodology ◮ System, property �→ model, logical formula. ◮ Logical problems: ◮ Decision problems (model-checking, validity, satisfiability, . . . ) ◮ Search problems (controller synthesis, query checking, . . . ) 7 St´ ephane Demri Logics for Specification and Verification
Logic in computer science Overview Formal verification Memoryful linear-time logics Querying languages Graph constraints Modal languages A selection of perspectives Conclusion Methodology ◮ System, property �→ model, logical formula. ◮ Logical problems: ◮ Decision problems (model-checking, validity, satisfiability, . . . ) ◮ Search problems (controller synthesis, query checking, . . . ) ◮ Analysis of the computational resources to solve the problems ◮ Decision procedures vs. undecidability. ◮ Complexity in time or memory space. 7 St´ ephane Demri Logics for Specification and Verification
Logic in computer science Overview Formal verification Memoryful linear-time logics Querying languages Graph constraints Modal languages A selection of perspectives Conclusion Methodology ◮ System, property �→ model, logical formula. ◮ Logical problems: ◮ Decision problems (model-checking, validity, satisfiability, . . . ) ◮ Search problems (controller synthesis, query checking, . . . ) ◮ Analysis of the computational resources to solve the problems ◮ Decision procedures vs. undecidability. ◮ Complexity in time or memory space. ◮ Classification ◮ Generalizing the models or logics (e.g., ETL) ◮ Fragments with better computational properties (e.g., FO2) 7 St´ ephane Demri Logics for Specification and Verification
Recommend
More recommend