SPLST'20098/26/ 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 Tampere, FINLAND
SPLST'20098/26/ 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
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?
SPLST'20098/26/ 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
SPLST'20098/26/ 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
SPLST'20098/26/ How Should We React to High Complexity? Worst-case: how likely? Inherent complexity: verification vs. expressiveness Exploit properties of system or verification question!
SPLST'20098/26/ 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
SPLST'20098/26/ 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 log 2 n n on average - Bit of information theory a help for new representations
SPLST'20098/26/ 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
SPLST'20098/26/ Question-type-specific Reductions
SPLST'20098/26/ 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