Logics for Specification and Verification St ephane Demri LSV, ENS - - PowerPoint PPT Presentation

logics for specification and verification
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Logics for Specification and Verification

St´ ephane Demri

LSV, ENS Cachan, CNRS, INRIA

June 19th, 2007 1

slide-2
SLIDE 2

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

slide-3
SLIDE 3

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

slide-4
SLIDE 4

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

slide-5
SLIDE 5

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

slide-6
SLIDE 6

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

slide-7
SLIDE 7

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

slide-8
SLIDE 8

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

slide-9
SLIDE 9

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

slide-10
SLIDE 10

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

slide-11
SLIDE 11

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

slide-12
SLIDE 12

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

slide-13
SLIDE 13

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

slide-14
SLIDE 14

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

slide-15
SLIDE 15

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

slide-16
SLIDE 16

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

slide-17
SLIDE 17

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

slide-18
SLIDE 18

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

slide-19
SLIDE 19

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

slide-20
SLIDE 20

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

slide-21
SLIDE 21

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

slide-22
SLIDE 22

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

slide-23
SLIDE 23

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

slide-24
SLIDE 24

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

slide-25
SLIDE 25

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

slide-26
SLIDE 26

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

slide-27
SLIDE 27

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

slide-28
SLIDE 28

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

slide-29
SLIDE 29

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

slide-30
SLIDE 30

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

slide-31
SLIDE 31

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

slide-32
SLIDE 32

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

slide-33
SLIDE 33

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

slide-34
SLIDE 34

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

slide-35
SLIDE 35

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

slide-36
SLIDE 36

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

slide-37
SLIDE 37

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

slide-38
SLIDE 38

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

slide-39
SLIDE 39

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

slide-40
SLIDE 40

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

slide-41
SLIDE 41

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

slide-42
SLIDE 42

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

slide-43
SLIDE 43

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

slide-44
SLIDE 44

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

slide-45
SLIDE 45

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

slide-46
SLIDE 46

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

slide-47
SLIDE 47

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

slide-48
SLIDE 48

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

slide-49
SLIDE 49

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

slide-50
SLIDE 50

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

slide-51
SLIDE 51

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

slide-52
SLIDE 52

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

slide-53
SLIDE 53

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

slide-54
SLIDE 54

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

slide-55
SLIDE 55

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

slide-56
SLIDE 56

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

slide-57
SLIDE 57

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

slide-58
SLIDE 58

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

slide-59
SLIDE 59

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

slide-60
SLIDE 60

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

slide-61
SLIDE 61

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

slide-62
SLIDE 62

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

slide-63
SLIDE 63

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

slide-64
SLIDE 64

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

slide-65
SLIDE 65

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

slide-66
SLIDE 66

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

slide-67
SLIDE 67

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

slide-68
SLIDE 68

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

slide-69
SLIDE 69

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

slide-70
SLIDE 70

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

slide-71
SLIDE 71

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

slide-72
SLIDE 72

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

slide-73
SLIDE 73

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

slide-74
SLIDE 74

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

slide-75
SLIDE 75

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

slide-76
SLIDE 76

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

slide-77
SLIDE 77

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

slide-78
SLIDE 78

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

slide-79
SLIDE 79

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

slide-80
SLIDE 80

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

slide-81
SLIDE 81

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

slide-82
SLIDE 82

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

slide-83
SLIDE 83

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

slide-84
SLIDE 84

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

slide-85
SLIDE 85

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

slide-86
SLIDE 86

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

slide-87
SLIDE 87

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

slide-88
SLIDE 88

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

slide-89
SLIDE 89

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

slide-90
SLIDE 90

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

slide-91
SLIDE 91

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

slide-92
SLIDE 92

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

slide-93
SLIDE 93

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

slide-94
SLIDE 94

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