Modeling and Verifying Systems Using a Logic of Counter Arithmetic with Lambda Expressions and Uninterpreted Functions
 Randal E. Bryant,
 Shuvendu K. Lahiri,
 Sanjit A. Seshia
 … show all 3 hide
Abstract
In this paper, we present the logic of Counter Arithmetic with Lambda Expressions and Uninterpreted Functions (CLU). CLU generalizes the logic of equality with uninterpreted functions (EUF) with constrained lambda expressions, ordering, and successor and predecessor functions. In addition to modeling pipelined processors that EUF has proved useful for, CLU can be used to model many infinitestate systems including those with infinite memories, finite and infinite queues including lossy channels, and networks of identical processes. Even with this richer expressive power, the validity of a CLU formula can be efficiently decided by translating it to a propositional formula, and then using Boolean methods to check validity. We give theoretical and empirical evidence for the efficiency of our decision procedure. We also describe verification techniques that we have used on a variety of systems, including an outoforder execution unit and the loadstore unit of an industrial microprocessor.
 Abdulla, P., Bouajjani, A., Jonsson, B. (1998) Onthefly analysis of systems with unbounded, lossy FIFO channels. CAV’98. Springer, Berlin Heidelberg, pp. 305318
 W. Ackermann. Solvable Cases of the Decision Problem. 1954.
 Barrett, C., Dill, D., Levitt, J. (1996) Validity checking for combinations of theories with equality. FMCAD’96. Springer, Berlin Heidelberg, pp. 187201
 A. J. C. Bik and H. A. G. Wijshoff. Implementation of FourierMotzkin elimination. Technical Report 9442, Dept. of Computer Science, Leiden University, 1994.
 B. Boigelot, P. Godefroid, B. Willems, and P. Wolper. The power of QDDs. In SAS’ 97, pages 172–186.
 Bouajjani, A., Jonsson, B., Nilsson, M., Touili, T. (2000) Regular model checking. CAV 2000. Springer, Berlin Heidelberg, pp. 403418
 R. E. Bryant, S. German, and M. N. Velev. Exploiting positive equality in a logic of equality with uninterpreted functions. ACM Transactions on Computational Logic, 2(1):93–134, January 2001.
 Bryant, R. E., Velev, M. N. (2000) Boolean satisfiability with transitivity constraints. CAV 2000. Springer, Berlin Heidelberg, pp. 8598
 Bultan, T., Gerber, R., Pugh, W. (1997) Symbolic model checking of infinite state systems using Presburger arithmetic. CAV’ 97. Springer, Berlin Heidelberg, pp. 400411
 Burch, J. R., Dill, D. L. (1994) Automated verification of pipelined microprocessor control. CAV’ 94. Springer, Berlin Heidelberg, pp. 6880
 Fischer, M. J., Rabin, M. O. (1974) Superexponential complexity of Presburger arithmetic. Proc. SIAMAMS 7: pp. 2741
 Steven German. Personal communication.
 M. J. C. Gordon and T. F. Melham. Introduction to HOL: A Theorem Proving Environment for HigherOrder Logic. 1993.
 Jhala, R., McMillan, K. (2001) Microarchitecture verification by compositional model checking. CAV 2001. Springer, Berlin Heidelberg, pp. 396410
 Kesten, Y., Maler, O., Marcus, M., Pnueli, A., Shahar, E. (1997) Symbolic model checking with rich assertional languages. CAV’ 97. Springer, Berlin Heidelberg, pp. 424435
 M. Moskewicz, C. Madigan, Y. Zhao, L. Zhang, and S. Malik. Chaff: Engineering an efficient SAT solver. In Design Automation Conference (DAC’01), pages 530–535, June 2001.
 S. Owre, J. M. Rushby, and N. Shankar. PVS: A prototype verification system. In CADE’ 92, LNAI 607, pages 748–752.
 Pnueli, A., Rodeh, Y., Shtrichman, O., Siegel, M. (1999) Deciding equality formulas by smalldomain instantiations. CAV’ 99. Springer, Berlin Heidelberg, pp. 455469
 V. Pratt. Two easy theories whose combination is hard. Technical report, Massachusetts Institute of Technology, 1977. Cambridge, Mass.
 O. Strichman, S. A. Seshia, and R. E. Bryant. Deciding separation formulas with SAT. In Proc. ComputerAided Verification (CAV’02), July 2002. This volume.
 UCLID. Available at http://www.cs.cmu.edu/~uclid.
 M. N. Velev and R. E. Bryant. Effective use of Boolean satisfiability procedures in the formal verification of superscalar and VLIW microprocessors. In Design Automation Conference (DAC’ 01), pages 226–231, June 2001.
 Title
 Modeling and Verifying Systems Using a Logic of Counter Arithmetic with Lambda Expressions and Uninterpreted Functions
 Book Title
 Computer Aided Verification
 Book Subtitle
 14th International Conference, CAV 2002 Copenhagen, Denmark, July 27–31, 2002 Proceedings
 Pages
 pp 7892
 Copyright
 2002
 DOI
 10.1007/3540456570_7
 Print ISBN
 9783540439974
 Online ISBN
 9783540456575
 Series Title
 Lecture Notes in Computer Science
 Series Volume
 2404
 Series ISSN
 03029743
 Publisher
 Springer Berlin Heidelberg
 Copyright Holder
 SpringerVerlag Berlin Heidelberg
 Additional Links
 Topics
 Industry Sectors
 eBook Packages
 Editors

 Ed Brinksma ^{(4)}
 Kim Guldstrand Larsen ^{(5)}
 Editor Affiliations

 4. Department of Computer Science, University of Twente
 5. Department of Computer Science, Aalborg University
 Authors

 Randal E. Bryant ^{(6)} ^{(7)}
 Shuvendu K. Lahiri ^{(7)}
 Sanjit A. Seshia ^{(6)}
 Author Affiliations

 6. School of Computer Science, Carnegie Mellon University, Pittsburgh, PA
 7. Electrical and Computer Engineering Department, Carnegie Mellon University, Pittsburgh, PA
Continue reading...
To view the rest of this content please follow the download PDF link above.