Trading-off incrementality and dynamic restart of multiple solvers - - PowerPoint PPT Presentation

trading off incrementality and dynamic restart of
SMART_READER_LITE
LIVE PREVIEW

Trading-off incrementality and dynamic restart of multiple solvers - - PowerPoint PPT Presentation

Trading-off incrementality and dynamic restart of multiple solvers in IC3 Paolo Enrico Camurati, Carmelo Loiacono, Paolo Pasini, Denis Patti, Stefano Quer Dip. di Automatica ed Informatica, Politecnico di Torino, Torino, Italy Multiple


slide-1
SLIDE 1

Trading-off incrementality and dynamic restart of multiple solvers in IC3

Paolo Enrico Camurati, Carmelo Loiacono, Paolo Pasini, Denis Patti, Stefano Quer

  • Dip. di Automatica ed Informatica, Politecnico di Torino, Torino, Italy
slide-2
SLIDE 2

2

  • Multiple properties/targets for same model

– As primary inputs – Generated by decomposition

  • Handle different properties as sub-problems

– Target sorting and/or grouping

  • Interaction and synergy among proofs

– Reuse reduction – Propagate learning

slide-3
SLIDE 3
  • Focus on large circuits with several properties

– Between 500 and 50K properties – Between 500 and 500K latches

  • Subset of HWMCC’13 (multiple and single tracks)

3

500 5000 50000

Number of Properties

500 5000 50000 500000

Number of Latches

slide-4
SLIDE 4
  • Motivation
  • Property grouping

– clustering – verification with learning

  • Property decomposition

– partial verification – coverage estimation

  • Conclusions and future works

4

slide-5
SLIDE 5

5

PI T FF F PI T0 F0 T1 F1

Tn-1

State Regn-1

Fn-1

slide-6
SLIDE 6
  • Straightforward verification

– sequential – individual checks

  • Overhead

– initialization and finalization of single properties

  • Repetition of shared sub-

tasks

6

i

T

j

T

k

T

slide-7
SLIDE 7
  • Group properties together
  • Tuning to avoid scalability issues

7

i i p

p P   :

PI T FF F PI T0 F0 T1 F1

Tn-1

State Regn-1

Fn-1

Cooperation: share CEXes, invariants Grouping & Sorting Properties

slide-8
SLIDE 8
  • Several strategies

– sort properties by expected verification effort – classify properties according to mutual affinity

  • Group properties in subsets

– tune verification within subset

  • Address scalability issues

– COIs size explosion

8

slide-9
SLIDE 9
  • Exploit learning

– reuse discovered invariants

  • cluster to cluster
  • target to target

– reuse reductions and simplifications – trade off between usability and size/costs

  • Filter CEXes

– reorganize clusters removing failed properties

  • One hard property may hinder

whole cluster verification

PI Tk

State Regk

Fk

R+ =Constr

PI Tj

State Regj

Fj

slide-10
SLIDE 10
  • Affinity estimated based on support variables

Vp within COIs

  • Jacquard Index
  • Grouping performed if resulting value is above

a chosen threshold

  • Verification starts from properties with

smaller COIs

10 k j k j

V V V V    

slide-11
SLIDE 11

11

  • Comparison

between our sequential and cluster based approaches

  • Best result among

different clustering thresholds

  • Usually at least as

good as sequential verification

slide-12
SLIDE 12

12

  • COIs sizes tend not to grow so much to become intractable
  • Values normalized considering only non-constant properties
slide-13
SLIDE 13

1 10 100 1000 10000 100000 Seq 25 200 500

  • Tot. Props.
  • The number of allowed clusters influences verification outcome
  • Automatic tuning of thresholds is an on-going effort

13

slide-14
SLIDE 14

1 10 100 1000 10000 100000 Seq 25 200 500

  • Tot. Props.
  • The number of allowed clusters influences verification outcome
  • Automatic tuning of thresholds is an on-going effort

14

slide-15
SLIDE 15

1 10 100 1000 10000 100000 Seq 25 200 500

  • Tot. Props.
  • The number of allowed clusters influences verification outcome
  • Automatic tuning of thresholds is an on-going effort

15

slide-16
SLIDE 16

1 10 100 1000 10000 100000 Seq 25 200 500

  • Tot. Props.
  • The number of allowed clusters influences verification outcome
  • Automatic tuning of thresholds is an on-going effort

16

slide-17
SLIDE 17

1 10 100 1000 10000 100000 Seq 25 200 500

  • Tot. Props.
  • The number of allowed clusters influences verification outcome
  • Automatic tuning of thresholds is an on-going effort

17

slide-18
SLIDE 18
  • Motivation
  • Property grouping

– clustering – verification with learning

  • Property decomposition

– partial verification – coverage estimation

  • Conclusions and future works

18

slide-19
SLIDE 19
  • Property decomposition aimed at full

verification

  • Easy-to-solve properties of little interest

– introducing overhead – no information to gain

  • Hard-to-solve still unsolvable as a whole

– sub-problems can be as hard as the original

slide-20
SLIDE 20
  • Compositional verification of monolithic

properties

  • Relax goal of full verification

– infer information from covered parts (bounds, CEXes, …) – better than nothing at all

20 20

PI T FF PI T0 F0 Tn-1

State Regn-1

Fn-1 F

State Reg0

slide-21
SLIDE 21
  • Divide & Conquer approach for hard-to-solve

properties

  • Identify a subset of “easier” properties

– smaller COIs – sub-space constrained – only describing sub-behaviors

  • Treat original property as a grouped instance
  • SAT solvers as sub-target enumerator

21

i i p

P  

slide-22
SLIDE 22
  • Derive target from invariant
  • Consider a minterm as first sub-target
  • Acquire over-approximated stateset representations as

sub-product of previous verification

  • Iteratively select targets that hit the innermost

reachable state ring

  • Terminate upon

– identifying a partial target as reachable, disproving the property – acquiring a strong enough R set to prove the original property

22

p t

) ( t p t SAT t

k

R R , ,

0 

slide-23
SLIDE 23
  • Based on size/percentage of reachable states
  • State space estimation based on graph-based

algorithm

  • Derived from life sciences and “capture-mark-

recapture” approaches

  • Inherently difficult to produce almost exact

estimation

  • Ongoing work in this direction

23

slide-24
SLIDE 24

24

  • Focus on hard-to-solve

single property designs

  • SAT properties:

– BMC runs to identify CEX bounds

  • UNSAT properties:

– Standard verification to identify pass bounds

  • Partial verification

– Diminished time limit for sub-properties verification through UMC – Bound estimation derived from these runs

0,10 1,00 10,00

Partial/Exact Bound Ratio

slide-25
SLIDE 25
  • Motivation
  • Property grouping

– clustering – sequential verification with learning

  • Property decomposition

– partial verification – coverage estimation

  • Conclusions and future works

25

slide-26
SLIDE 26
  • Preliminary results are promising and show

room for improvement

  • Further investments in clustering techniques

and heuristics

  • Automatization of threshold selection and

cluster parametrization

  • Further research in partial verification as

indicator for currently untreatable instances

26

slide-27
SLIDE 27

Trading-off incrementality and dynamic restart of multiple solvers in IC3

Paolo Enrico Camurati, Carmelo Loiacono, Paolo Pasini, Denis Patti, Stefano Quer

  • Dip. di Automatica ed Informatica, Politecnico di Torino, Torino, Italy