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

* Final gross prices may vary according to local VAT.

Get Access

Abstract

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.

This work is partially supported by the Grants-in-Aid for Scientific Research of Education Ministry of Japan: No. 09650444 for the first author and No. 09780231 and No. 11780184 for the second. The first author is also supported by the Special Grants from Hokkaido Institute of Technology.