Graph-Based Algorithms for Boolean Function Manipulation
IEEE Transactions on Computers
Common LISP: the language (2nd ed.)
Common LISP: the language (2nd ed.)
Efficient implementation of a BDD package
DAC '90 Proceedings of the 27th ACM/IEEE Design Automation Conference
ACL2 Theorems About Commercial Microprocessors
FMCAD '96 Proceedings of the First International Conference on Formal Methods in Computer-Aided Design
Symbolic Boolean Manipulation with Ordered Binary Decision Diagrams
Symbolic Boolean Manipulation with Ordered Binary Decision Diagrams
Hi-index | 0.00 |
A fixnum is a data object used in Lisp and other programming languages for representing an integer within some fixed range; fixnum consisting of tag bits and an integer value is represented in a single machine word. Programming language systems must use or generate instruction sequences such as "check if two objects are both fixnums" and "check if the sum of two fixnums does not overflow." To obtain efficient code, tricky bit operations with low-level instructions are used. To the best of our knowledge, mechanical verification frameworks for verifying these instruction sequences have not been investigated thus far. We implemented a library for validating low-level instructions against their intended meaning in Common Lisp. We consider each bit in a machine word as a Boolean value and verify the constraints that correspond to the intended meaning using binary decision diagrams.