- Two significant aspects of the fix-point approach in BHIM are:
- We efficiently solve
the binary reachability problem for pushdown automata. i.e., BHIM computes
all pairs of states (s, t) such that t is reachable from s with empty stacks. This
allows us to go beyond reachability and handle some liveness questions.
- We
pre-compute the set of pairs of states that are endpoints of holes. This allows us
to greatly limit the search for an accepting run.
- Witness:While the fix-point approach solves (binary) reachability efficiently, it does not
a priori produce a witness of reachability. We remedy this situation by proposing
a backtracking algorithm, which cleverly uses the computations done in the
fix-point algorithm, to generate a witness efficiently.
- Parametrized Operation: is parametrized w.r.t the hole bound: if non-emptiness can be checked
or witnessed by a well-nested sequence (this is an easy witness and BHIM looks
for easy witnesses first, then gradually increases complexity, if no easy witness is
found), then it is sufficient to have the hole bound 0; increasing this complexity
measure as required to certify non-emptiness gives an efficient implementation, in
the sense that we search for harder witnesses only when no easier witnesses (w.r.t
this complexity measure) exist. In all examples as described in the experimental
section, a small (less than 4) bound suffices and we expect this to be the case for
most practical examples.
- Extension to time domain: Finally, extend our approach to handle timed multi-stack pushdown systems.
This shows the versatility of our approach and also requires us to solve several
technical challenges which are specific to the timed setting. Implementing this
approach in BHIM makes it, to the best of our knowledge, the first tool that can
analyze timed multi-stack pushdown automata (TMPDA) with closed guards.
Download BHIM
- Download
Click here to download BHIM.