Heuristics and Experiments on BDD Representation of Boolean Functions for Expert Systems in Software Verification Domains

  • Masahito Kurihara
  • Hisashi Kondo
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1747)


Binary decision diagrams (BDDs) are graph-theoretical, compact representation of Boolean functions, successfully applied in the domain of expert systems for practical VLSI design. The authors have been developing the methods of using BDDs for expert systems that mechanically try to prove the termination of rule-based computer programs. To make BDD representation really practical, however, we need good heuristics for ordering Boolean variables and operations. In this paper, we will present some heuristic methods that could affect the performance and evaluate them through the comprehensive experiments on sample rule-based programs taken from practical domains such as hardware diagnosis, software specification, and mathematics. The results show the big difference among the heuristics and provide us useful information for optimizing the overall systems.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Akers, S. B.: Binary decision diagrams, IEEE Trans. Comput., Vol. C-27, No. 6, pp.509–516 (1978)Google Scholar
  2. 2.
    Bryant, R. E.: Graph-based algorithm for boolean function manipulation, IEEE Trans. Comput., Vol. C-35, No. 5, pp.677–691 (1986)Google Scholar
  3. 3.
    Bundy, A.: Rewrite rules, The Computer Modelling of Mathematical Reasoning, Academic Press, pp.115–149 (1983)Google Scholar
  4. 4.
    Coudert, O. and Madre, J. C: Towards an interactive fault tree analyser, Proc. IASTED Int. Conf. on Reliability, Quality Control and Risk Assessment (1992)Google Scholar
  5. 5.
    Detlefs, D. and Forgaad, R.: A procedure for automatically proving the termination of a set of rewrite rules, Proc. of 1st Conf. on Rewriting Techniques and Applications, Springer, LNCS 202, pp.255–270 (1985)Google Scholar
  6. 6.
    Kondo, H. and Kurihara, M.: Termination verification system for term rewriting systems using binary decision diagram, Intern. Journal of Japanese Society for Artificial Intelligence, Vol.13, No.5, pp.822–834 (1998) (in Japanese)Google Scholar
  7. 7.
    Kurihara, M., Kondo, H., et al.: Using ATMS to efficiently verify the termination of rewrite rule programs, Intern. Journal of Software Engineering and Knowledge Engineering, Vol.2, No.4, pp.547–565 (1992)CrossRefGoogle Scholar
  8. 8.
    Kurihara, M. and Kondo, H.: Binary decision diagrams for mechanical verification of precedence-based termination of rewrite rules, Poster Proc. of 5th Pacific Rim Int. Conf. on Artificial Intelligence, pp.7–12 (1998)Google Scholar
  9. 9.
    Madre, J. C. and Coudert, O.: A logically complete reasoning maintenance system based on a logical constraint solver, Proc. IJCAI, pp.294–299 (1991)Google Scholar
  10. 10.
    Malik, S., et al.: Logic verification using binary decision diagrams in a logic synthesis environment, Proc. IEEE Int. Conf. on Computer-Aided Design, pp.6–9 (1988)Google Scholar
  11. 11.
    Moore, J. S.: Introduction to the OBDD algorithm for the ATP community, Journal of Automated Reasoning, Vol.12, pp.33–45 (1994)MATHCrossRefGoogle Scholar
  12. 12.
    Plaisted, D. A.: Equational reasoning and term rewriting systems, in Gabbay, D. M. (ed.), Handbook of Logic in Artificial Intelligence and Logic Programming, pp.274–364 (1993)Google Scholar
  13. 13.
    Steinbach, J.: Termination of rewriting, Ph.D thesis, Univ. Kaiserslautern, Germany (1994)Google Scholar
  14. 14.
    Steinbach, J. and Kühler, U.: Check your ordering — termination proofs and open problems, SEKI report SR-90-25(SFB), Univ. Kaiserslautern, Germany (1990)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1999

Authors and Affiliations

  • Masahito Kurihara
    • 1
  • Hisashi Kondo
    • 2
  1. 1.Hokkaido Institute of TechnologySapporoJapan
  2. 2.Ibaraki UniversityHitachiJapan

Personalised recommendations