IMHOTEP-SMT: A Satisfiability Modulo Theory Solver For Secure State - - PowerPoint PPT Presentation

imhotep smt a satisfiability modulo theory solver for
SMART_READER_LITE
LIVE PREVIEW

IMHOTEP-SMT: A Satisfiability Modulo Theory Solver For Secure State - - PowerPoint PPT Presentation

IMHOTEP-SMT: A Satisfiability Modulo Theory Solver For Secure State Estimation Yasser Shoukry 1 Pierluigi Nuzzo 2 , Alberto Puggelli 2 , Alberto Sangiovani-Vincentelli 2 , Sanjit A. Seshia 2 , Mani Srivastava 1 , and Paulo Tabuada 1 1 EE Department


slide-1
SLIDE 1

IMHOTEP-SMT: A Satisfiability Modulo Theory Solver For Secure State Estimation

Yasser Shoukry1 Pierluigi Nuzzo2, Alberto Puggelli2, Alberto Sangiovani-Vincentelli2, Sanjit A. Seshia2, Mani Srivastava1, and Paulo Tabuada1

1EE Department University of California Los Angeles 2EECS Department, University of California Berkeley Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 1 / 30

slide-2
SLIDE 2

Motivation: Sensor Attacks

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 2 / 30

slide-3
SLIDE 3

Motivation: Noninvasive Spoofing Sensor Attacks

  • Y. Shoukry, P

. D. Martin, P . Tabuada, and M. B. Srivastava, “Noninvasive Spoofing Attacks for Anti-Lock Braking Systems,” in Workshop on Cryptographic Hardware and Embedded Systems 2013. Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 3 / 30

slide-4
SLIDE 4

Motivation: Noninvasive Spoofing Sensor Attacks

  • Y. Shoukry, P

. D. Martin, P . Tabuada, and M. B. Srivastava, “Noninvasive Spoofing Attacks for Anti-Lock Braking Systems,” in Workshop on Cryptographic Hardware and Embedded Systems 2013. Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 3 / 30

slide-5
SLIDE 5

Motivation: Noninvasive Spoofing Sensor Attacks

  • Y. Shoukry, P

. D. Martin, P . Tabuada, and M. B. Srivastava, “Noninvasive Spoofing Attacks for Anti-Lock Braking Systems,” in Workshop on Cryptographic Hardware and Embedded Systems 2013. Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 3 / 30

slide-6
SLIDE 6

Motivation: Noninvasive Spoofing Sensor Attacks

  • Y. Shoukry, P

. D. Martin, P . Tabuada, and M. B. Srivastava, “Noninvasive Spoofing Attacks for Anti-Lock Braking Systems,” in Workshop on Cryptographic Hardware and Embedded Systems 2013. Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 4 / 30

slide-7
SLIDE 7

Secure State Estimation Problem

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 5 / 30

slide-8
SLIDE 8

Secure State Estimation Problem

A total of p sensors monitor the state of the physical system (y(t) ∈ Rp): y(t) = Cx(t) + ψ(t)

  • noise

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 6 / 30

slide-9
SLIDE 9

Secure State Estimation Problem

A total of p sensors monitor the state of the physical system (y(t) ∈ Rp): y(t) = Cx(t) + ψ(t)

  • noise

+ a(t)

  • attack

vector

. Some sensors are attacked: ai(t) = 0 − → sensor i is attacked at time t ∈ N;

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 6 / 30

slide-10
SLIDE 10

Secure State Estimation Problem

A total of p sensors monitor the state of the physical system (y(t) ∈ Rp): y(t) = Cx(t) + ψ(t)

  • noise

+ a(t)

  • attack

vector

. Some sensors are attacked: ai(t) = 0 − → sensor i is attacked at time t ∈ N; If sensor i is attacked, ai(t) can be arbitrary (no boundedness assumption, no stochastic model, etc.).

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 6 / 30

slide-11
SLIDE 11

Secure State Estimation Problem

A total of p sensors monitor the state of the physical system (y(t) ∈ Rp): y(t) = Cx(t) + ψ(t)

  • noise

+ a(t)

  • attack

vector

. Some sensors are attacked: ai(t) = 0 − → sensor i is attacked at time t ∈ N; If sensor i is attacked, ai(t) can be arbitrary (no boundedness assumption, no stochastic model, etc.). Set of attacked sensors is unknown and has cardinality s.

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 6 / 30

slide-12
SLIDE 12

Secure State Estimation Problem

A total of p sensors monitor the state of the physical system (y(t) ∈ Rp): y(t) = Cx(t) + ψ(t)

  • noise

+ a(t)

  • attack

vector

. Some sensors are attacked: ai(t) = 0 − → sensor i is attacked at time t ∈ N; If sensor i is attacked, ai(t) can be arbitrary (no boundedness assumption, no stochastic model, etc.). Set of attacked sensors is unknown and has cardinality s. The value of s is also unknown although we assume the knowledge of an upper bound s.

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 6 / 30

slide-13
SLIDE 13

Secure State Estimation Problem

A total of p sensors monitor the state of the physical system (y(t) ∈ Rp): y(t) = Cx(t) + ψ(t)

  • noise

+ a(t)

  • attack

vector

. Some sensors are attacked: ai(t) = 0 − → sensor i is attacked at time t ∈ N; If sensor i is attacked, ai(t) can be arbitrary (no boundedness assumption, no stochastic model, etc.). Set of attacked sensors is unknown and has cardinality s. The value of s is also unknown although we assume the knowledge of an upper bound s. Objective: estimate the state of the physical system x(t) ∈ Rn.

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 6 / 30

slide-14
SLIDE 14

Secure State Estimation Problem

A total of p sensors monitor the state of the physical system (y(t) ∈ Rp): y(t) = Cx(t) + ψ(t)

  • noise

+ a(t)

  • attack

vector

. Some sensors are attacked: ai(t) = 0 − → sensor i is attacked at time t ∈ N; If sensor i is attacked, ai(t) can be arbitrary (no boundedness assumption, no stochastic model, etc.). Set of attacked sensors is unknown and has cardinality s. The value of s is also unknown although we assume the knowledge of an upper bound s. Objective: estimate the state of the physical system x(t) ∈ Rn. Example: a car with two states position, velocity and three sensors:   yGPS(t) yodometer(t) yIMU(t)   =   1 1 1   p(t) v(t)

  • +

  ψGPS(t) ψodometer(t) ψIMU(t)   +   aodometer(t)   s = 1

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 6 / 30

slide-15
SLIDE 15

Secure State Estimation Problem

A total of p sensors monitor the state of the physical system (y(t) ∈ Rp): y(t) = Cx(t) + ψ(t)

  • noise

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 7 / 30

slide-16
SLIDE 16

Secure State Estimation Problem

A total of p sensors monitor the state of the physical system (y(t) ∈ Rp): y(t) = Cx(t) + ψ(t)

  • noise

+ a(t)

  • attack

vector

. Although sensors are heterogeneous, the physical quantities they measure are correlated.

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 7 / 30

slide-17
SLIDE 17

Secure State Estimation Problem

A total of p sensors monitor the state of the physical system (y(t) ∈ Rp): y(t) = Cx(t) + ψ(t)

  • noise

+ a(t)

  • attack

vector

. Although sensors are heterogeneous, the physical quantities they measure are correlated. Example: a car with two states position, velocity and three sensors:   yGPS(t) yodometer(t) yIMU(t)   =   1 1 1   p(t) v(t)

  • +

  ψGPS(t) ψodometer(t) ψIMU(t)   +   aodometer(t)   s = 1 v(t) ≃ (p(t) − p(t − 1))/(Ts)

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 7 / 30

slide-18
SLIDE 18

Secure State Estimation Problem

A total of p sensors monitor the state of the physical system (y(t) ∈ Rp): y(t) = Cx(t) + ψ(t)

  • noise

+ a(t)

  • attack

vector

. Although sensors are heterogeneous, the physical quantities they measure are correlated. Physical system modeled as a discrete-time linear dynamical system: x(t + 1) = Ax(t) + Bu(t) + µ(t).

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 7 / 30

slide-19
SLIDE 19

Secure State Estimation Problem

A total of p sensors monitor the state of the physical system (y(t) ∈ Rp): y(t) = Cx(t) + ψ(t)

  • noise

+ a(t)

  • attack

vector

. Although sensors are heterogeneous, the physical quantities they measure are correlated. Physical system modeled as a discrete-time linear dynamical system: x(t + 1) = Ax(t) + Bu(t) + µ(t). This model: Captures adversarial attacks, non-adversarial faults, cooperative and non-cooperative attacks, ... Does not depend on how the sensor measurements are corrupted (e.g. sensor-level spoofing, spoofing communication channel, ...).

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 7 / 30

slide-20
SLIDE 20

Secure State Estimation Problem

A total of p sensors monitor the state of the physical system (y(t) ∈ Rp): y(t) = Cx(t) + ψ(t)

  • noise

+ a(t)

  • attack

vector

. Although sensors are heterogeneous, the physical quantities they measure are correlated. Physical system modeled as a discrete-time linear dynamical system: x(t + 1) = Ax(t) + Bu(t) + µ(t). This model: Captures adversarial attacks, non-adversarial faults, cooperative and non-cooperative attacks, ... Does not depend on how the sensor measurements are corrupted (e.g. sensor-level spoofing, spoofing communication channel, ...). For sake of simplicity, in this talk, I will consider the noise-free case (ψ(t) = µ(t) = 0 ).

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 7 / 30

slide-21
SLIDE 21

Related work

Optimization Based Techniques

  • H. Fawzi, P

. Tabuada, and S. Diggavi, “Secure estimation and control for cyber-physical systems under adversarial attacks,” TAC, 2014.

  • M. Pajic, J. Weimer, N. Bezzo, P

. Tabuada, O. Sokolsky,

  • I. Lee, and G. Pappas, “Robustness of attack-resilient

state estimators,” ICCPS, 2014.

  • Y. Mo and R. Murray, “Multi-dimensional state estimation

in adversarial environment,” CCC 2015.

  • F. Pasqualetti, F. Dorfler, and F. Bullo, “Attack detection

and identification in cyber-physical systems,” TAC, 2013.

  • Y. Shoukry and P

. Tabuada, “Event-Triggered State Observers for Sparse Sensor Noise/Attacks,” ArXiv, 2013.

Because of the combinatorial nature

  • f secure state estimation, the

resulting problem is non-convex. Option 1: Solve via brute force. Scales poorly with number of sensors. Option 2: Relax the problem. Results in unsound algorithms.

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 8 / 30

slide-22
SLIDE 22

Related work

Optimization Based Techniques

  • H. Fawzi, P

. Tabuada, and S. Diggavi, “Secure estimation and control for cyber-physical systems under adversarial attacks,” TAC, 2014.

  • M. Pajic, J. Weimer, N. Bezzo, P

. Tabuada, O. Sokolsky,

  • I. Lee, and G. Pappas, “Robustness of attack-resilient

state estimators,” ICCPS, 2014.

  • Y. Mo and R. Murray, “Multi-dimensional state estimation

in adversarial environment,” CCC 2015.

  • F. Pasqualetti, F. Dorfler, and F. Bullo, “Attack detection

and identification in cyber-physical systems,” TAC, 2013.

  • Y. Shoukry and P

. Tabuada, “Event-Triggered State Observers for Sparse Sensor Noise/Attacks,” ArXiv, 2013.

Because of the combinatorial nature

  • f secure state estimation, the

resulting problem is non-convex. Option 1: Solve via brute force. Scales poorly with number of sensors. Option 2: Relax the problem. Results in unsound algorithms. Satisfiability Based Techniques

  • M. Rahman, E. Al-Saher, R.G. Kavasseri, “A formal

model for verifying the impact of stealthy attacks on

  • ptimal power flow in power grid,” ICCPS, 2014.

Use a Satisfiability Modulo Theory (SMT) solver (e.g. Z3, UCLID, ..). SMT solvers handle combinatorial problems more favorably. But, SMT solvers do not handle real-valued variables well.

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 8 / 30

slide-23
SLIDE 23

Our Work

Neither optimization “alone” nor satisfiability “alone” scales well.

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 9 / 30

slide-24
SLIDE 24

Our Work

Neither optimization “alone” nor satisfiability “alone” scales well. In this work: Split the reasoning between the two domains (Booleans and Reals). Use the best tool from each domain.

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 9 / 30

slide-25
SLIDE 25

Our Work

Neither optimization “alone” nor satisfiability “alone” scales well. In this work: Split the reasoning between the two domains (Booleans and Reals). Use the best tool from each domain. SAT/SMT + Convex optimization

?

= New tool.

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 9 / 30

slide-26
SLIDE 26

Problem Formulation

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 10 / 30

slide-27
SLIDE 27

Problem Formulation

System Dynamics: Σa

  • x(t + 1)

= Ax(t) + Bu(t), y(t) = Cx(t) + a(t)

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 11 / 30

slide-28
SLIDE 28

Problem Formulation

System Dynamics: Σa

  • x(t + 1)

= Ax(t) + Bu(t), y(t) = Cx(t) + a(t) Collect τ measurements:      yi(t − τ + 1) yi(t − τ) . . . yi(t)      − F      u(t − τ + 1) u(t − τ) . . . u(t)     

  • Yi

=      Ci CiA . . . CiAτ−1     

  • Oi

x +      ai(t − τ + 1) ai(t − τ) . . . ai(t)     

  • Ei

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 11 / 30

slide-29
SLIDE 29

Problem Formulation

System Dynamics: Σa

  • x(t + 1)

= Ax(t) + Bu(t), y(t) = Cx(t) + a(t) Collect τ measurements: Yi =

  • Oix + Ei

if sensor i is under attack, Oix if sensor i is attack-free

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 11 / 30

slide-30
SLIDE 30

Problem Formulation

System Dynamics: Σa

  • x(t + 1)

= Ax(t) + Bu(t), y(t) = Cx(t) + a(t) Collect τ measurements: Yi =

  • Oix + Ei

if sensor i is under attack, Oix if sensor i is attack-free For each individual sensor, we define a binary indicator variable bi ∈ B such that bi = 1 when the ith sensor is under attack and bi = 0 otherwise.

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 11 / 30

slide-31
SLIDE 31

Problem Formulation

System Dynamics: Σa

  • x(t + 1)

= Ax(t) + Bu(t), y(t) = Cx(t) + a(t) Collect τ measurements: Yi =

  • Oix + Ei

if sensor i is under attack, Oix if sensor i is attack-free For each individual sensor, we define a binary indicator variable bi ∈ B such that bi = 1 when the ith sensor is under attack and bi = 0 otherwise.

Problem

(Secure State Estimation) For the linear control system under attack Σa, construct an estimate η = (x, b) ∈ Rn × Bp such that η | = φ, i.e., η satisfies φ, where φ is defined as: φ ::=

p

  • i=1
  • ¬bi ⇒ Yi = Oix
  • p
  • i=1

bi ≤ s

  • .

s is the maximum number of sensors under attack.

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 11 / 30

slide-32
SLIDE 32

Problem Formulation

System Dynamics: Σa

  • x(t + 1)

= Ax(t) + Bu(t), y(t) = Cx(t) + a(t) Collect τ measurements: Yi =

  • Oix + Ei

if sensor i is under attack, Oix if sensor i is attack-free For each individual sensor, we define a binary indicator variable bi ∈ B such that bi = 1 when the ith sensor is under attack and bi = 0 otherwise.

Problem

(Secure State Estimation) For the linear control system under attack Σa, construct an estimate η = (x, b) ∈ Rn × Bp such that η | = φ, i.e., η satisfies φ, where φ is defined as: φ ::=

p

  • i=1
  • ¬bi ⇒ Yi − Oix2

2 ≤ 0

  • p
  • i=1

bi ≤ s

  • .

s is the maximum number of sensors under attack.

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 11 / 30

slide-33
SLIDE 33

Problem Formulation

System Dynamics: Σa

  • x(t + 1)

= Ax(t) + Bu(t), y(t) = Cx(t) + a(t) Collect τ measurements: Yi =

  • Oix + Ei

if sensor i is under attack, Oix if sensor i is attack-free For each individual sensor, we define a binary indicator variable bi ∈ B such that bi = 1 when the ith sensor is under attack and bi = 0 otherwise. In the context of decision procedures on the reals, we resort to the notion of δ-completeness, i.e., we understand the inequality as follows Yi − Oix2

2 ≤ δ.

Problem

(Secure State Estimation) For the linear control system under attack Σa, construct an estimate η = (x, b) ∈ Rn × Bp such that η | = φ, i.e., η satisfies φ, where φ is defined as: φ ::=

p

  • i=1
  • ¬bi ⇒ Yi − Oix2

2 ≤ 0

  • p
  • i=1

bi ≤ s

  • .

s is the maximum number of sensors under attack.

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 11 / 30

slide-34
SLIDE 34

IMHOTEP-SMT Engine

Imhotep “emmo-tep” (meaning: the

  • ne who comes in peace, is with

peace) was an Egyptian mathematician, engineer, architect and physician. He was the designer of the first pyramid in Egypt.

  • Y. Shoukry, A. Puggelli, P

. Nuzzo, A. Sangiovanni-Vincentelli, S. Seshia, and P . Tabuada, “IMHOTEP-SMT: Sound and Complete State Estimation for Linear Dynamical Systems Under Sensor Attacks Using Satisfiability Modulo Theory Solving,” ACC 2015, to appear.

  • Y. Shoukry, P

. Nuzzo, A. Puggelli, A. Sangiovanni-Vincentelli, S. Seshia, M. Srivastava, and P . Tabuada, “IMHOTEP-SMT: A Satisfiability Modulo Theory Solver For Secure State Estimation,” SMT 2015, submitted. Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 12 / 30

slide-35
SLIDE 35

Lazy SMT Architecture [1/3]

SMT = pB-SAT solver + T -Solver.

pseudo Boolean (pB) SAT-solver T -SOLVE IMHOTEP-SMT

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 13 / 30

slide-36
SLIDE 36

Lazy SMT Architecture [1/3]

SMT = pB-SAT solver + T -Solver. pB-SAT solver: solves the “boolean version” of the problem.

pseudo Boolean (pB) SAT-solver T -SOLVE IMHOTEP-SMT

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 13 / 30

slide-37
SLIDE 37

Lazy SMT Architecture [1/3]

SMT = pB-SAT solver + T -Solver. pB-SAT solver: solves the “boolean version” of the problem. Original formula:

φ ::=

p

  • i=1
  • ¬bi ⇒ Yi − Oi x2

2 ≤ 0

  • p
  • i∈1

bi ≤ s

  • .

pseudo Boolean (pB) SAT-solver T -SOLVE IMHOTEP-SMT

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 13 / 30

slide-38
SLIDE 38

Lazy SMT Architecture [1/3]

SMT = pB-SAT solver + T -Solver. pB-SAT solver: solves the “boolean version” of the problem. Original formula:

φ ::=

p

  • i=1
  • ¬bi ⇒ Yi − Oi x2

2 ≤ 0

  • p
  • i∈1

bi ≤ s

  • .

Replace non-boolean variables with boolean ones

φinitial ::=

p

  • i=1
  • ¬bi ⇒ ci

p

  • i=1

bi ≤ s

  • pseudo

Boolean (pB) SAT-solver T -SOLVE IMHOTEP-SMT

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 13 / 30

slide-39
SLIDE 39

Lazy SMT Architecture [1/3]

SMT = pB-SAT solver + T -Solver. pB-SAT solver: solves the “boolean version” of the problem. Original formula:

φ ::=

p

  • i=1
  • ¬bi ⇒ Yi − Oi x2

2 ≤ 0

  • p
  • i∈1

bi ≤ s

  • .

Replace non-boolean variables with boolean ones

φinitial ::=

p

  • i=1
  • ¬bi ⇒ ci

p

  • i=1

bi ≤ s

  • Pass φinitial to the SAT solver.

pseudo Boolean (pB) SAT-solver T -SOLVE IMHOTEP-SMT φinitial

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 13 / 30

slide-40
SLIDE 40

Lazy SMT Architecture [2/3]

SMT = pB-SAT solver + T -Solver. pB-SAT solver: solves the “boolean version” of the problem.

pseudo Boolean (pB) SAT-solver T -SOLVE IMHOTEP-SMT φinitial

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 14 / 30

slide-41
SLIDE 41

Lazy SMT Architecture [2/3]

SMT = pB-SAT solver + T -Solver. pB-SAT solver: solves the “boolean version” of the problem. pB-SAT solver returns an assignment for the variable b. We extract which sensors are “hypothesized” to be attack free. Denote this set as I.

pseudo Boolean (pB) SAT-solver T -SOLVE IMHOTEP-SMT φinitial b, I = supp(b)

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 14 / 30

slide-42
SLIDE 42

Lazy SMT Architecture [2/3]

SMT = pB-SAT solver + T -Solver. pB-SAT solver: solves the “boolean version” of the problem. pB-SAT solver returns an assignment for the variable b. We extract which sensors are “hypothesized” to be attack free. Denote this set as I. Check this assignment.

pseudo Boolean (pB) SAT-solver T -SOLVE.CHECK T -SOLVE IMHOTEP-SMT φinitial {(Y1, O1) . . . (Yp, Op)} b, I = supp(b)

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 14 / 30

slide-43
SLIDE 43

Lazy SMT Architecture [2/3]

SMT = pB-SAT solver + T -Solver. pB-SAT solver: solves the “boolean version” of the problem. pB-SAT solver returns an assignment for the variable b. We extract which sensors are “hypothesized” to be attack free. Denote this set as I. Check this assignment. 1: Solve: x := arg minx∈Rn YI − OIx2

2

pseudo Boolean (pB) SAT-solver T -SOLVE.CHECK T -SOLVE IMHOTEP-SMT φinitial {(Y1, O1) . . . (Yp, Op)} b, I = supp(b)

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 14 / 30

slide-44
SLIDE 44

Lazy SMT Architecture [2/3]

SMT = pB-SAT solver + T -Solver. pB-SAT solver: solves the “boolean version” of the problem. pB-SAT solver returns an assignment for the variable b. We extract which sensors are “hypothesized” to be attack free. Denote this set as I. Check this assignment. 1: Solve: x := arg minx∈Rn YI − OIx2

2

2: if YI − OIx2

2 = 0 then

3: status = SAT;

  • 6: end if

7: return (status, x);

pseudo Boolean (pB) SAT-solver T -SOLVE.CHECK T -SOLVE IMHOTEP-SMT φinitial {(Y1, O1) . . . (Yp, Op)} b, I = supp(b) η = (x, b)

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 14 / 30

slide-45
SLIDE 45

Lazy SMT Architecture [2/3]

SMT = pB-SAT solver + T -Solver. pB-SAT solver: solves the “boolean version” of the problem. pB-SAT solver returns an assignment for the variable b. We extract which sensors are “hypothesized” to be attack free. Denote this set as I. Check this assignment. 1: Solve: x := arg minx∈Rn YI − OIx2

2

2: if YI − OIx2

2 = 0 then

3: status = SAT;

  • 4: else

5: status = UNSAT;

  • 6: end if

7: return (status, x);

pseudo Boolean (pB) SAT-solver T -SOLVE.CHECK T -SOLVE IMHOTEP-SMT φinitial {(Y1, O1) . . . (Yp, Op)} b, I = supp(b) η = (x, b)

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 14 / 30

slide-46
SLIDE 46

Lazy SMT Architecture [3/3]

SMT = pB-SAT solver + T -Solver. pB-SAT solver: solves the “boolean version” of the problem. pB-SAT solver returns an assignment for the variable b. We extract which sensors are “hypothesized” to be attack free. Denote this set as I. Check this assignment.

pseudo Boolean (pB) SAT-solver T -SOLVE.CHECK T -SOLVE IMHOTEP-SMT φinitial {(Y1, O1) . . . (Yp, Op)} b, I = supp(b) η = (x, b)

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 15 / 30

slide-47
SLIDE 47

Lazy SMT Architecture [3/3]

SMT = pB-SAT solver + T -Solver. pB-SAT solver: solves the “boolean version” of the problem. pB-SAT solver returns an assignment for the variable b. We extract which sensors are “hypothesized” to be attack free. Denote this set as I. Check this assignment. Generate “Theory lemma” / “counter examples” / “UNSAT certificate”.

pseudo Boolean (pB) SAT-solver T -SOLVE.CHECK T -SOLVE.CERTIFICATE T -SOLVE IMHOTEP-SMT φinitial {(Y1, O1) . . . (Yp, Op)} b, I = supp(b) η = (x, b) I

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 15 / 30

slide-48
SLIDE 48

Lazy SMT Architecture [3/3]

SMT = pB-SAT solver + T -Solver. pB-SAT solver: solves the “boolean version” of the problem. pB-SAT solver returns an assignment for the variable b. We extract which sensors are “hypothesized” to be attack free. Denote this set as I. Check this assignment. Generate “Theory lemma” / “counter examples” / “UNSAT certificate”. φtriv-cert =

  • i∈supp(b)

bi ≥ 1

pseudo Boolean (pB) SAT-solver T -SOLVE.CHECK T -SOLVE.CERTIFICATE T -SOLVE IMHOTEP-SMT φinitial {(Y1, O1) . . . (Yp, Op)} b, I = supp(b) η = (x, b) I

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 15 / 30

slide-49
SLIDE 49

Lazy SMT Architecture [3/3]

SMT = pB-SAT solver + T -Solver. pB-SAT solver: solves the “boolean version” of the problem. pB-SAT solver returns an assignment for the variable b. We extract which sensors are “hypothesized” to be attack free. Denote this set as I. Check this assignment. Generate “Theory lemma” / “counter examples” / “UNSAT certificate”. φtriv-cert =

  • i∈supp(b)

bi ≥ 1 Add this “certificate” to the original constraints: φ := φinitial ∧ φtriv-cert

pseudo Boolean (pB) SAT-solver T -SOLVE.CHECK T -SOLVE.CERTIFICATE T -SOLVE IMHOTEP-SMT φinitial {(Y1, O1) . . . (Yp, Op)} b, I = supp(b) η = (x, b) I φcert

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 15 / 30

slide-50
SLIDE 50

Lazy SMT Architecture [3/3]

SMT = pB-SAT solver + T -Solver. pB-SAT solver: solves the “boolean version” of the problem. pB-SAT solver returns an assignment for the variable b. We extract which sensors are “hypothesized” to be attack free. Denote this set as I. Check this assignment. Generate “Theory lemma” / “counter examples” / “UNSAT certificate”. φtriv-cert =

  • i∈supp(b)

bi ≥ 1 Add this “certificate” to the original constraints: φ := φinitial ∧ φtriv-cert

pseudo Boolean (pB) SAT-solver T -SOLVE.CHECK T -SOLVE.CERTIFICATE T -SOLVE IMHOTEP-SMT φinitial {(Y1, O1) . . . (Yp, Op)} b, I = supp(b) η = (x, b) I φcert

REPEAT

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 15 / 30

slide-51
SLIDE 51

Termination? Perfromance?

System Dynamics: Σa

  • x(t + 1)

= Ax(t) + Bu(t), y(t) = Cx(t) + a(t)

pseudo Boolean (pB) SAT-solver T -SOLVE.CHECK T -SOLVE.CERTIFICATE T -SOLVE IMHOTEP-SMT φinitial {(Y1, O1) , . . . , (Yp, Op)} η = (x, b) b, I = supp(b) I φcert

Proposition

Let the linear dynamical system Σa be 2s-sparse observable. Then, IMHOTEP-SMT terminates with: supp(b∗) ⊆ supp(b). . x∗ − x2

2 = 0.

  • Moreover, the upper bound on the number of iterations is s

s=0

p

s

  • .
  • x∗ is the actual system state

supp(b∗) is the index of the sensors under attack.

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 16 / 30

slide-52
SLIDE 52

Conflicting UNSAT certificates

To enhance the performance, we need to generate more compact certificates.

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 17 / 30

slide-53
SLIDE 53

Conflicting UNSAT certificates

To enhance the performance, we need to generate more compact certificates. Why?

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 17 / 30

slide-54
SLIDE 54

Conflicting UNSAT certificates

To enhance the performance, we need to generate more compact certificates. Why? b1 b2 b3 {1, 1, 1} {1, 1, 0} b3 {1, 0, 1} {1, 0, 0} b2 b3 {0, 1, 1} {0, 1, 0} b3 {0, 0, 1} {0, 0, 0}

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 17 / 30

slide-55
SLIDE 55

Conflicting UNSAT certificates

To enhance the performance, we need to generate more compact certificates. Why? Example: φcert = b1 + b2 + b3 ≥ 1 b1 b2 b3 {1, 1, 1} {1, 1, 0} b3 {1, 0, 1} {1, 0, 0} b2 b3 {0, 1, 1} {0, 1, 0} b3 {0, 0, 1} {0, 0, 0}

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 17 / 30

slide-56
SLIDE 56

Conflicting UNSAT certificates

To enhance the performance, we need to generate more compact certificates. Why? Example: φcert = b1 + b2 + b3 ≥ 1 Example: φcert = b2 + b3 ≥ 1 b1 b2 b3 {1, 1, 1} {1, 1, 0} b3 {1, 0, 1} {1, 0, 0} b2 b3 {0, 1, 1} {0, 1, 0} b3 {0, 0, 1} {0, 0, 0}

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 17 / 30

slide-57
SLIDE 57

Conflicting UNSAT certificates

To enhance the performance, we need to generate more compact certificates. Why? Example: φcert = b1 + b2 + b3 ≥ 1 Example: φcert = b2 + b3 ≥ 1 Example: φcert = b3 ≥ 1 b1 b2 b3 {1, 1, 1} {1, 1, 0} b3 {1, 0, 1} {1, 0, 0} b2 b3 {0, 1, 1} {0, 1, 0} b3 {0, 0, 1} {0, 0, 0}

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 17 / 30

slide-58
SLIDE 58

Conflicting UNSAT certificates

Existence of compact certificates is always guaranteed by the following result.

Lemma

Let the linear dynamical system Σa be 2s-sparse observable. If T -SOLVE.CHECK(I) is UNSAT then there exists a subset I ⊂ supp(b) with |I| ≤ p − 2s + 1 such that T -SOLVE.CHECK(Itemp) is also UNSAT.

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 18 / 30

slide-59
SLIDE 59

Conflicting UNSAT certificates

Existence of compact certificates is always guaranteed by the following result.

Lemma

Let the linear dynamical system Σa be 2s-sparse observable. If T -SOLVE.CHECK(I) is UNSAT then there exists a subset I ⊂ supp(b) with |I| ≤ p − 2s + 1 such that T -SOLVE.CHECK(Itemp) is also UNSAT. Trivial certificates have p − s sensors.

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 18 / 30

slide-60
SLIDE 60

Conflicting UNSAT certificates

Existence of compact certificates is always guaranteed by the following result.

Lemma

Let the linear dynamical system Σa be 2s-sparse observable. If T -SOLVE.CHECK(I) is UNSAT then there exists a subset I ⊂ supp(b) with |I| ≤ p − 2s + 1 such that T -SOLVE.CHECK(Itemp) is also UNSAT. Trivial certificates have p − s sensors. The proof of this lemma is constructive. It shows how to find such certificates.

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 18 / 30

slide-61
SLIDE 61

Conflicting UNSAT certificates

Existence of compact certificates is always guaranteed by the following result.

Lemma

Let the linear dynamical system Σa be 2s-sparse observable. If T -SOLVE.CHECK(I) is UNSAT then there exists a subset I ⊂ supp(b) with |I| ≤ p − 2s + 1 such that T -SOLVE.CHECK(Itemp) is also UNSAT. Trivial certificates have p − s sensors. The proof of this lemma is constructive. It shows how to find such certificates. We still can do better.

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 18 / 30

slide-62
SLIDE 62

Conflicting UNSAT certificates

Existence of compact certificates is always guaranteed by the following result.

Lemma

Let the linear dynamical system Σa be 2s-sparse observable. If T -SOLVE.CHECK(I) is UNSAT then there exists a subset I ⊂ supp(b) with |I| ≤ p − 2s + 1 such that T -SOLVE.CHECK(Itemp) is also UNSAT. Trivial certificates have p − s sensors. The proof of this lemma is constructive. It shows how to find such certificates. We still can do better. By exploiting the convex geometry.

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 18 / 30

slide-63
SLIDE 63

Conflicting UNSAT certificates

Geometry: Measurements of each sensor Yi = Oix define an affine subspace.

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 19 / 30

slide-64
SLIDE 64

Conflicting UNSAT certificates

1 2 3 4 5 4 6 8 10 x1 x2

Geometry: Measurements of each sensor Yi = Oix define an affine subspace. If all sensors are attack-free, then all these affine subspaces intersect in one point.

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 19 / 30

slide-65
SLIDE 65

Conflicting UNSAT certificates

1 2 3 4 5 4 6 8 10 x1 x2 1 2 3 4 5 4 6 8 10 x1 x2

Geometry: Measurements of each sensor Yi = Oix define an affine subspace. If all sensors are attack-free, then all these affine subspaces intersect in one point. If one sensor is under attack Yi = Oix + Ei, these affine subspaces do not intersect.

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 19 / 30

slide-66
SLIDE 66

Conflicting UNSAT certificates

1 2 3 4 5 4 6 8 10 x1 x2 1 2 3 4 5 4 6 8 10 x1 x2

Geometry: Measurements of each sensor Yi = Oix define an affine subspace. If all sensors are attack-free, then all these affine subspaces intersect in one point. If one sensor is under attack Yi = Oix + Ei, these affine subspaces do not intersect. The least squares finds a point that minimizes the residuals. x := arg min

x∈Rn YI − OIx2 2 Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 19 / 30

slide-67
SLIDE 67

Conflicting UNSAT certificates

1 2 3 4 5 4 6 8 10 x1 x2

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 20 / 30

slide-68
SLIDE 68

Conflicting UNSAT certificates

1 2 3 4 5 4 6 8 10 x1 x2

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 21 / 30

slide-69
SLIDE 69

Conflicting UNSAT certificates

1 2 3 4 5 4 6 8 10 x1 x2

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 22 / 30

slide-70
SLIDE 70

Conflicting UNSAT certificates

1 2 3 4 5 4 6 8 10 x1 x2 1 2 3 4 5 4 6 8 10 x1 x2 1 2 3 4 5 4 6 8 10 x1 x2

How to use this geometry to obtain a smaller set of conflicting sensors (cont’d)?

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 23 / 30

slide-71
SLIDE 71

Conflicting UNSAT certificates

1 2 3 4 5 4 6 8 10 x1 x2 1 2 3 4 5 4 6 8 10 x1 x2 1 2 3 4 5 4 6 8 10 x1 x2

How to use this geometry to obtain a smaller set of conflicting sensors (cont’d)? Step 5: For all sensors in I, calculate the dimension of the kernel of Oi.

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 23 / 30

slide-72
SLIDE 72

Conflicting UNSAT certificates

1 2 3 4 5 4 6 8 10 x1 x2 1 2 3 4 5 4 6 8 10 x1 x2 1 2 3 4 5 4 6 8 10 x1 x2

How to use this geometry to obtain a smaller set of conflicting sensors (cont’d)? Step 5: For all sensors in I, calculate the dimension of the kernel of Oi. Step 6: Sort all sensors in I according to dim(ker(Oi)) . Recall from geometry that the smaller the dimension of the kernel, the more information this sensor provides.

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 23 / 30

slide-73
SLIDE 73

Conflicting UNSAT certificates

1 2 3 4 5 4 6 8 10 x1 x2 1 2 3 4 5 4 6 8 10 x1 x2 1 2 3 4 5 4 6 8 10 x1 x2

How to use this geometry to obtain a smaller set of conflicting sensors (cont’d)? Step 5: For all sensors in I, calculate the dimension of the kernel of Oi. Step 6: Sort all sensors in I according to dim(ker(Oi)) . Recall from geometry that the smaller the dimension of the kernel, the more information this sensor provides. Step 7: Start removing the sensors with large dim(ker(Oi)), one at a time.

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 23 / 30

slide-74
SLIDE 74

Conflicting UNSAT certificates

1 2 3 4 5 4 6 8 10 x1 x2 1 2 3 4 5 4 6 8 10 x1 x2 1 2 3 4 5 4 6 8 10 x1 x2

How to use this geometry to obtain a smaller set of conflicting sensors (cont’d)? Step 5: For all sensors in I, calculate the dimension of the kernel of Oi. Step 6: Sort all sensors in I according to dim(ker(Oi)) . Recall from geometry that the smaller the dimension of the kernel, the more information this sensor provides. Step 7: Start removing the sensors with large dim(ker(Oi)), one at a time. Stop when conflict no longer hold.

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 23 / 30

slide-75
SLIDE 75

Conflicting UNSAT certificates

We can add other certificates which find sensor sets that agree on a specific solution.

pseudo Boolean (pB) SAT-solver T -SOLVE.CHECK T -SOLVE.CERTIFICATE T -SOLVE IMHOTEP-SMT φinitial {(Y1, O1) , . . . , (Yp, Op)} η = (x, b) b, I = supp(b) I φcert

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 24 / 30

slide-76
SLIDE 76

Conflicting UNSAT certificates

We can add other certificates which find sensor sets that agree on a specific solution.

pseudo Boolean (pB) SAT-solver T -SOLVE.CHECK T -SOLVE.CERTIFICATE T -SOLVE IMHOTEP-SMT φinitial {(Y1, O1) , . . . , (Yp, Op)} η = (x, b) b, I = supp(b) I φcert

Theorem

Let the linear dynamical system Σa be 2s-sparse observable. Then, IMHOTEP-SMT terminates with: supp(b∗) ⊆ supp(b). . x∗ − x2 ≤ 0.

  • Moreover, the upper bound on the number of iterations is
  • p

p−2s+1

  • . Compare to:

s

s=0

p

s

  • Yasser Shoukry

IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 24 / 30

slide-77
SLIDE 77

Results

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 25 / 30

slide-78
SLIDE 78

Conflicting UNSAT certificates

For a fixed system (n = 25, p = 60, s = 20), increase the number of attacked sensors.

1 5 10 15 20 100 200 300 400 500 Guaranteed upper bound Number of attacked sensors s Number of iterations φtriv-cert φconf-cert φconf-cert ∧ φagree-cert

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 26 / 30

slide-79
SLIDE 79

Conflicting UNSAT certificates

For a fixed system (n = 25, p = 60, s = 20), increase the number of attacked sensors.

1 5 10 15 20 100 200 300 400 500 Guaranteed upper bound Number of attacked sensors s Number of iterations φtriv-cert φconf-cert φconf-cert ∧ φagree-cert

Increase the number of sensors from 3 to 60. One third of sensors is under attack.

3 15 30 45 60 100 200 300 400 500 Guaranteed upper bound Number of sensors p Number of iterations φtriv-cert φconf-cert φconf-cert ∧ φagree-cert

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 26 / 30

slide-80
SLIDE 80

Scalability Results

Comparison against 2 convex-relaxation algorithms and 2 logic-based encodings.

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 27 / 30

slide-81
SLIDE 81

Scalability Results

Comparison against 2 convex-relaxation algorithms and 2 logic-based encodings. Fix the number of sensors p = 60, s = 20 and increase the number of system states from 10 to 150.

10 25 50 75 100 150 50 100 150 200 Number of states n Execution time (sec) SMT ETPG Lr/L2 dReal Z3

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 27 / 30

slide-82
SLIDE 82

Scalability Results

Comparison against 2 convex-relaxation algorithms and 2 logic-based encodings. Fix the number of sensors p = 60, s = 20 and increase the number of system states from 10 to 150.

10 25 50 75 100 150 50 100 150 200 Number of states n Execution time (sec) SMT ETPG Lr/L2 dReal Z3

Fix the number of states n = 50 and increase the number of sensors from 3 to 150 (s = p/3).

3 30 60 90 120 150 10 20 30 Number of sensors p Execution time (sec) SMT ETPG Lr/L2 dReal Z3

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 27 / 30

slide-83
SLIDE 83

Results

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 28 / 30

slide-84
SLIDE 84

Implementation

Download the source code of IMHOTEP-SMT solver and all examples from http://nesl.github.io/Imhotep-smt/

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 29 / 30

slide-85
SLIDE 85

Implementation

Download the source code of IMHOTEP-SMT solver and all examples from http://nesl.github.io/Imhotep-smt/ The tool is implemented using SAT4J and Matlab.

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 29 / 30

slide-86
SLIDE 86

Implementation

Download the source code of IMHOTEP-SMT solver and all examples from http://nesl.github.io/Imhotep-smt/ The tool is implemented using SAT4J and Matlab. The new version handles some nonlinear dynamics.

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 29 / 30

slide-87
SLIDE 87

Implementation

Download the source code of IMHOTEP-SMT solver and all examples from http://nesl.github.io/Imhotep-smt/ The tool is implemented using SAT4J and Matlab. The new version handles some nonlinear dynamics. Currently implemented on real robotic and automotive vehicles.

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 29 / 30

slide-88
SLIDE 88

Implementation

Download the source code of IMHOTEP-SMT solver and all examples from http://nesl.github.io/Imhotep-smt/ The tool is implemented using SAT4J and Matlab. The new version handles some nonlinear dynamics. Currently implemented on real robotic and automotive vehicles. We are working on generalizing the tool to handle more generic formulas.

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 29 / 30

slide-89
SLIDE 89

Conclusions

Download the source code of IMHOTEP-SMT solver and all examples from http://nesl.github.io/Imhotep-smt/ In this work: Split the reasoning between the two domains (Booleans and Reals). Use the best tool from each domain. SAT/SMT + Convex optimization

?

= New tools for CPS.

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 30 / 30

slide-90
SLIDE 90

Conclusions

Download the source code of IMHOTEP-SMT solver and all examples from http://nesl.github.io/Imhotep-smt/ In this work: Split the reasoning between the two domains (Booleans and Reals). Use the best tool from each domain. SAT/SMT + Convex optimization

?

= New tools for CPS. Secure state estimation is one problem that benefited from mixing SAT/SMTsolvers with convex optimization.

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 30 / 30

slide-91
SLIDE 91

Conclusions

Download the source code of IMHOTEP-SMT solver and all examples from http://nesl.github.io/Imhotep-smt/ In this work: Split the reasoning between the two domains (Booleans and Reals). Use the best tool from each domain. SAT/SMT + Convex optimization

?

= New tools for CPS. Secure state estimation is one problem that benefited from mixing SAT/SMTsolvers with convex optimization. Are there other problems ?

Yasser Shoukry IMHOTEP-SMT - SMT Workshop’15 July 19, 2015 30 / 30