Abstract
Bounded reachability analysis and bounded model checking are widely believed to perform poorly when using decision diagrams instead of SAT procedures. Recent research suggests this to be untrue with regards to synchronous systems and, in particular, digital circuits. This article shows that the belief is also a myth for asynchronous systems, such as models specified by Petri nets. We propose several Bounded Saturation approaches to compute bounded state spaces using decision diagrams. These approaches are based on the established Saturation algorithm, which benefits from a non-standard search strategy that is very different from breadth-first search, but employ different flavors of decision diagrams: multi-valued decision diagrams, edge-valued decision diagrams, and algebraic decision diagrams. We apply our approaches to studying deadlock as a safety property. Our extensive benchmarking shows that our algorithms often, but not always, compare favorably against two SAT-based approaches that are advocated in the literature.
Similar content being viewed by others
References
Abdulla P., Iyer S., Nylén A.: SAT-solving the coverability problem for Petri nets. FMSD 24(1), 25–43 (2004)
Bahar R.I., Frohm E.A., Gaona C.M., Hachtel G.D., Macii E., Pardo A., Somenzi F.: Algebraic decision diagrams and their applications. FMSD 10(2/3), 171–206 (1997)
Biere, A., Cimatti, A., Clarke, E.M., Zhu, Y.: Symbolic model checking without BDDs. In: TACAS. LNCS, vol. 1579, pp. 193–207. Springer, Berlin (1999)
Bryant R.E.: Symbolic boolean manipulation with ordered binary decision diagrams. ACM Comp. Surv. 24(3), 293–318 (1992)
Burch, J.R., Clarke, E.M., Long, D.E.: Symbolic model checking with partitioned transition relations. In: VLSI, pp. 49–58 (1991)
Cabodi G., Nocco S., Quer S.: Are BDDs still alive within sequential verification?. STTT 7(2), 129–142 (2005)
Ciardo, G.: Petri nets with marking-dependent arc multiplicity: properties and analysis. In: ICATPN. LNCS, vol. 815, pp. 179–198. Springer, Berlin (1994)
Ciardo G., Jones R.L., Miner A.S., Siminiceanu R.: Logical and stochastic modeling with SMART. Perf. Eval. 63, 578–608 (2006)
Ciardo, G., Lüttgen, G., Siminiceanu, R.: Saturation: An efficient iteration strategy for symbolic state-space generation. In: TACAS. LNCS, vol. 2031, pp. 328–342. Springer, Berlin (2001)
Ciardo G., Marmorstein R., Siminiceanu R.: The Saturation algorithm for symbolic state space exploration. STTT 8(1), 4–25 (2006)
Ciardo G., Miner A.S., Lüttgen G.: Exploiting interleaving semantics in symbolic state-space generation. FMSD 31(1), 63–100 (2007)
Ciardo, G., Siminiceanu, R.: Using edge-valued decision diagrams for symbolic generation of shortest paths. In: FMCAD. LNCS, vol. 2517, pp. 256–273. Springer, Berlin (2002)
Ciardo, G., Yu, A.J.: Saturation-based symbolic reachability analysis using conjunctive and disjunctive partitioning. In: CHARME. LNCS, vol. 3725, pp. 146–161. Springer, Berlin (2005)
Cimatti, A., Clarke, E.M., Giunchiglia, F., Roveri, M.: NuSMV: A new symbolic model verifier. In: CAV. LNCS, vol. 1633, pp. 495–499. Springer, Berlin (1999)
Clarke, E.M., Fujita, M., Zhao, X.: Application of multi-terminal binary decision diagrams. In: IFIP WG 10.5 Workshop on Applications of the Reed-Muller Expansion in Circuit Design (1995)
Clarke E.M., Biere A., Raimi R., Zhu Y.: Bounded model checking using satisfiability solving. FMSD 19(1), 7–34 (2001)
Clarke E.M., Grumberg O., Peled D.: Model Checking. MIT Press, Cambridge (1999)
Copty, F., Fix, L., Fraer, R., Giunchiglia, E., Kamhi, G., Tacchella, A., Vardi, M.Y.: Benefits of bounded model checking at an industrial setting. In: CAV. LNCS, vol. 2102, pp. 436–453. Springer, Berlin (2001)
Corbett J.C.: Evaluating deadlock detection methods for concurrent software. IEEE Trans. Softw. Eng. 22(3), 161–180 (1996)
The VIS Group. VIS: A system for verification and synthesis. In: CAV. LNCS, vol. 1102, pp. 428–432. Springer, Berlin (1996)
Heljanko, K.: Bounded reachability checking with process semantics. In: CONCUR. LNCS, vol. 2154, pp. 218–232. Springer, Berlin (2001)
Heljanko, K., Junttila, T.: Advanced tutorial on bounded model checking. In: ACSD/ICATPN (2006). http://www.tcs.hut.fi/~kepa/bmc-tutorial.html
Heljanko, K., Niemelä, I.: Answer set programming and bounded model checking. Answer Set Programming (2001)
Ivan̆ić, F., Yang, Z., Ganai, M., Gupta, A., Ashar, P.: F-Soft: Software Verification Platform. In: CAV. LNCS, vol. 3576, Springer, Berlin (2005)
Kam T., Villa T., Brayton R., Sangiovanni-Vincentelli A.: Multi-valued decision diagrams: Theory and applications. Multiple-Valued Log 4(1–2), 9–62 (1998)
Lai, Y.-T., Sastry, S.: Edge-valued binary decision diagrams for multi-level hierarchical verification. In: DAC, pp. 608–613. IEEE Press (1992)
Li B., Wang C., Somenzi F.: Abstraction refinement in symbolic model checking using satisfiability as the only decision procedure. STTT 7(2), 143–155 (2005)
McMillan K.: A technique of state space search based on unfolding. FMSD 6(1), 45–65 (1995)
McMillan, K.: Interpolation and SAT-Based Model Checking. In: CAV. LNCS, vol. 2725, pp. 1–13. Springer, Berlin (2003)
Moskewicz, M., Madigan, C., Zhao, Y., Zhang, L., Malik, S.: Chaff: Engineering an efficient SAT solver. In: DAC, pp. 530–535. ACM Press, New York (2001)
Ogata, S., Tsuchiya, T., Kikuno, T.: SAT-based verification of safe Petri nets. In: ATVA. LNCS, vol. 3299, pp. 79–92. Springer, Berlin (2004)
Rabinovitz, I., Grumberg, O.: Bounded model checking of concurrent programs. In: CAV. LNCS, vol. 3576, pp. 82–97. Springer, Berlin (2005)
Siminiceanu, R., Ciardo, G.: New metrics for static variable ordering in decision diagrams. In: TACAS. LNCS, vol. 3920, pp. 90–104. Springer, Berlin (2006)
Sheeran, M., Singh, S., Stålmarck, G.: Checking safety properties using induction and a SAT-solver. In: FMCAD. LNCS, vol. 1954, pp. 108–125. Springer (2000)
Solé, M., Pastor, E.: Traversal techniques for concurrent systems. In: FMCAD. LNCS, vol. 2517, pp. 220–237. Springer, Berlin (2002)
Tzoref, R., Matusevich, M., Berger, E., Beer, I.: An optimized symbolic bounded model checking engine. In: CHARME. LNCS, vol. 2860, pp. 141–149, Springer, Berlin (2003)
Rüdiger Valk. Generalizations of Petri nets. In: Mathematical Foundations of Computer Science. LNCS, vol. 118, pp. 140–155. Springer, Berlin (1981)
Yu, A.J., Ciardo, G., Lüttgen, G.: Improving static variable orders via invariants. In: ICATPN. LNCS, vol. 4546, pp. 83–103. Springer, Berlin (2007)
Author information
Authors and Affiliations
Corresponding author
Additional information
Research supported by the NSF under grants CNS-0501747 and CNS-0501748 and by the EPSRC under grant GR/S86211/01. An extended abstract of this article appeared in the proceedings of the 13th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS), LNCS~4424, pp.~648–663, 2007, Springer.
Rights and permissions
About this article
Cite this article
Yu, A.J., Ciardo, G. & Lüttgen, G. Decision-diagram-based techniques for bounded reachability checking of asynchronous systems. Int J Softw Tools Technol Transfer 11, 117–131 (2009). https://doi.org/10.1007/s10009-009-0099-0
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10009-009-0099-0