Context-sensitive program analysis as database queries
Proceedings of the twenty-fourth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
Techniques for scaling up analyses based on pre-interpretations
ICLP'05 Proceedings of the 21st international conference on Logic Programming
Using datalog with binary decision diagrams for program analysis
APLAS'05 Proceedings of the Third Asian conference on Programming Languages and Systems
Converting one type-based abstract domain to another
LOPSTR'05 Proceedings of the 15th international conference on Logic Based Program Synthesis and Transformation
Hi-index | 0.00 |
Binary decision diagram (BDD) is a data structure to manipulate Boolean functions and recognized as a powerful tool in the VLSI CAD area. We consider that compactness and efficient operations of BDDs can be utilized for storing temporary relations in bottom-up evaluation of logic queries. We show two methods of encoding relations into BDDs, called logarithmic encoding and linear encoding, define relational operations on BDDs and discuss optimizations in ordering BDD variables to construct memory and time efficient BDDs. Our experiments show that our BDD-based bottom-up evaluator has remarkable performance against traditional hash table-based methods for transitive closure queries on dense graphs.