39
SAT-based verification: underlying methods Mary Sheeran Chalmers University of Technology and Prover Technology AB

SAT-based verification: underlying methods

  • Upload
    gwylan

  • View
    32

  • Download
    3

Embed Size (px)

DESCRIPTION

SAT-based verification: underlying methods. Mary Sheeran Chalmers University of Technology and Prover Technology AB. Synchronous Observer. ok. Program. Obs. I B. B. I. I. B. I. B. i. I. B. Satisfying a formula. I(s 0 ) and path([s 0 ..s i ]) and B(s i ). I. B. I. - PowerPoint PPT Presentation

Citation preview

Page 1: SAT-based verification: underlying methods

SAT-based verification: underlying methods

Mary SheeranChalmers University of Technology and

Prover Technology AB

Page 2: SAT-based verification: underlying methods

Synchronous Observer

Program Obs

ok

Page 3: SAT-based verification: underlying methods
Page 4: SAT-based verification: underlying methods
Page 5: SAT-based verification: underlying methods
Page 6: SAT-based verification: underlying methods
Page 7: SAT-based verification: underlying methods

I B

Page 8: SAT-based verification: underlying methods

I B

Page 9: SAT-based verification: underlying methods

I B

Page 10: SAT-based verification: underlying methods

I B

Page 11: SAT-based verification: underlying methods

I B

i

I(s0) and path([s0..si]) and B(si)

Satisfying a formula

Page 12: SAT-based verification: underlying methods

I B

I B

I B

I B

Page 13: SAT-based verification: underlying methods

If system is bad

• Finds a shortest countermodel

• Error trace for debugging

Page 14: SAT-based verification: underlying methods

But when can we stop?

I

when

contradictory?

i

Page 15: SAT-based verification: underlying methods

Not quite, but

I

when

contradictory

loop-free

i

Page 16: SAT-based verification: underlying methods

And symmetrically

when

contradictory

loop-free

B

Page 17: SAT-based verification: underlying methods

Algorithm 1

i:= 0

if not Sat I or not Sat

B

then return True

i i

if Sat then return error trace

i := i+1 ;

I B

i

Page 18: SAT-based verification: underlying methods

Tighten termination (Alg. 2)

i:= 0

if not Sat or not Sat B

then return True

if Sat then return error trace

i := i+1 ;

I

i

all (not I)

i

all (not B)

I B

i

Page 19: SAT-based verification: underlying methods

Avoid iteration from zero (Alg. 3)

i := some constant which can be greater than zero

not (all P)I

i

I all (not I)

i+1

Ball (not B)

i+1

if Sat then return error trace

if not Sat or not Sat

then return True

i:= i+1

Page 20: SAT-based verification: underlying methods

Base

I

Page 21: SAT-based verification: underlying methods

Base

I

Page 22: SAT-based verification: underlying methods

Step

Page 23: SAT-based verification: underlying methods

Step

Page 24: SAT-based verification: underlying methods

Base

B

Page 25: SAT-based verification: underlying methods

Base

B

Page 26: SAT-based verification: underlying methods

Step

Page 27: SAT-based verification: underlying methods

Step

Page 28: SAT-based verification: underlying methods

Complete method

i := some constant which can be greater than zero

not (all P)I

i

I all (not I)

i+1

Ball (not B)

i+1

if Sat then return error trace

if not Sat or not Sat

then return True

i:= i+1

Page 29: SAT-based verification: underlying methods

Strengthen

i := some constant which can be greater than zero

not (all P)I

i

I all (not I)

i+1

Ball (not B)

i+1

if Sat then return error trace

if not Sat or not Sat

then return True

i:= i+1

Page 30: SAT-based verification: underlying methods

Another way to strengthen

• Invent a lemma, L(s) that we believe to hold in the reachable states

• Prove Q(s) = P(s) and L(s)

• If both P and L hold in the reachable states, this can reduce induction depth

Page 31: SAT-based verification: underlying methods

Choosing lemmas?

• Domain knowledge

• Analysis of the program

• Strongest possibility is the characterization of the reachable states

• Van Eijk’s method uses relations between signals as lemmas

Page 32: SAT-based verification: underlying methods

Reachability analysis

• Standard approach to safety property verification using Binary Decision Diagrams (BDDs)

• Generate larger and larger subset of the reachable states. Stop when no new states added

• Check whether intersects with bad states

Page 33: SAT-based verification: underlying methods

Reachability analysis

• Standard algorithms can be adapted to use a SAT-solver.

• Need to be able to deal with quantifiers in a way that doesn’t just blow up

• A fascinating research area!

Page 34: SAT-based verification: underlying methods

References (bounded model checking)

• A. Biere, A. Cimatti, E.M. Clarke, M. Fujita and Y. Zhu. Symbolic model checking using SAT procedures instead of BDDs. In Proc. 36th Design Automation Conference, 1999.

• P. Bjesse, T. Leonard and A. Mokkedem. Finding bugs in an Alpha microprocessor using satisfiability solvers. In Proc. 13th Int. Conf. On Computer Aided Verification, 2001.

Page 35: SAT-based verification: underlying methods

References (induction with SAT-solvers)

• M. Sheeran, S. Singh and G. Stålmarck. Checking safety properties using induction and a SAT-solver. In Proc. 3rd Int. Conf. On Formal Methods in Computer Aided Design, LNCS, Springer Verlag, 2000.

• P. Bjesse and K. Claessen. SAT-based verification without state space traversal. In Proc. 3rd Int. Conf. On Formal Methods in Computer Aided Design, LNCS, Springer Verlag, 2000.

Page 36: SAT-based verification: underlying methods

References (SAT-based reachability analysis)

• P. A. Abdulla, P. Bjesse and N. Een. Symbolic reachability analysis based on SAT-solvers. In Proc. TACAS’00.

• P. F. Williams, A. Biere, E. M. Clarke and A. Gupta. Combining decision diagrams and SAT procedures for efficient symbolic model checking. In CAV’00.

• A. Gupta, Z. Yang and P. Ashar, SAT-based image computation with application in reachability analysis for verification. In FMCAD’00.

Page 37: SAT-based verification: underlying methods

SAT

Page 38: SAT-based verification: underlying methods

SAT

ARITH

BMC

IND

RA…

Page 39: SAT-based verification: underlying methods

The future?

• Increasingly powerful proof engines

• Integration in system development tools

• Combining different engines or methods (for example BDDs and SAT or interactive and automatic methods)

• Use of formal methods in test pattern generation