Title :
Reasoning about Data: Bits, bit vectors, or words
Author :
Bryant, Randal E.
Author_Institution :
Carnegie Mellon Univ., Pittsburgh, PA
Abstract :
Summary form only given. Many techniques for test generation and verification require reasoning about data using automated mathematical or logical techniques. Classical methods for specifying and reasoning about programs consider each word to be an arbitrary numeric value. This has carried over into many program analysis tools, where decision procedures for integer or real arithmetic are used to reason about program behavior. At the other extreme, most automatic methods for reasoning about hardware operate at the bit level, viewing each signal as an independent Boolean function of the input and state bits. In between these extremes, data can be modeled by finite-precision arithmetic and bit-wise operations on fixed-width data words. A decision procedure for such a bit-vector model can accurately capture the behavior of actual systems, while also exploiting abstraction techniques that are difficult to recognize when the system is modeled purely at the bit level. Until recently, the best way to reason about bit vectors was to simply expand formulas into their bit-level representations and apply Boolean satisfiability (SAT) solvers. Several newer decision procedures have improved on this approach by combining SAT solving with word-level abstractions. Work in this area is already having major impact in both program analysis and hardware testing and verification.
Keywords :
Boolean algebra; computability; formal verification; program diagnostics; reasoning about programs; Boolean function; Boolean satisfiability solvers; automated logical techniques; automated mathematical techniques; bit-level representations; bit-vector model; bit-wise operations; finite-precision arithmetic; fixed-width data words; hardware testing; hardware verification; program analysis tools; reasoning about data; reasoning about hardware; reasoning about programs; test generation; Arithmetic; Automatic testing; Boolean functions; Hardware; Logic testing; Reasoning about programs; USA Councils;
Conference_Titel :
VLSI Design, Automation and Test, 2008. VLSI-DAT 2008. IEEE International Symposium on
Conference_Location :
Hsinchu
Print_ISBN :
978-1-4244-1616-5
Electronic_ISBN :
978-1-4244-1617-2
DOI :
10.1109/VDAT.2008.4542396