Logics for Specification and Verification St ephane Demri LSV, ENS - - PowerPoint PPT Presentation
Logics for Specification and Verification St ephane Demri LSV, ENS - - PowerPoint PPT Presentation
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
2
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion
Outline
Logic in computer science Formal verification Querying languages Modal languages Overview Varia around LTL LTL over concrete domains Regularity constraints Memoryful linear-time logics LTL over concrete domains A binding mechanism Main results Graph constraints Path constraints Presburger modal logic A selection of perspectives Counter automata Semistructured data Programs with pointers Conclusion
St´ ephane Demri Logics for Specification and Verification
3
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Formal verification Querying languages Modal languages
Logic in computer science
St´ ephane Demri Logics for Specification and Verification
4
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Formal verification Querying languages Modal languages
Verification at the heart of computer science
◮ Digital systems are everywhere.
Desktops, embedded systems, cellular phones, etc.
St´ ephane Demri Logics for Specification and Verification
4
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Formal verification Querying languages Modal languages
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, . . . )
St´ ephane Demri Logics for Specification and Verification
4
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Formal verification Querying languages Modal languages
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]
St´ ephane Demri Logics for Specification and Verification
5
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Formal verification Querying languages Modal languages
From systems to models
◮ Systems are modelled as abstract operational models (counter
automata, timed automata, etc.).
St´ ephane Demri Logics for Specification and Verification
5
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Formal verification Querying languages Modal languages
From systems to models
◮ Systems are modelled as abstract operational models (counter
automata, timed automata, etc.).
q1 q2 q3 q4 q6 q5 x = y = 0,lift? dial? x > 0,connected? y ≤ x busy? hang? x = y, x′ = y′ = 0 x + +, quarter? x + +, quarter? y ≤ x, signal?,y + + y′ ≤ x, y + +, quarter!
St´ ephane Demri Logics for Specification and Verification
6
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Formal verification Querying languages Modal languages
Verification as a logical problem
◮ Properties are represented by logical formula.
“The system S never reaches a bad state” becomes ∀G¬bad.
St´ ephane Demri Logics for Specification and Verification
6
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Formal verification Querying languages Modal languages
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.
St´ ephane Demri Logics for Specification and Verification
6
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Formal verification Querying languages Modal languages
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 . . .
St´ ephane Demri Logics for Specification and Verification
6
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Formal verification Querying languages Modal languages
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.
St´ ephane Demri Logics for Specification and Verification
6
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Formal verification Querying languages Modal languages
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]
St´ ephane Demri Logics for Specification and Verification
6
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Formal verification Querying languages Modal languages
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]
St´ ephane Demri Logics for Specification and Verification
7
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Formal verification Querying languages Modal languages
Methodology
◮ System, property → model, logical formula.
St´ ephane Demri Logics for Specification and Verification
7
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Formal verification Querying languages Modal languages
Methodology
◮ System, property → model, logical formula. ◮ Logical problems:
◮ Decision problems (model-checking, validity, satisfiability, . . . ) ◮ Search problems (controller synthesis, query checking, . . . ) St´ ephane Demri Logics for Specification and Verification
7
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Formal verification Querying languages Modal languages
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. St´ ephane Demri Logics for Specification and Verification
7
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Formal verification Querying languages Modal languages
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) St´ ephane Demri Logics for Specification and Verification
7
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Formal verification Querying languages Modal languages
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) ◮ Variants such as fragments of generalizations
(e.g., one-clock ATA)
St´ ephane Demri Logics for Specification and Verification
8
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Formal verification Querying languages Modal languages
Model-checking and temporal logic
◮ Temporal logic for specifying behaviors of reactive systems.
[Pnueli, FOCS 77]
St´ ephane Demri Logics for Specification and Verification
8
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Formal verification Querying languages Modal languages
Model-checking and temporal logic
◮ Temporal logic for specifying behaviors of reactive systems.
[Pnueli, FOCS 77]
◮ Model-checking approach:
◮ Computer system is modelled as a graph/model M. ◮ Specification is a temporal logic formula φ. ◮ Check whether M satisfies φ (M |
= φ).
St´ ephane Demri Logics for Specification and Verification
8
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Formal verification Querying languages Modal languages
Model-checking and temporal logic
◮ Temporal logic for specifying behaviors of reactive systems.
[Pnueli, FOCS 77]
◮ Model-checking approach:
◮ Computer system is modelled as a graph/model M. ◮ Specification is a temporal logic formula φ. ◮ Check whether M satisfies φ (M |
= φ).
◮ Automata-based approach
(G¨
- del prize 2000) [Vardi & Wolper, IC 94]
St´ ephane Demri Logics for Specification and Verification
8
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Formal verification Querying languages Modal languages
Model-checking and temporal logic
◮ Temporal logic for specifying behaviors of reactive systems.
[Pnueli, FOCS 77]
◮ Model-checking approach:
◮ Computer system is modelled as a graph/model M. ◮ Specification is a temporal logic formula φ. ◮ Check whether M satisfies φ (M |
= φ).
◮ Automata-based approach
(G¨
- del prize 2000) [Vardi & Wolper, IC 94]
◮ Early work on logic and automata.
[B¨ uchi, 62]
St´ ephane Demri Logics for Specification and Verification
9
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Formal verification Querying languages Modal languages
Another track about data
Data should be properly formatted:
◮ Exchanged XML documents on the web. ◮ Data exchanges between programs/protocols.
St´ ephane Demri Logics for Specification and Verification
9
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Formal verification Querying languages Modal languages
Another track about data
Data should be properly formatted:
◮ Exchanged XML documents on the web. ◮ Data exchanges between programs/protocols.
<bibliography name="HDR-D"> <book> <title> Modal Logic </title> <author> Blackburn </author> <author> de Rijke </author> <author> Venema </author> <publisher> Cambridge University Press </publisher> <year> 2001 </year> </book> <book language = "french"> <title> 1984 </title> <author> Orwell </author> <publisher> Gallimard </publisher> <year> 1950 </year> </book> </bibliography>
St´ ephane Demri Logics for Specification and Verification
10
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Formal verification Querying languages Modal languages
Tree representation
HDR-D ML Blackburn de Rijke Venema CUP 2001 french 1984 Orwell Gal. 1950 bibliography name book book title author ... ... publisher year language title author publisher year St´ ephane Demri Logics for Specification and Verification
11
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Formal verification Querying languages Modal languages
Querying languages for semistructured data
◮ Semistructured data:
◮ Relaxation of classical relational model. ◮ Schema-less (but need for delineating the meaningful data).
◮ Examples:
◮ XML documents ◮ Web pages with hypertext links
◮ Great variety of models/graphs:
◮ Trees vs Graphs ◮ Ordered vs Unorderded / Ranked vs Unranked trees ◮ With vs without data St´ ephane Demri Logics for Specification and Verification
12
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Formal verification Querying languages Modal languages
Logics and reasoning tasks
◮ Reasoning tasks:
◮ Querying (model-checking) ◮ integrity constraints (path constraints) ◮ type constraints (membership problem for regular tree
languages)
◮ Comparing type constraints for query optimization ◮ implication of path constraints ◮ equivalence between tree automata
◮ Languages
◮ XML Path language XPath for addressing part of an XML
document.
◮ MSO, modal µ-caculus ◮ first-order logic
[Boja´ nczyk et al., PODS 06]
◮ modal languages
[Alechina, TR 97; Calvanese & de Giacomo & Lenzerini, AAAI 98]
St´ ephane Demri Logics for Specification and Verification
13
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Formal verification Querying languages Modal languages
Effectiveness of logic in CS: other areas [Halpern et al., BSL 01]
Today the connections between logic and computers are a matter of engineering practice at every level of computer organization. [Davis, OUP 88].
St´ ephane Demri Logics for Specification and Verification
13
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Formal verification Querying languages Modal languages
Effectiveness of logic in CS: other areas [Halpern et al., BSL 01]
Today the connections between logic and computers are a matter of engineering practice at every level of computer organization. [Davis, OUP 88].
◮ Descriptive complexity: logic and complexity classes.
St´ ephane Demri Logics for Specification and Verification
13
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Formal verification Querying languages Modal languages
Effectiveness of logic in CS: other areas [Halpern et al., BSL 01]
Today the connections between logic and computers are a matter of engineering practice at every level of computer organization. [Davis, OUP 88].
◮ Descriptive complexity: logic and complexity classes. ◮ Logic as a database query language: SQL is a syntactic
variant of first-order logic.
St´ ephane Demri Logics for Specification and Verification
13
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Formal verification Querying languages Modal languages
Effectiveness of logic in CS: other areas [Halpern et al., BSL 01]
Today the connections between logic and computers are a matter of engineering practice at every level of computer organization. [Davis, OUP 88].
◮ Descriptive complexity: logic and complexity classes. ◮ Logic as a database query language: SQL is a syntactic
variant of first-order logic.
◮ Reasoning about knowledge, see e.g. [Hintikka, CUP 62].
St´ ephane Demri Logics for Specification and Verification
13
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Formal verification Querying languages Modal languages
Effectiveness of logic in CS: other areas [Halpern et al., BSL 01]
Today the connections between logic and computers are a matter of engineering practice at every level of computer organization. [Davis, OUP 88].
◮ Descriptive complexity: logic and complexity classes. ◮ Logic as a database query language: SQL is a syntactic
variant of first-order logic.
◮ Reasoning about knowledge, see e.g. [Hintikka, CUP 62]. ◮ etc.
St´ ephane Demri Logics for Specification and Verification
14
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Formal verification Querying languages Modal languages
Modal logic
◮ Modal languages
[Blackburn & de Rijke & Venema, CUP 01]
◮ Simple and sufficiently expressive to talk about relational
structures.
◮ Local view for the description of structures.
◮ Applications domains:
◮ formal verification: temporal logics, . . . ◮ knowledge representation: description and epistemic logics . . . ◮ mathematics: arithmetics, . . . ◮ linguistics St´ ephane Demri Logics for Specification and Verification
15
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Varia around LTL LTL over concrete domains Regularity constraints
Logic in computer science Formal verification Querying languages Modal languages Overview Varia around LTL LTL over concrete domains Regularity constraints Memoryful linear-time logics LTL over concrete domains A binding mechanism Main results Graph constraints Path constraints Presburger modal logic A selection of perspectives Counter automata Semistructured data Programs with pointers Conclusion
St´ ephane Demri Logics for Specification and Verification
16
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Varia around LTL LTL over concrete domains Regularity constraints
Varia around LTL
◮ Model-checking and satisfiability for LTL fragments.
[D. & Schnoebelen, IC 02]
St´ ephane Demri Logics for Specification and Verification
16
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Varia around LTL LTL over concrete domains Regularity constraints
Varia around LTL
◮ Model-checking and satisfiability for LTL fragments.
[D. & Schnoebelen, IC 02]
◮ Model-checking for PC + Wolper-like operator
{an · b · cn · d : n ≥ 0} is Σ1
1-complete.
St´ ephane Demri Logics for Specification and Verification
16
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Varia around LTL LTL over concrete domains Regularity constraints
Varia around LTL
◮ Model-checking and satisfiability for LTL fragments.
[D. & Schnoebelen, IC 02]
◮ Model-checking for PC + Wolper-like operator
{an · b · cn · d : n ≥ 0} is Σ1
1-complete. ◮ Parameterized complexity for symbolic model-checking.
[D. & Laroussinie & Schnoebelen, JSCC 06]
St´ ephane Demri Logics for Specification and Verification
16
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Varia around LTL LTL over concrete domains Regularity constraints
Varia around LTL
◮ Model-checking and satisfiability for LTL fragments.
[D. & Schnoebelen, IC 02]
◮ Model-checking for PC + Wolper-like operator
{an · b · cn · d : n ≥ 0} is Σ1
1-complete. ◮ Parameterized complexity for symbolic model-checking.
[D. & Laroussinie & Schnoebelen, JSCC 06]
◮ Automata-based approach for LTL over ωk-sequences.
[D. & Nowak, IJFCS 06; D. & Rabinovich, Submitted]
St´ ephane Demri Logics for Specification and Verification
16
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Varia around LTL LTL over concrete domains Regularity constraints
Varia around LTL
◮ Model-checking and satisfiability for LTL fragments.
[D. & Schnoebelen, IC 02]
◮ Model-checking for PC + Wolper-like operator
{an · b · cn · d : n ≥ 0} is Σ1
1-complete. ◮ Parameterized complexity for symbolic model-checking.
[D. & Laroussinie & Schnoebelen, JSCC 06]
◮ Automata-based approach for LTL over ωk-sequences.
[D. & Nowak, IJFCS 06; D. & Rabinovich, Submitted]
◮ LTL properties over admissible counter systems
[Finkel et al., ATVA 06]
St´ ephane Demri Logics for Specification and Verification
17
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Varia around LTL LTL over concrete domains Regularity constraints
Verification of qualitative and quantitative properties
◮ LTL over concrete domains
[D. & D’Souza, IC 07]
◮ Fragments of Presburger LTL.
◮ Decidable fragments.
[D. & Gascon, CONCUR 05]
◮ Undecidable fragments.
[D. & Gascon, TIME 07]
◮ Memoryful linear-time temporal logics.
◮ Freeze operator and equality constraints.
[D. & Lazi´ c, LICS 06; D. & Lazi´ c & Nowak, IC 07]
◮ Decidable version with repeating values.
[D. & D’Souza & Gascon, LFCS 07]
◮ Model-checking problems.
[D. & Lazi´ c & Sangnier, On-going]
St´ ephane Demri Logics for Specification and Verification
18
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Varia around LTL LTL over concrete domains Regularity constraints
Regularity constraints
◮ Hybrid modal logic for path constraints.
[Alechina & D. & de Rijke, JLC 03]
◮ Presburger modal logic for trees
[D. & Lugiez, IJCAR 06]
◮ Dynamic logic of permission
[D., JLC 05]
◮ Complexity of regular modal logics
◮ Translation into guarded fragment with two variables.
[D. & de Nivelle, JoLLI 05]
◮ PSpace or ExpTime bounds.
(many papers)
St´ ephane Demri Logics for Specification and Verification
19
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion LTL over concrete domains A binding mechanism Main results
Selection 1: memoryful linear-time logics
St´ ephane Demri Logics for Specification and Verification
20
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion LTL over concrete domains A binding mechanism Main results
Standard LTL
◮ Formulae: φ ::= p | Xφ | φUφ | ¬φ | φ ∧ φ. ◮ Models: σ : N → P(PROP). ◮ Satisfaction relation: σ, i |
= φ. Xφ φ Xφ: next-time φ φ1Uφ2,φ1 φ1 φ1 φ1 φ2 φ1Uφ2: φ1 until φ2
St´ ephane Demri Logics for Specification and Verification
21
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion LTL over concrete domains A binding mechanism Main results
Complexity issues for LTL
◮ φ → Aφ
[Vardi & Wolper, IC 94]
◮ models of φ = L(Aφ). ◮ |Aφ| is in 2O(|φ|).
◮ Model-checking and satisfiability are PSpace-complete.
[Sistla & Clarke, JACM 85]
◮ Extended temporal logic is also PSpace-complete.
[Wolper, IC 83; Vardi & Wolper, IC 94]
St´ ephane Demri Logics for Specification and Verification
22
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion LTL over concrete domains A binding mechanism Main results
LTL over concrete domains
◮ Constraint system D = (D, (Rα)α∈I). ◮ Examples: (N, =, <), (N, =, succ), (R, =, <), ({0, 1}∗, ≺, =) ◮ Atomic constraint: R(x1, . . . , xt), xi ∈ VAR.
St´ ephane Demri Logics for Specification and Verification
22
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion LTL over concrete domains A binding mechanism Main results
LTL over concrete domains
◮ Constraint system D = (D, (Rα)α∈I). ◮ Examples: (N, =, <), (N, =, succ), (R, =, <), ({0, 1}∗, ≺, =) ◮ Atomic constraint: R(x1, . . . , xt), xi ∈ VAR. ◮ Logic CLTL(D):
◮ Formulae: φ ::= R(Xn1x1, . . . , Xntxt) | Xφ | φUφ | . . .. ◮ Models: σ : N → (VAR → D). ◮ σ, j |
= R(Xn1x1, . . . , Xntxt) iff (
value of x1 in the j+n1th state
- σ(j + n1)(x1)
, . . . , σ(j + nt)(xt)) ∈ R i.e. values at different states can be compared.
St´ ephane Demri Logics for Specification and Verification
23
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion LTL over concrete domains A binding mechanism Main results
Problems
◮ Satisfiability: given a formula φ, is there a model σ such that
σ, 0 | = φ?
◮ Existential model-checking:
Xx = x + 1 Xx = x − 1 Xx = 2 | = (x = 0) ∧ GF(x = 0)
St´ ephane Demri Logics for Specification and Verification
24
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion LTL over concrete domains A binding mechanism Main results
Analogous formalisms
◮ Temporal logics with Presburger constraints
◮ constraints on the number of event occurrences
[Bouajjani & Echahed & Habermehl, LICS 95]
◮ LTL with counters [Comon & Cortier, CSL 00]
◮ Description logics with concrete domains
[Baader & Hanschke, IJCAI 91; Lutz, ToCL 04]
◮ Spatio-temporal logics
[Balbiani & Condotta, FROCOS 02; Gabbay et al., book 03]
St´ ephane Demri Logics for Specification and Verification
25
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion LTL over concrete domains A binding mechanism Main results
Fragments of Presburger LTL
◮ Model-checking for CLTL(N, = 0?, +1) is undecidable
[Minsky, Book 67].
◮ Model-checking for CLTL(Z, <, =, ≡k, = d?) is
PSpace-complete [D. & D’Souza, IC 07; D. & Gascon, CONCUR 05]
◮ Branching-time extensions in [Gascon, thesis 07]. ◮ Open problem: decidability status for CLTL({0, 1}∗, ≺, =).
St´ ephane Demri Logics for Specification and Verification
26
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion LTL over concrete domains A binding mechanism Main results
Temporal logics with memory
◮ Real-time logic TPTL
[Alur & Henzinger, JACM 94]
◮ MTL
[Koymans, RTS 90]
◮ Fin. MTL is decidable
[Ouaknine & Worrell, LICS 05]
◮ Inf. MTL is undecidable
[Ouaknine & Worrell, FOSSACS 06]
St´ ephane Demri Logics for Specification and Verification
26
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion LTL over concrete domains A binding mechanism Main results
Temporal logics with memory
◮ Real-time logic TPTL
[Alur & Henzinger, JACM 94]
◮ MTL
[Koymans, RTS 90]
◮ Fin. MTL is decidable
[Ouaknine & Worrell, LICS 05]
◮ Inf. MTL is undecidable
[Ouaknine & Worrell, FOSSACS 06]
◮ LTL with forgettable past
[Laroussinie & Markey & Schnoebelen, LICS 02] p Now XG−1p, p p p G−1p,p
St´ ephane Demri Logics for Specification and Verification
27
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion LTL over concrete domains A binding mechanism Main results
Freeze quantifier in hybrid logics
◮ ↓x φ: φ holds true in the variant model where x is true only at
the current state [Blackburn & Seligman, JoLLI 95; Goranko, JoLLI 96].
◮ Every reachable state can be visited infinitely often:
∀G ↓x ∃XFx.
∀G ↓x ∃XFx
St´ ephane Demri Logics for Specification and Verification
28
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion LTL over concrete domains A binding mechanism Main results
LTL with memory
◮ Formulae:
φ ::= Xix = Xjx′ | ↓z=X
jy φ | Xφ | φUφ | ¬φ | . . .
where x, x′ ∈ VARf ∪ VARr, z ∈ VARr, y ∈ VARf .
St´ ephane Demri Logics for Specification and Verification
28
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion LTL over concrete domains A binding mechanism Main results
LTL with memory
◮ Formulae:
φ ::= Xix = Xjx′ | ↓z=X
jy φ | Xφ | φUφ | ¬φ | . . .
where x, x′ ∈ VARf ∪ VARr, z ∈ VARr, y ∈ VARf .
◮ Infinite models: σ : N → (VARf → N).
St´ ephane Demri Logics for Specification and Verification
28
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion LTL over concrete domains A binding mechanism Main results
LTL with memory
◮ Formulae:
φ ::= Xix = Xjx′ | ↓z=X
jy φ | Xφ | φUφ | ¬φ | . . .
where x, x′ ∈ VARf ∪ VARr, z ∈ VARr, y ∈ VARf .
◮ Infinite models: σ : N → (VARf → N). ◮ σ, i |
=e↓z=X
jy φ def
⇔ σ, i | =e′ φ with e′ = e[z ← σ(i + j)(y)].
St´ ephane Demri Logics for Specification and Verification
28
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion LTL over concrete domains A binding mechanism Main results
LTL with memory
◮ Formulae:
φ ::= Xix = Xjx′ | ↓z=X
jy φ | Xφ | φUφ | ¬φ | . . .
where x, x′ ∈ VARf ∪ VARr, z ∈ VARr, y ∈ VARf .
◮ Infinite models: σ : N → (VARf → N). ◮ σ, i |
=e↓z=X
jy φ def
⇔ σ, i | =e′ φ with e′ = e[z ← σ(i + j)(y)].
◮ Properties
◮ Repeating value: ↓z=x XF(z = x). ◮ Nonce property: G(↓z=x XG(z = x)). St´ ephane Demri Logics for Specification and Verification
29
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion LTL over concrete domains A binding mechanism Main results
Undecidability results
◮ Undecidability:
◮ Satisfiability for LTL↓(X, U) restricted to one flexible variable
and two rigid variables is Σ1
1-complete.
[D. & Lazi´ c & Nowak, IC 07]
◮ By reduction from recurrent reachability problem for
nondeterministic Minsky machines.
◮ See also
[Lisitsa & Potapov, TIME 05]
St´ ephane Demri Logics for Specification and Verification
29
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion LTL over concrete domains A binding mechanism Main results
Undecidability results
◮ Undecidability:
◮ Satisfiability for LTL↓(X, U) restricted to one flexible variable
and two rigid variables is Σ1
1-complete.
[D. & Lazi´ c & Nowak, IC 07]
◮ By reduction from recurrent reachability problem for
nondeterministic Minsky machines.
◮ See also
[Lisitsa & Potapov, TIME 05]
◮ Restriction to one rigid variable:
[D. & Lazi´ c, LICS 06]
◮ Satisfiability for LTL↓(X, U) restricted to one flexible variable
and to one rigid variable is Π0
1-complete.
◮ By reduction from infinitary nonemptiness for incrementing
counter automata (subclass of ICMETs).
St´ ephane Demri Logics for Specification and Verification
30
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion LTL over concrete domains A binding mechanism Main results
A decidability result
◮ Satisfiability for LTL↓(X, U) over finite models restricted to
- ne flexible variable and to one rigid variable is decidable but
not primitive recursive.
St´ ephane Demri Logics for Specification and Verification
30
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion LTL over concrete domains A binding mechanism Main results
A decidability result
◮ Satisfiability for LTL↓(X, U) over finite models restricted to
- ne flexible variable and to one rigid variable is decidable but
not primitive recursive.
◮ Decidability proof in two steps:
- 1. From formulae to alternating register automata.
- 2. From alternating register automata with a unique register to
incrementing counter automata. See also [Lasota & Walukiewicz, FOSSACS 05; Ouaknine & Worrell, LICS 05].
St´ ephane Demri Logics for Specification and Verification
30
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion LTL over concrete domains A binding mechanism Main results
A decidability result
◮ Satisfiability for LTL↓(X, U) over finite models restricted to
- ne flexible variable and to one rigid variable is decidable but
not primitive recursive.
◮ Decidability proof in two steps:
- 1. From formulae to alternating register automata.
- 2. From alternating register automata with a unique register to
incrementing counter automata. See also [Lasota & Walukiewicz, FOSSACS 05; Ouaknine & Worrell, LICS 05].
◮ Non primitive recursiveness is also proved in two steps
- 1. Finitary nonemptiness for incrementing counter automata is
non PR by adapting [Schnoebelen, IPL 02].
- 2. This problem can be reduced in logspace to satisfiability in
LTL↓(X, U) restricted to one rigid variable.
St´ ephane Demri Logics for Specification and Verification
31
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion LTL over concrete domains A binding mechanism Main results
Summary (with one flexible variable)
Models Finite Infinite Number of rigid variables 1 2 1 2 X, F D, not PR Σ0
1-C
Π0
1-C
Σ1
1-C
X, U D, not PR Σ0
1-C
Π0
1-C
Σ1
1-C
X, F, F−1 Σ0
1-C
Σ0
1-C
Σ1
1-C
Σ1
1-C
St´ ephane Demri Logics for Specification and Verification
32
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion LTL over concrete domains A binding mechanism Main results
First-order languages and automata
◮ Register automata
◮ Finite-memory automata
[Kaminsky & Francez, TCS 94]
◮ Data automata
[Bouyer & Petit & Th´ erien, IC 03]
◮ See also
[(D. & Lazi´ c; Boja´ nczyk et al.), LICS 06]
St´ ephane Demri Logics for Specification and Verification
32
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion LTL over concrete domains A binding mechanism Main results
First-order languages and automata
◮ Register automata
◮ Finite-memory automata
[Kaminsky & Francez, TCS 94]
◮ Data automata
[Bouyer & Petit & Th´ erien, IC 03]
◮ See also
[(D. & Lazi´ c; Boja´ nczyk et al.), LICS 06]
◮ First-order languages
◮ FO2(∼, <, +1) over data words equivalent to reachability in
Petri nets. [Boja´ nczyk et al., LICS 06]
◮ Decidable fragments over data trees. ◮ Survey in [Segoufin, CSL 06]. St´ ephane Demri Logics for Specification and Verification
33
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion LTL over concrete domains A binding mechanism Main results
Decidable logic CLTL⋄ with repeating values
◮ Formulae:
φ ::= x = Xiy | x = ⋄y | φ ∧ φ | ¬φ | Xφ | φUφ | X−1φ | φSφ x = X2x x = ⋄x
St´ ephane Demri Logics for Specification and Verification
33
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion LTL over concrete domains A binding mechanism Main results
Decidable logic CLTL⋄ with repeating values
◮ Formulae:
φ ::= x = Xiy | x = ⋄y | φ ∧ φ | ¬φ | Xφ | φUφ | X−1φ | φSφ x = X2x x = ⋄x
◮ Finitary and infinitary satisfiability for CLTL⋄ is decidable.
[D. & D’Souza & Gascon, LFCS 07]
◮ By reduction to checking fairness conditions in Petri nets.
[Janˇ car, TCS 90]
◮ PSpace-completeness with a unique flexible variable. ◮ Decidability is preserved with MSO-definable operators. St´ ephane Demri Logics for Specification and Verification
34
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion LTL over concrete domains A binding mechanism Main results
Other decidable problems
◮ Safety fragment:
◮ No U in the scope of an even number of negations. ◮ Infinitary satisfiability for the safety fragment of CLTL↓(X, U)
with one rigid variable, one flexible variable and an alphabet is ExpSpace-complete. [Lazi´ c, FSTTCS 06]
◮ Finitary satisfiability has the same complexity as CLTL↓(X, U)
with one rigid variable.
◮ Branching extension:
◮ Modal µ-calculus with freeze quantification and one register
- ver finite data trees is decidable.
[Jurdzi´ nski & Lazi´ c, LICS 07]
◮ See also
[Boja´ nczyk et al., PODS 06]
St´ ephane Demri Logics for Specification and Verification
35
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion LTL over concrete domains A binding mechanism Main results
Model-checking problems [D. & Lazi´ c & Sangnier, On-going]
◮ Runs of Minsky machines can be viewed as data words:
(q0, c0), . . . , (qn, cn)
◮ Model-checking problem over deterministic one-counter
Minsky machines with CLTL↓(X, U) is PSpace-complete (with finite or infinite runs)
◮ Model-checking problem over non-deterministic one-counter
Minsky machines with CLTL↓(X, U) is undecidable (with finite or infinite runs).
◮ What happens with other operational models (stack
automata, etc.)?
St´ ephane Demri Logics for Specification and Verification
36
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Path constraints Presburger modal logic
Selection 2: graph constraints
St´ ephane Demri Logics for Specification and Verification
37
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Path constraints Presburger modal logic
Reasoning tasks for semistructured data
◮ Querying (model-checking)
◮ Integrity constraints, e.g. path constraints (a · b)∗ ⊆ (c ∪ e). ◮ Type constraints.
E.g., membership problem for regular tree languages.
◮ Comparing constraints (validity)
◮ Emptiness problem for a Boolean expression built over
constraints. E.g., implication of path constraints a ⊆ b | = a · c ⊆ b · c, equivalence between tree automata.
◮ Comparing integrity constraints given type constraints. St´ ephane Demri Logics for Specification and Verification
38
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Path constraints Presburger modal logic
Modal approach
◮ Schemes subsumption encoded into a hybrid modal logic.
[Alechina, TR 97]
◮ Schemes subsumption encoded into a description logic.
[Calvanese & de Giacomo & Lenzerini, AAAI 98]
◮ DTD with well-typed references encoded into a hybrid modal
logic with binder ↓ [Bidoit & Cerrito & Thion, JANCL 04]
◮ Path constraints encoded into fragments of hybrid modal
logics. [Franceschet & de Rijke, JAL 06]
◮ XPath queries and equivalence problem encoded into PDL
- ver finite node labelled ordered trees. [Marx, TABLEAUX 03]
St´ ephane Demri Logics for Specification and Verification
39
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Path constraints Presburger modal logic
Path constraints
◮ Integrity constraints from [Abiteboul & Vianu, PODS 97] ◮ Interests of regular path expressions:
◮ They give semantical information on the data. ◮ They are used for query optimization.
◮ Regular path expressions:
p ::= a | ǫ | p + p | p∗ | p; p | ♯.
◮ Simple path expressions: p ::= a | ǫ | p; p.
St´ ephane Demri Logics for Specification and Verification
40
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Path constraints Presburger modal logic
Models
◮ Rooted edge labeled connected graphs:
◮ (XML) Documents with pointers (id/idref attributes). ◮ Web pages with hyperlinks.
◮ Σ-structure: G = (S, rt, (Ra)a∈Σ) ◮ deterministic vs non-deterministic structures.
St´ ephane Demri Logics for Specification and Verification
41
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Path constraints Presburger modal logic
Path constraints
rt p q y
❘ ✒
rt p q y
❘ ■
rt
✲
r y p q z
❘ ✒
(a) forward constraint (b) backward const. (c) lollipop const.
St´ ephane Demri Logics for Specification and Verification
41
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Path constraints Presburger modal logic
Path constraints
rt p q y
❘ ✒
rt p q y
❘ ■
rt
✲
r y p q z
❘ ✒
(a) forward constraint (b) backward const. (c) lollipop const.
◮ Query evaluation problem for a class C of path constraints:
instance: a finite Σ-structure G and a constraint c in C; question: G | = c?
St´ ephane Demri Logics for Specification and Verification
41
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Path constraints Presburger modal logic
Path constraints
rt p q y
❘ ✒
rt p q y
❘ ■
rt
✲
r y p q z
❘ ✒
(a) forward constraint (b) backward const. (c) lollipop const.
◮ Query evaluation problem for a class C of path constraints:
instance: a finite Σ-structure G and a constraint c in C; question: G | = c?
◮ Containment problem for a class C of path constraints:
instance: constraints c1, . . . , cn+1, n ≥ 0, in C; question: is it the case that for every Σ-structure G, G | = c1 and . . . and G | = cn imply G | = cn+1?
St´ ephane Demri Logics for Specification and Verification
42
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Path constraints Presburger modal logic
Some results
◮ The containment problem for forward constraints is in
ExpSpace. [Abiteboul & Vianu, PODS 97]
◮ The containment problem for forward constraints with simple
path expressions is in PTIME. [Abiteboul & Vianu, PODS 97]
◮ The containment problem for lollipop constraints with simple
path expressions is undecidable. [Buneman & Fan & Weinstein, PODS 98]
St´ ephane Demri Logics for Specification and Verification
43
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Path constraints Presburger modal logic
PDLpath
A PDL-like logic to encode problems on standard path constraints.
◮ Formulae (we allow p−1):
⊤ | ⊥ | root | ¬φ | φ ∧ φ | [p]φ | pφ
◮ no propositional variables, a unique nominal root. ◮ Models: Σ-structures ◮ Satisfiability/validity problem (at the root).
St´ ephane Demri Logics for Specification and Verification
44
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Path constraints Presburger modal logic
About PDLpath
◮ The model checking problem for PDLpath is
PTime-complete.
◮ The satisfiability and validity problems for PDLpath are in
ExpTime (by translation into CPDL with nominals).
◮ The satisfiability problem for PDLpath is ExpTime-hard
whenever |Σ| ≥ 1.
St´ ephane Demri Logics for Specification and Verification
44
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Path constraints Presburger modal logic
About PDLpath
◮ The model checking problem for PDLpath is
PTime-complete.
◮ The satisfiability and validity problems for PDLpath are in
ExpTime (by translation into CPDL with nominals).
◮ The satisfiability problem for PDLpath is ExpTime-hard
whenever |Σ| ≥ 1.
◮ Some consequences:
◮ The query evaluation problem for the class of path constraints
is NLogSpace-complete both for deterministic and non-deterministic graphs.
◮ The containment problem for forward constraints is in
ExpTime, while it is at least PSpace-hard if |Σ| ≥ 2.
St´ ephane Demri Logics for Specification and Verification
45
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Path constraints Presburger modal logic
An open problem
Complexity of containment problem for forward constraints and for backward constraints?
◮ Over multi-root structures the containement problem
restricted to instances of the form c1, . . . , cn+1 such that for i ∈ {1, . . . , n}, ci is of the form pi ⊆f qi and qi is a word, is PSpace-complete. [Debarbieux, thesis 05]
◮ Use of prefix rewriting techniques. [Dauchet & Tison, LICS 90] St´ ephane Demri Logics for Specification and Verification
46
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Path constraints Presburger modal logic
Presburger constraints on graphs/trees
◮ Constraints in counter automata. ◮ Constraints on the number of event occurrences.
[Bouajjani & Echahed & Habermehl, LICS 95]
◮ Constraints on XML documents.
[Dal Zilio & Lugiez, RTA 03; Seidl et al., ICALP 04]
◮ Graded modal logics (♦≥3 p).
[Fine, NDJFL 72]
◮ Description logics ((≥ 3 R · C)). [Hollunder & Baader, KR 91] ◮ Hennessy-Milner Logic (HML).
St´ ephane Demri Logics for Specification and Verification
47
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Path constraints Presburger modal logic
Presburger constraints in graphs
u1 | = φ1 u2 | = φ2 u3 | = φ1 ∧ φ2 u4 | = φ1 u u | = ♯φ1 = ♯φ2 + 1.
St´ ephane Demri Logics for Specification and Verification
48
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Path constraints Presburger modal logic
Logics that count in PSpace
◮ Minimal graded modal logic.
[Tobies, CADE 99]
◮ Majority logic.
[Pacuit & Salame, KR 04]
◮ Rank-1 modal logics.
[Schr¨
- der & Pattinson, LICS 06]
◮ Constraints on sets with cardinalities.
[Kuncak & Manette & Rinard, Dagstuhl 05 ]
St´ ephane Demri Logics for Specification and Verification
49
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Path constraints Presburger modal logic
Presburger modal logic
◮ Modal logic with quantifier-free Presburger constraints is
PSpace-complete. [D. & Lugiez, IJCAR 06]
St´ ephane Demri Logics for Specification and Verification
49
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Path constraints Presburger modal logic
Presburger modal logic
◮ Modal logic with quantifier-free Presburger constraints is
PSpace-complete. [D. & Lugiez, IJCAR 06]
◮ This PSpace upper bound can be preserved with a bit of
regularity constraints.
St´ ephane Demri Logics for Specification and Verification
49
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Path constraints Presburger modal logic
Presburger modal logic
◮ Modal logic with quantifier-free Presburger constraints is
PSpace-complete. [D. & Lugiez, IJCAR 06]
◮ This PSpace upper bound can be preserved with a bit of
regularity constraints.
◮ An undecidable extension:
◮ Mix of PML and PDLtree.
[Afanasiev et al., JANCL 05]
◮ Models: finite labeled unranked ordered trees. ◮ Relation symbols: Σ = {↓, ↓∗, →, →∗, ←, ←∗, ↑, ↑∗} ◮ Formulas: ◮ φ ::= p | ¬φ | φ ∧ φ | t ∼ b ◮ t ::= a × ♯Rφ | t + a × ♯Rφ, St´ ephane Demri Logics for Specification and Verification
50
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Counter automata Semistructured data Programs with pointers
A selection of perspectives: resource logics and verification
St´ ephane Demri Logics for Specification and Verification
50
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Counter automata Semistructured data Programs with pointers
A selection of perspectives: resource logics and verification
programs with pointers counter automata data logics
St´ ephane Demri Logics for Specification and Verification
51
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Counter automata Semistructured data Programs with pointers
Verification of counter automata
Broad goal: to determine classes of counter automata with effective verification
◮ Counter automata and data logics. ◮ Admissible counter systems and MSO properties. ◮ Complexity of reachability problems for subclasses of counter
automata.
St´ ephane Demri Logics for Specification and Verification
52
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Counter automata Semistructured data Programs with pointers
Querying semistructured data
Broad goal: to design algorithms to query documents with data
- ver enriched languages
◮ What are the tractable fragments of branching-time
memoryful temporal logics.
◮ Presburger constraints on XML documents with data. ◮ Complexity issues for problems with path constraints.
St´ ephane Demri Logics for Specification and Verification
53
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion Counter automata Semistructured data Programs with pointers
Reasoning about programs with pointers
Broad goal: to design temporal languages to specify the behaviors
- f pointer programs
◮ To combine an assertion language from separation logic with
linear-time/branching-time temporal logics. See e.g.,[Brochenin & D. & Lozes, LFCS 07]
◮ Analysis of high-level properties on abstract models. ◮ Comparison with existing logical formalisms for memory?
◮ Pointer assertion logic (WS2S + invariants). [Jensen et al. 97] ◮ TVLA (3-valued logic).
[Lev-Ami & Sagiv, SAS’00]
◮ Logic of Reachable Patterns.
[Yorsh et al., FOSSACS’06]
◮ Evolution Logic
[Yahav et al., ESOP’03]
St´ ephane Demri Logics for Specification and Verification
54
Logic in computer science Overview Memoryful linear-time logics Graph constraints A selection of perspectives Conclusion
Concluding remarks
◮ Ubiquity of logical formalisms
◮ Formal verification of computer systems. ◮ Database query languages. ◮ Reasoning about knowledge.
◮ A grand challenge
Security issues on Internet: Combining Model-checking & Databases Theory.
St´ ephane Demri Logics for Specification and Verification