IOF, ACSys and WMSO+U St´ ephane Demri CNRS – Marie Curie Fellow Groupe de travail INFINI, January 2015
Overview 1 Marie Curie Fellowship IOF 2 ACSys Group Temporal Logics on Strings 3 2
Marie Curie Fellowship IOF 3 Marie Curie Fellowship IOF
International Outgoing Fellowship (IOF) • Funding to carry out research abroad. • IOFs are for researchers from EU member states. • Minimal requirement: PhD. • Outgoing phasis (1 or 2 years) + return phasis (1 year). • Individual fellowships. 4 Marie Curie Fellowship IOF
Non-flat (but flattable) system for Marie Curie fellowships Marie Curie Actions Research Fellowship Program is a EU initiative to promote research and innovation. IOF IEF EU EU IIF 5 Marie Curie Fellowship IOF
Application form • Research program ( ≤ 8 pages) This includes presentation of host institutions. • Extended CV ( ≤ 7 pages). • Training objectives ( ≤ 2 pages). • Implementation ( ≤ 6 pages). • Impact ( ≤ 4 pages). • Deadline: so far early august (notification in december). Project can start up to 1 year after the final signature. • Acceptance rate: ∼ 15%. 6 Marie Curie Fellowship IOF
ACSys Group 7 ACSys Group
ACSys members • Analysis of Computer Systems group (ACSys) is part of Courant Institute of Mathematical Sciences (CIMS), New York University. • Faculty: Clark Barrett , Patrick Cousot, Ben Goldberg, Thomas Wies, Lenore Zuck. • Research fellow / visiting positions: Morgan Deters, Dejan Jovanovic, Eric Koskinen, Daniel Schwartz-Narbonne. • Ph.D. Students: Kshitij Bansal, Junjie Chen, Liana Hadarean, Tim King, Siddharth Krishna, Zvonimir Pavlinovic, Chanseok Oh, Wei Wang. 8 ACSys Group
CVC4 group • CVC4: open-source automatic theorem prover for satisfiability modulo theories (SMT) problems. See Morgan’s slides or CVC4 web page. • Members at NYU: Clark Barrett , Morgan Deters, Kshitij Bansal, Liana Hadarean, Tim King. • Members at Iowa University and other places: Cesare Tinelli , Tianyi Liang, Andrew Reynolds, Dejan Jovanovic, Franc ¸ois Bobot, etc. • Leader among SMT solvers (performances, diversity of theories, participation to international standards such as SMT-LIB, etc.). 9 ACSys Group
Other places in the area • Courant Institute of Mathematical Sciences (CIMS). • CUNY (S. Artemov, M. Fitting, R. Parikh). • Yale University (R. Piskac) • Columbia University • Princeton (New Jersey), MIT (Boston, Main), UPenn (Philadelphia, Pensylvania). 10 ACSys Group
Overview of my research program there • Temporal logics modulo theories. See the second part of the talk. • Decision procedures for fragments of separation logic. 1 Two-variable fragment. [Demri & Deters, CSL-LICS’14] 2 One-variable fragment. [CSR’14] 3 Survey paper. [Demri & Deters, AIML ’14] • Verification of integer programs with SMT solvers. 1 Prototype: path schema enumeration. 2 Amit’s PhD thesis. 3 Survey paper. [Barrett & Demri & Deters, FROCOS’13] 11 ACSys Group
Temporal Logics on Strings Joint work with Morgan Deters (New York University) See also recent LSV technical report online. 12 Temporal Logics on Strings
Reasoning about strings • Need for string reasoning: program verification, analysis of web applications, etc. • Theory solvers for strings. [Liang et al. – Abdulla et al., CAV’14; Hutagalung & Lange, CSR’14] • Solving word equations. [Makanin, Math. 77; Plandowski, JACM 04] • What about reasoning on sequences of strings ? 13 Temporal Logics on Strings
LTL on strings: LTL (Σ ∗ , � p ) • String variables SVAR = { x 1 , x 2 , . . . } . (x ∈ SVAR , w ∈ Σ ∗ ) • Terms: t ::= w | x | X x • Formulae: t � p t ′ | ¬ φ | φ ∧ φ | X φ | φ U φ ::= φ • Example: GF (( 001 � p x ) ∨ ( x � p 1001 )) ∧ G ( ¬ ( x � p X x )) 14 Temporal Logics on Strings
A model with Σ = { 0 , 1 } x 1 000 011110 ε 1111 . . . x 2 101 010001 010001 00 . . . | = F ( x 2 � p X x 3 ) x 3 00 111 010001101 ε . . . 15 Temporal Logics on Strings
The case Σ = { 0 } def = LTL (Σ ∗ , � p ) with Σ = { 0 } . • LTL ( N , ≤ ) • Satisfiability problem for LTL ( N , ≤ ) is PS PACE -complete. [Demri & D’Souza, IC 07; Demri & Gascon, TCS 08] See also [Segoufin & Torunczyk, STACS’11] • The PS PACE upper bound is preserved with several LTL extensions or with richer numerical constraints (but no successor relation). 16 Temporal Logics on Strings
Logic LTL (Σ ∗ , clen ) • clen ( w , w ′ ) : length of the longest common prefix between w and w ′ in Σ ∗ . = clen ( t 0 , t ′ 0 ) ≤ clen ( t 1 , t ′ σ, i | 1 ) def ⇔ clen ([ t 0 ] i , [ t ′ 0 ] i ) ≤ clen ([ t 1 ] i , [ t ′ 1 ] i ) • Reduction from LTL (Σ ∗ , � p ) to LTL (Σ ∗ , clen ) . t � p t ′ �→ clen ( t , t ) ≤ clen ( t , t ′ ) . • In the sequel either Σ = [ 0 , k − 1 ] for some k ≥ 1 or Σ = N . 17 Temporal Logics on Strings
Symbolic models for LTL ( N , ≤ ) . . . x 1 • • • • • = < < < = = < = < = < . . . x 2 • • • • • = = = = = = x 3 . . . • • • • • | = symb XX ( x 1 < X x 2 ) = = < < = = = = . . . • • • • • 1 < < < < < = = = = . . . • • • • • 0 + Local consistency between two consecutive positions. 18 Temporal Logics on Strings
Rephrasing the satisfiability property φ is LTL ( N , ≤ ) satisfiable iff there is a symbolic model σ such that σ | = symb φ and σ has a concrete interpretation in N 19 Temporal Logics on Strings
Characterisation for LTL ( N , ≤ ) • Usual notion of path π between two nodes. • Strict length of the path π : slen ( π ) = number of edges labelled by < . • Strict length between � x , i � and � x ′ , i ′ � : slen ( � x , i � , � x ′ , i ′ � ) = sup { slen ( π ) : path π from � x , i � to � x ′ , i ′ �} def • Symbolic model σ has a concrete interpretation iff any pair of nodes has a finite strict length. [Cerans, ICALP’94; Demri & D’Souza, IC 07] [Gascon, PhD thesis 07;Carapelle & Kartzow & Lohrey, CONCUR’13] 20 Temporal Logics on Strings
When WMSO+U enters into the play • There are formulae φ in LTL ( N , ≤ ) for which the set of symbolic models satisfying φ symbolically and having a concrete interpretation is not ω -regular. [Demri & D’Souza, IC 07] def • σ | = U X φ ⇔ for every b ∈ N , there is a finite Y with card ( Y ) ≥ b such that σ | = φ ( Y ) . def = ¬ U X φ . B X φ [Boja´ ’04; Boja´ nczyk, CSL nczyk & Colcombet, LICS’06] • Symbolic models for LTL ( N , ≤ ) having a concrete interpretation can be characterized by a formula in Bool(MSO,WMSO+U). • This leads to decidability of CTL ⋆ ( N , ≤ ) . [Carapelle & Kartzow & Lohrey, CONCUR’13] (based on [Boja´ nczyk, STACS’12] ) nczyk & Toru´ 21 Temporal Logics on Strings
Back to strings Simple but essential properties for clen ( · ) 0 0 0 1 0 2 w 1 0 0 0 0 w 2 → clen ( w 1 , w 2 ) ≤ len ( w 1 ) 0 0 0 1 0 2 w 0 0 0 0 0 1 3 5 6 w 1 0 0 0 2 1 4 w 2 . . . 0 0 0 3 1 3 w k → ∃ i , j ∈ [ 1 , k ] such that clen ( w 0 , w 1 ) < clen ( w i , w j ) (Pigeonhole Principle – card (Σ) = k ≥ 2) 0 0 0 1 0 2 0 0 0 0 1 3 5 w 0 0 0 0 0 1 3 5 and w 1 0 0 0 0 1 4 w 1 w 2 → clen ( w 0 , w 1 ) = clen ( w 0 , w 2 ) 22 Temporal Logics on Strings
String compatible counter valuations • Counter valuation c : { clen ( t , t ′ ) : t , t ′ ∈ T } → N . • String-compatibility: � ( clen ( t , t ) ≥ clen ( t , t ′ )) t , t ′ ∈ T � � (( ( clen ( t 0 , t 1 ) < clen ( t i , t i ))) ∧ clen ( t 0 , t 1 ) = · · · = clen ( t 0 , t k )) t 0 ,..., t k ∈ T i ∈ [ 0 , k ] � ⇒ ( ( clen ( t 0 , t 1 ) < clen ( t i , t j ))) i � = j ∈ [ 1 , k ] � ( clen ( t , t ′ ) < clen ( t ′ , t ′′ )) ⇒ ( clen ( t , t ′ ) = clen ( t , t ′′ )) t , t ′ , t ′′ ∈ T • Size in O (( q + r ) k + 2 ) with card ( T ) = q + r . 23 Temporal Logics on Strings
Characterisation • String compatibility is equivalent to the existence of a string valuation witnessing the values of the counters clen ( t , t ′ ) . • The exact statement is a bit more complex to be used after in the translation from LTL (Σ ∗ , clen ) to LTL ( N , ≤ ) . • Checking satisfiability of Boolean combinations of prefix constraints is NP-complete. (upper bound by reduction into QF Presburger arithmetic) • PS PACE can be obtained using word equations and Plandowski’s PS PACE upper bound. (suffix constraints can be added at no cost) 24 Temporal Logics on Strings
Translation • Formula φ with constant strings w 1 , . . . , w q and, string variables x 1 , . . . , x r . def • For all i , j ∈ [ 1 , q ] , c i , j = clen ( w i , w j ) . def • T = { y 1 , . . . , y q } ∪ { x 1 , . . . , x r } ∪ { X x 1 , . . . , X x r } . • φ subst : replace each w i by y i . 1 • φ rig def = G ( � i , j ∈ [ 1 , q ] ( clen ( y i , y j ) = c i , j )) . 2 25 Temporal Logics on Strings
Recommend
More recommend