splst'20098/26/2009 1 good to know about the efficiency of state space methods mikko tiusanen...

11
SPLST'2009 8/2 1 Good to Know about the Efficiency of State Space Methods Mikko Tiusanen & Antti Valmari Tampere University of Technology Department of Software Systems P.O. Box 553, FI-33101 Tampere, FINLAND [email protected]

Upload: blaise-richards

Post on 20-Jan-2018

212 views

Category:

Documents


0 download

DESCRIPTION

SPLST'20098/26/ Verification of Concurrent Systems: State Explosion Concurrency errors: hard to reproduce, locate, fix  verify Generate the graph of reachable states, the state space Many ways; versatile, easy to understand: - Suffer from state explosion - Narrow? Mutually incompatible? Know your methods; know the state explosion problem! Criterion: How to do with (very) finite memory and time?

TRANSCRIPT

Page 1: SPLST'20098/26/2009 1 Good to Know about the Efficiency of State Space Methods Mikko Tiusanen & Antti…

SPLST'2009 8/26/2009

1

Good to Know about theEfficiency of State Space Methods

Mikko Tiusanen & Antti ValmariTampere University of TechnologyDepartment of Software Systems

P.O. Box 553, FI-33101 Tampere, [email protected]

Page 2: SPLST'20098/26/2009 1 Good to Know about the Efficiency of State Space Methods Mikko Tiusanen & Antti…

SPLST'2009 8/26/2009

2

Contents

• Verification of Concurrent Systems: State Explosion

• Concepts• On Complexity of Verification • How Should We React to High Complexity?

• Dense Storage Schemes: Representing Large Sets in Small Space

• Question-type-specific Reductions

• Conclusions

Page 3: SPLST'20098/26/2009 1 Good to Know about the Efficiency of State Space Methods Mikko Tiusanen & Antti…

SPLST'2009 8/26/2009

3

Verification of Concurrent Systems:State Explosion

• Concurrency errors: hard to reproduce, locate, fix verify

• Generate the graph of reachable states, the state space

• Many ways; versatile, easy to understand: - Suffer from state explosion - Narrow? Mutually incompatible?

• Know your methods; know the state explosion problem!

• Criterion: How to do with (very) finite memory and time?

Page 4: SPLST'20098/26/2009 1 Good to Know about the Efficiency of State Space Methods Mikko Tiusanen & Antti…

SPLST'2009 8/26/2009

4

Concepts

• State: all information-preservers; initial, reachable,...

• Transition: atomic changes of state; structural, semantic,...

• State space: labelled graph; labelled transition system; Kripke structure

• Action: transition label in process algebras; (in)visible; abstraction

Page 5: SPLST'20098/26/2009 1 Good to Know about the Efficiency of State Space Methods Mikko Tiusanen & Antti…

SPLST'2009 8/26/2009

5

On Complexity of Verification

• Verification is complex, due not only to concurrency

• Complexity theory: shape of growth, not of instances

• NP-, PSPACE-, EXPSPACE-complete; undecidable

• Avoid undecidability due to data (Collatz sequence)

• Undecidable concurrency: 1 unbounded FIFO, 1 process

• State space or question PSPACE-complete problems - Asymmetry: questions small, but lead to harder problems

Page 6: SPLST'20098/26/2009 1 Good to Know about the Efficiency of State Space Methods Mikko Tiusanen & Antti…

SPLST'2009 8/26/2009

6

How Should We React toHigh Complexity?

• Worst-case: how likely?

• Inherent complexity: verification vs. expressiveness

• Exploit properties of system or verification question!

Page 7: SPLST'20098/26/2009 1 Good to Know about the Efficiency of State Space Methods Mikko Tiusanen & Antti…

SPLST'2009 8/26/2009

7

Dense Storage Schemes:Represent Large Sets in Small Space

Binary decision diagrams (BDDs) - Boolean functions as DAGs; order of variables fixed - Representing characteristic function of a set, relation - Set-at-a-time, forward or backward state space search - BDDs are no panacea

Page 8: SPLST'20098/26/2009 1 Good to Know about the Efficiency of State Space Methods Mikko Tiusanen & Antti…

SPLST'2009 8/26/2009

8

Dense Storage Schemes:Represent Large Sets in Small Space

• Prospects of dense storage schemes - Magnitude of the problem: describable systems are few - Interesting small state space representation? Useful? - Random sets: bit vectors optimal; BDDs not bad, either - BDDs not bad for practical sets, some methods are

• Dense storage of “small” sets - Being small is exploitable: explicit representation - Lower bound: nb - n log2 n + 1.44n on average

- Bit of information theory a help for new representations

Page 9: SPLST'20098/26/2009 1 Good to Know about the Efficiency of State Space Methods Mikko Tiusanen & Antti…

SPLST'2009 8/26/2009

9

Question-type-specific Reductions

• Throw info away; transparent / not; how to extract answer!• Process-algebraic reductions: equivalence, minimisation - CCS vs. CSP: appearances may deceive - Compositional, stepwise reductions - Minimisation may have alternatives - Weaker semantics is a resource Observational Equivalence vs. Traces• Stubborn sets: when order of concurrent transitions

insignificant - There are other ‘partial order’ methods, too - Overview: strong properties, less reduction - Semantics’ relation to some temporal logics

Page 10: SPLST'20098/26/2009 1 Good to Know about the Efficiency of State Space Methods Mikko Tiusanen & Antti…

SPLST'2009 8/26/2009

10

Question-type-specific Reductions

Page 11: SPLST'20098/26/2009 1 Good to Know about the Efficiency of State Space Methods Mikko Tiusanen & Antti…

SPLST'2009 8/26/2009

11

Conclusions

• State explosion: performance problem for verification

• Picking your questions pays

• Goal: not to waste space; can’t waste time, either

• Unnecessarily distinct state spaces waste space

• How not waste space to represent uninteresting systems?

• Approximations or non-transparent methods not discussed