HiFrog: Interpolation-based Software Verification using Theory - - PowerPoint PPT Presentation

hifrog interpolation based software verification using
SMART_READER_LITE
LIVE PREVIEW

HiFrog: Interpolation-based Software Verification using Theory - - PowerPoint PPT Presentation

HiFrog: Interpolation-based Software Verification using Theory Refinement Sepideh Asadi joint work with Karine Even Mendoza, Grigory Fedyukovich, AnM Hyvrinen, Hana Chockler, Natasha Sharygina Formal Verification and Security Lab University


slide-1
SLIDE 1

HiFrog: Interpolation-based Software Verification using Theory Refinement

Formal Verification and Security Lab University of Lugano (USI), Switzerland

Sepideh Asadi

joint work with Karine Even Mendoza, Grigory Fedyukovich, AnM Hyvärinen, Hana Chockler, Natasha Sharygina

FMCAD 2017

slide-2
SLIDE 2

What is HiFrog?

▪ An SMT-based bounded model checker for C ▪ Computes and reuses FuncSon Summaries

  • Based on Craig interpolaSon
slide-3
SLIDE 3

What is HiFrog?

▪ An SMT-based bounded model checker for C ▪ Computes and reuses FuncSon Summaries

  • Compact and readable summaries
  • Flexible in Size & Strength

▪ Controllable interpolaSon system for SMT

  • Based on Craig interpolaSon
slide-4
SLIDE 4

What is HiFrog?

▪ An SMT-based bounded model checker for C ▪ Computes and reuses FuncSon Summaries

  • Compact and readable summaries
  • Flexible in Size & Strength

▪ Controllable interpolaSon system for SMT

  • Based on Craig interpolaSon

▪ AutomaSc adjustment of abstracSon using different theories

  • Theory Refinement
slide-5
SLIDE 5

HiFrog and Function Summarization

summary refiner

symbolic execution SSA slicing

SMT encoder

BV BOOL

parser

Function Summaries

sources + assertions

assertion holds! assertion violated

& error trace UNSAT

EUF LRA BOOL

interpolation- based summaries

assertions

  • ptimizer

Interpolating SMT solver

theory solvers proof compressor itp for EUF itp for BOOL itp for LRA proof

SAT

EUF LRA

slide-6
SLIDE 6

HiFrog and Function Summarization

summary refiner

symbolic execution SSA slicing

SMT encoder

BV BOOL

parser

Function Summaries

sources + assertions

assertion holds! assertion violated

& error trace UNSAT

EUF LRA BOOL

interpolation- based summaries

assertions

  • ptimizer

Interpolating SMT solver

theory solvers proof compressor itp for EUF itp for BOOL itp for LRA proof

SAT

EUF LRA

theory refiner

slide-7
SLIDE 7

HiFrog and Theory Refinement

slide-8
SLIDE 8

Symbolic Encoding

Program + AsserSons

HiFrog and Theory Refinement

slide-9
SLIDE 9

Symbolic Encoding

Program + AsserSons

HiFrog and Theory Refinement

initial entire encoding

1

OpenSMT

less precise theory

slide-10
SLIDE 10

2

Safe

UNSAT

Symbolic Encoding

Program + AsserSons

HiFrog and Theory Refinement

initial entire encoding

1

OpenSMT

less precise theory

slide-11
SLIDE 11

SAT + model

2 2

Safe

UNSAT

Symbolic Encoding

Program + AsserSons

HiFrog and Theory Refinement

initial entire encoding

1

OpenSMT

less precise theory

slide-12
SLIDE 12

Counter-example validator

sequence

  • f all terms

3

SAT + model

2 2

Safe

UNSAT

Symbolic Encoding

Program + AsserSons

HiFrog and Theory Refinement

initial entire encoding

1

OpenSMT

less precise theory

slide-13
SLIDE 13

Counter-example validator

sequence

  • f all terms

3

SAT + model

2 2

Safe

UNSAT

Symbolic Encoding

Program + AsserSons

HiFrog and Theory Refinement

initial entire encoding

1

OpenSMT

less precise theory

term vs CEX

4

OpenSMT

precise theory

slide-14
SLIDE 14

Counter-example validator

sequence

  • f all terms

3

SAT + model

2 2

Safe

UNSAT SAT

Do Nothing!

5

Symbolic Encoding

Program + AsserSons

HiFrog and Theory Refinement

initial entire encoding

1

OpenSMT

less precise theory

term vs CEX

4

OpenSMT

precise theory

slide-15
SLIDE 15

Counter-example validator

sequence

  • f all terms

3

SAT + model

2 2

Safe

UNSAT SAT

Do Nothing!

5

term(s)

Refiner

UNSAT

5

Symbolic Encoding

Program + AsserSons

HiFrog and Theory Refinement

initial entire encoding

1

OpenSMT

less precise theory

term vs CEX

4

OpenSMT

precise theory

slide-16
SLIDE 16

Counter-example validator

sequence

  • f all terms

3

SAT + model

2 2

Safe

UNSAT SAT

Do Nothing!

5

term(s)

Refiner

UNSAT

5

Symbolic Encoding

Program + AsserSons

HiFrog and Theory Refinement

initial entire encoding

1

OpenSMT

less precise theory

term vs CEX

4

OpenSMT

precise theory

Binding precise theory

local refinements

6

slide-17
SLIDE 17

Counter-example validator

sequence

  • f all terms

3

SAT + model

2 2

Safe

UNSAT SAT

Do Nothing!

5

term(s)

Refiner

UNSAT

5

Symbolic Encoding

Program + AsserSons

HiFrog and Theory Refinement

initial entire encoding

1

OpenSMT

less precise theory

term vs CEX

4

OpenSMT

precise theory

nothing to refine

7

Unsafe +

Counter-example

Binding precise theory

local refinements

6

slide-18
SLIDE 18

h,p://verify.inf.usi.ch/hifrog/

Looking forward to seeing you at poster sessions!