Abstract
Multi-valued logics provide an interesting alternative to classical boolean logic for modeling and reasoning about systems. Such logics can be used for reasoning about partially-specified systems, effectively encode vacuity detection and query-checking problems, help in detecting inconsistencies, and many others.
In our earlier work, we identified a useful family of multi-valued logics: those specified over finite distributive lattices where negation preserves involution, i.e., \({{\neg}}{{\neg}} a = a\) for every element a of the logic. Such structures are called quasi-boolean algebras, and model-checking over these not only extends the domain of applicability of automated reasoning to new problems, but can also speed up solutions to some classical verification problems.
Symbolic model-checking over quasi-boolean algebras can be cast in terms of operations over multi-valued sets: sets whose membership functions are multi-valued. In this paper, we propose and empirically evaluate several choices for implementing multi-valued sets with decision diagrams. In particular, we describe two major approaches: (1) representing the multi-valued membership function canonically, using MDDs or ADDs; (2) representing multi-valued sets as a collection of classical sets, using a vector of either MBTDDs or BDDs. The naive implementation of (2) includes having a classical set for each value of the algebra. We exploit a result of lattice theory to reduce the number of such sets that need to be represented.
The major contribution of this paper is the evaluation of the different implementations of multi-valued sets, done via a series of experiments and using several case studies.
Similar content being viewed by others
Notes
The subscript on mv-set operations \(\cup_{\scriptscriptstyle L}, \cap_{\scriptscriptstyle L}\), and so forth, refers to a given algebra, \(L = (\mathcal{L}, {\sqcap}, \sqcup, {\neg})\).
An FTO is a lattice \((\mathcal{L}, \sqsubseteq)\), where ⊑ is a total order. Algebra 5, given in Fig. 18(b), is an FTO.
References
Akers S (1978) Binary decision diagrams. IEEE Trans Comput C-27:509–516
Babu HH, Sasao T (1999) Representations of multiple-output functions using binary decision diagrams for characteristic functions. IEICE Trans Fundam E82-A(11):2398–2406
Bahar RI, Frohm EA, Gaona CM, Hachtel GD, Macii E, Pardo A, Somenzi F (1993) Algebraic decision diagrams and their applications. In: IEEE/ACM International Conference on Computer-Aided Disign (ICCAD’93). IEEE Computer Society Press, Santa Clara, California, pp 188–191
Baier, C, Clarke EM (1998) The algebraic Mu-Calculus and MTBDDs. In: Proceedings of the 5th Workshop on Logic, Language, Information and Computation (WoLLIC’98), pp 27–38
Ball T, Podelski A, Rajamani S (2001) Boolean and Cartesian abstraction for model checking C programs. In: Proceedings of 7th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS’01), vol 2031 of LNCS, pp 268–283
Ball T, Rajamani S (2001) The SLAM toolkit. In: Proceedings of 13th International Conference on Computer-Aided Verification (CAV’01). vol 2102 of LNCS, pp 260–264
Beer I, Ben-David S, Eisner C, Rodeh Y (2001) Efficient detection of vacuity in temporal model checking. Form Meth Sys Des 18(2):141–163
Belnap ND (1977) A useful four-valued logic. In: Dunn, Epstein (eds) Modern uses of multiple-valued logic. Reidel, pp 30–56
Berney GC, dos Santos SM (1985) Elevator analysis, design and control. IEE control engineering, Series 2. Peter Peregrinus Ltd
Birkhoff G (1967) Lattice theory, 3rd edn. Americal Mathematical Society, Providence, RI
Bolc L, Borowik P (1992) Many-valued logics. Springer-Verlag
Bruns G, Godefroid P (2000) Generalized model checking: reasoning about partial state spaces. In: Proceedings of 11th International Conference on Concurrency Theory (CONCUR’00), vol 1877 of LNCS. Springer, pp 168–182
Bruns G, Godefroid P (2001) Temporal logic query-checking. In: Proceedings of 16th Annual IEEE Symposium on Logic in Computer Science (LICS’01). IEEE Computer Society, Boston, MA, USA, pp 409–417
Bryant RE (1986) Graph-based algorithms for boolean function manipulation. Trans Comput 8(C-35):677–691
Bryant RE (1992) Symbolic boolean manipulation with ordered binary-decision diagrams. Comput Surv 24(3):293–318
Bultan T, Gerber R, League C (2000) Composite model checking: Verification with type-specific symbolic representations. ACM Trans Softw Engng Method 9(1):3–50
Burch JR, Clarke EM, McMillan KL, Dill DL, Hwang LJ (1992) Symbolic model checking for sequential circuit verification. IEEE Trans Comput-Aided Design Integr Circ 13(4):401–424
Chan W (2000) Temporal-logic queries. In: Proceedings of the 12th Conference on Computer Aided Verification (CAV’00), vol 1855 of LNCS. Springer, Chicago, IL, USA, pp 450–463
Chechik M, Devereux B, Easterbrook S (2001) Implementing a multi-valued symbolic model-checker. In: Proceedings of TACAS’01, vol 2031 of LNCS. Springer, pp 404–419
Chechik M, Devereux B, Easterbrook S, Gurfinkel A (2003) Multi-valued symbolic model-checking. ACM Trans Softw Engng Method 12(4):1–38
Chechik M, Devereux B, Easterbrook S, Lai A, Petrovykh V (2001) Efficient multiple-valued model-checking using lattice representations. In: Proceedings of 12th International Conference on Concurrency Theory (CONCUR’01), vol 2154 of LNCS. Aalborg, Denmark, pp 451–465
Chechik M, Devereux B, Gurfinkel A (2002) \({\mathcal X}\)Chek: a multi-valued model-checker. In: Proceedings of 14th International Conference on Computer-Aided Verification (CAV’02), vol 2404 of LNCS. Springer, Copenhagen, Denmark, pp 505–509
Chechik M, Easterbrook S, Petrovykh V (2001) Model-checking over multi-valued logics. In: Proceedings of Formal Methods Europe (FME’01)}, vol 2021 of LNCS. Springer, pp 72–98
Cimatti A, Clarke EM, Giunchiglia F, Roveri M (1999) NuSMV: a new symbolic model verifier. In: Halbwachs N, Peled D (eds) Proceedings of 11th Conference on Computer-Aided Verification (CAV’99), vol 1633 of LNCS. Springer, Trento, Italy, pp 495–499
Clarke E, Grumberg O, Peled D (1999) Model checking. MIT Press
Clarke E, Jha S, Lu Y, Wang D (1999) Abstract BDDs: a technique for using abstraction in model checking. In: Proceedings of 10th IFIP WG 10.5 Advanced Research Working Conference on Correct Hardware Design and Verification Methods (CHARME’99), vol 1703 of LNCS. Springer, Germany, pp 172–186
Clarke EM, Emerson EA, Sistla AP (1986) Automatic verification of finite-state concurrent systems using temporal logic specifications. ACM Trans Program Lang Syst 8(2):244–263
Corella F, Zhou Z, Song X, Langevin M, Cerny E (1997) Multiway decision graps for automated hardware verification. Form Methods Syst Design 10(1):7–46
Davey BA, Priestley HA (1990) Introduction to lattices and order. Cambridge University Press
Drechsler R, Becker B (1998) Binary decision diagrams: theory and implementation. Kluwer Academic
Dunn JM (1999) A comparative study of various model-theoretic treatments of negation: a history of formal negation. In: Dov G, Heinrich W (eds) What is negation. Kluwer Academic Publishers
Easterbrook S, Chechik M (2001) A framework for multi-valued reasoning over inconsistent viewpoints. In: Proceedings of International Conference on Software Engineering (ICSE’01). IEEE Computer Society Press, Toronto, Canada, pp 411–420
Fujita M, McGeer PC, Yang JC-Y (1997) Multi-terminal binary decision diagrams: an efficient data structure for matrix representation. Form Methods Syst Design: An Intern J 10(2/3):149–169
Godefroid P, Jagadeesan R (2002) Automatic abstraction using generalized model-checking. In: Proceedings of 14th International Conference on Computer-Aided Verification (CAV’02), vol 2404 of LNCS, pp 137–150
Gurfinkel A, Chechik M (2003) Generating counterexamples for multi-valued model-checking. In: Proceedings of Formal Methods Europe (FME’03), vol 2805 of LNCS. Springer, Pisa, Italy, pp 503–521
Gurfinkel A, Chechik M (2003) Multi-valued model-checking via classical model-checking. In: Proceedings of 14th International Conference on Concurrency Theory (CONCUR’03), vol 2761 of LNCS. Springer, pp 263–277
Gurfinkel A, Chechik M (2004) How vacuous is vacuous?. In: Proceedings of 10th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS’04), vol 2988 of LNCS. Springer, Barcelona, Spain, pp 451–466
Gurfinkel A, Chechik M, Devereux B (2003) Temporal logic query checking: a tool for model exploration. IEEE Trans Soft Engng 29(10):898–914
Gurfinkel A, Wei O, Chechik M (2006) Systematic construction of abstractions for model-checking. In: Proceedings of 7th International Conference on Verification, Model-Checking, and Abstract Interpretation (VMCAI’06), vol 3855 of LNCS. Springer, Charleston, SC, pp 381–397
Hazelhurst S, Seger CH (1999) Model checking lattices: using and reasoning about information orders for abstraction. Logic J IGPL 7(3):375–411
Huth M, Ryan M (2000) Logic in computer science: modeling and reasoning about systems. Cambridge University Press
Kleene SC (1952) Introduction to metamathematics. Van Nostrand, New York
Kropf T (1999) An introduction to formal verification. Springer-Verlag
Kupferman O, Vardi M (2003) Vacuity detection in temporal model checking. Intern J Soft Tools Techn Trans (STTT) 4(2):224–233
Kwiatkowska MZ, Norman G, Parker DA, Segala R (2000) Symbolic model checking of probabilistic processes using MTBDDs and the Kronecker representation. In: Proceedings of TACAS 2000, vol 1587 of LNCS. Springer-Verlag
McMillan KL (1993) Symbolic model checking. Kluwer Academic
Minato S (1997) Arithmetic boolean expression manipulator using BDDs. Form Meth Sys Des 10:221–242
Pazos-Arias JJ, Duque JG (2001) SCTL-MUS: a formal methodology for software development of distributed systems. A case study. Form Asp Comput 13:50–91
Plath MC, Ryan MD (1999) A semantics of a feature construct for SMV: a case study in non-monotonic composition. Technical Report, School of Computer Science, University of Birmingham. Available as \({\tt ftp://ftp.cs.bham.ac.uk/pub/tech-reports/1999/CSR-99-10.ps.gz}\)
Plath MC, Ryan MD (1999) SFI: a feature integration tool. In: Berghammer R, Lakhnech Y (eds) Tool support for system specification, development and verification. Advances in Computer Science. Springer, pp 201–216
Rasiowa H (1978) An algebraic approach to non-classical logics. Studies in logic and the foundations of mathematics. Amsterdam, North-Holland
Reps TW, Sagiv M, Wilhelm R (2004) Static program analysis via 3-valued logic. In: Proceedings of 16th International Conference on Computer-Aided Verification (CAV’04), vol 3114 of LNCS, pp 15–30
Sabetzadeh M, Easterbrook SM (2003) Analysis of inconsistency in graph-based viewpoints: a category-theoretic approach. In: Proceedings of 18th IEEE International Conference on Automated Software Engineering (ASE’03). IEEE Computer Society, pp 12–21
Sasao T, Butler JT (1996) A method to represent multiple-output switching functions using multi-valued decision diagrams. In: Proceedings of IEEE International Symposium on Multiple-Valued Logic (ISMVL’96). Santiago de Compostela, Spain, pp 248–254
Sebastini R, Singerman E, Tonetta S, Vardi MY (2004) GSTE is partitioned model checking. In: Proceedings of 16th Internationao Conference on Computer-Aided Verification (CAV’04), vol 3114 of LNCS, pp 229–241
Shoham S, Grumberg O (2003) A game-based framework for CTL counter-examples and 3-valued abstraction-refinement. In: Proceedings of the 15th Conference on Computer Aided Verification (CAV’03), vol 2725 of lecture notes in computer science. Springer, pp 275–287
Somenzi F (1999) Binary decision diagrams. In: Manfred B, Ralf S (eds) Calculational system design, vol 173 of NATO Science Series F: Computer and Systems Sciences. IOS Press, pp 303–366
Srinivasan A, Kam T, Malik S, Brayton RE (1990) Algorithms for discrete function manipulation. In: IEEE/ACM International Conference on Computer-Aided Design (ICCAD’90). IEEE Computer Society, Santa Clara, CA, USA, pp 92–95
Wegener I (2000) Branching programs and binary decision diagrams: theory and applications. Monographs on Discrete Mathematics and Applications. SIAM
Yang B, Bryant RE, O’Hallaron DR, Biere A, Coudert O, Janssen G, Ranjan RK, Somenzi F (1998) A performance study of BDD-based model checking. In: Formal Methods in Computer-Aided Design, pp 255–289
Zadeh LA (1987) Fuzzy sets. In: Yager RR, Ovchinnikov S, Tong RM, Nguyen HT (eds) Fuzzy sets and applications. Selected Papers by Zadeh LA. John Wiley & Sons, Inc., New York, pp 29–44
Acknowledgments
We thank Wendy MacCaull, Christopher Thompson-Walsh and Victor Petrovykh for many interesting discussions and for their help implementing the model-checker. We are also grateful to the members of the University of Toronto formal methods reading group and the anonymous referees for helping us refine the ideas presented in this paper and improve the clarity of the presentation. This work was financially supported by NSERC and CITO.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Chechik, M., Gurfinkel, A., Devereux, B. et al. Data structures for symbolic multi-valued model-checking. Form Method Syst Des 29, 295–344 (2006). https://doi.org/10.1007/s10703-006-0016-z
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10703-006-0016-z