[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
article

Processor verification using efficient reductions of the logic of uninterpreted functions to propositional logic

Published: 01 January 2001 Publication History

Abstract

The logic of Equality with Uninterpreted Functions (EUF) provides a means of abstracting the manipulation of data by a processor when verifying the correctness of its control logic. By reducing formulas in this logic to propositional formulas, we can apply Boolean methods such as ordered Binary Decision Diagrams (BDDs) and Boolean satisfiability checkers to perform the verification. We can exploit characteristics of the formulas describing the verification conditions to greatly simplfy the propostional formulas generated. We identify a class of terms we call “p-terms” for which equality comparisons can only be used in monotonically positive formulas. By applying suitable abstractions to the hardware model, we can express the functionality of data values and instruction addresses flowing through an instruction pipeline with p-terms. A decision procedure can exploit the restricted uses of p-terms by considering only “maximally diverse” interpretations of the associated function symbols, where every function application yields a different value execept when constrainted by functional consistency. We present two methods to translate formulas in EUF into propositional logic. The first interprets the formula over a domain of fixed-length bit vectors and uses vectors of propositional variables to encode domain variables. The second generates formulas encoding the conditions under which pairs of terms have equal valuations, introducing propostional variables to encode the equality relations between pairs of terms. Both of these approaches can exploit maximal diversity to greatly reduce the number of propositional variables that need to be introduced and to reduce the overall formula sizes. We present experimental results demonstrating the efficiency of this approach when verifying pipelined processors using the method proposed by Burch and Dill. Exploiting positive equality allows us to overcome the experimental blow-up experienced previously when verifying microprocessors with load, store, and branch instructions.

References

[1]
ACKERMANN, W. 1954. Solvable Cases of the Decision Problem, North-Holland.]]
[2]
BEREZIN, S., BIERE, A., CLARKE, E. M., AND ZHU, Y. 1998. Combining symbolic model checking with uninterpreted functions for out of order processor verification. In Formal Methods in Computer- Aided Design, G. Gopalakrishnan and P. Windley, Eds. Vol. 1522. Springer-Verlag, 187-201.]]
[3]
BRYANT, R. E. 1986. Graph-based algorithms for Boolean function manipulation. IEEE Trans. Comput. C-35, 8 (Aug.), 677-691.]]
[4]
BRYANT,R.E.AND VELEV, M. N. 2000a. Boolean satisfiability with transitivity constraints. In Computer-Aided Verification, E. A. Emerson and A. P. Sistla, Eds. Lecture Notes in Computer Science, vol. 1855, Springer-Verlag, 85-98.]]
[5]
BRYANT,R.E.AND VELEV, M. N. 2000b. Boolean satisfiability with transitivity constraints. Tech. Rep. CMU-CS-00-101, Carnegie Mellon University, Computer Science Department. Available as http://www.cs.cmu.edu/~bryant/pubdir/cmu-cs-00-101.ps .]]
[6]
BURCH, J. R. 1996. Techniques for verifying superscalar microprocessors. In 33rd Design Automation Conference, 552-557.]]
[7]
BURCH,J.R.AND DILL, D. L. 1994. Automated verification of pipelined microprocessor control. In Computer-Aided Verification, D. L. Dill, Ed. Lecture Notes in Computer Science, vol. 818. Springer-Verlag, 68-80.]]
[8]
DAMM, W., PNUELI, A., AND RUAH, S. 1998. Herbrand automata for hardware verification. In 9th International Conference on Concurrency Theory, D. Sangiorgi and R. de Simone, Eds. Lecture Notes in Computer Science, vol. 1466, Springer-Verlag, 67-83.]]
[9]
GOEL, A., SAJID, K., ZHOU, H., AZIZ, A., AND SINGHAL, V. 1998. BDD based procedures for a theory of equality with uninterpreted functions. In Computer-Aided Verification, A. J. Hu and M. Y. Vardi, Eds. Lecture Notes in Computer Science, vol. 1427. Springer-Verlag, 244-255.]]
[10]
HENNESSY,J.L.AND PATTERSON, D. A. 1996. Computer Architecture: A Quantitative Approach, 2nd edition. Morgan-Kaufmann.]]
[11]
HOJATI, R., KUEHLMANN, A., GERMAN,S.,AND BRAYTON, R. K. 1997. Validity checking in the theory of equality with uninterpreted functions using finite instantiations, presented at the International Workshop on Logic Synthesis.]]
[12]
JONES, R. B., DILL, D. L., AND BURCH, J. R. 1995. Efficient validity checking for processor verification. In International Conference on Computer-Aided Design,2-6.]]
[13]
KANE,G.AND HEINRICH, J. 1992. MIPS RISC Architecture. Prentice Hall.]]
[14]
NELSON,G.AND OPPEN, D. C. 1980. Fast decision procedures based on the congruence closure. J. ACM 27, 2, pp. 356-364.]]
[15]
PNUELI, A., RODEH, Y., SHTRICHMAN,O.,AND SIEGEL, M. 1999. Deciding equality formulas by smalldomain instantiations. In Computer-Aided Verification, N. Halbwachs and D. Peled, Eds. Lecture Notes in Computer Science, vol. 1633. Springer-Verlag, 455-469.]]
[16]
SHOSTAK, R. E. 1979. A practical decision procedure for arithmetic with function symbols. J. ACM 26,2,351-360.]]
[17]
VELEV, M. N. 2000. Formal verification of VLIW microprocessors with speculative execution. In Computer-Aided Verification, E. A. Emerson and A. P. Sistla, Eds. Lecture Notes in Computer Science, vol. 1855. Springer-Verlag, 296-311.]]
[18]
VELEV,M.N.AND BRYANT, R. E. 1998. Bit-level abstraction in the verification of pipelined microprocessors by correspondence checking. In Formal Methods in Computer-Aided Design, G. Gopalakrishnan and P. Windley, Eds. Vol. 1522. Springer-Verlag, 18-35.]]
[19]
VELEV,M.N.AND BRYANT, R. E. 1999a. Exploiting positive equality and partial non-consistency in the formal verification of pipelined microprocessors. In 36th Design Automation Conference, 112-117.]]
[20]
VELEV,M.N.AND BRYANT, R. E. 1999b. Superscalar processor verification using efficient reductions of the logic of equality with uninterpreted functions. In Correct Hardware Design and Verification Methods, L. Pierre and T. Kropf, Eds. Vol. 1703. Springer-Verlag, 37-53.]]
[21]
VELEV,M.N.AND BRYANT, R. E. 2000. Formal verification of superscalar microprocessors with multicycle functional units, exceptions, and branch prediction. In 37th Design Automation Conference, 112-117.]]

Cited By

View all
  • (2023)Automatic Formal Verification of RISC-V Pipelined Microprocessors with Fault Tolerance by Spatial Redundancy at a High Level of AbstractioniFM 202310.1007/978-3-031-47705-8_11(193-213)Online publication date: 13-Nov-2023
  • (2020)A Decision Procedure of EUF Formulas Based on Eager EncodingSoftware Engineering and Applications10.12677/SEA.2020.9100609:01(49-55)Online publication date: 2020
  • (2020)Distributed Subtrajectory Join on Massive DatasetsACM Transactions on Spatial Algorithms and Systems10.1145/33736426:2(1-29)Online publication date: 4-Feb-2020
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Transactions on Computational Logic
ACM Transactions on Computational Logic  Volume 2, Issue 1
Jan. 2001
153 pages
ISSN:1529-3785
EISSN:1557-945X
DOI:10.1145/371282
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 January 2001
Published in TOCL Volume 2, Issue 1

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. decision procedures
  2. processor verfication
  3. uninterpreted functions

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)11
  • Downloads (Last 6 weeks)1
Reflects downloads up to 12 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Automatic Formal Verification of RISC-V Pipelined Microprocessors with Fault Tolerance by Spatial Redundancy at a High Level of AbstractioniFM 202310.1007/978-3-031-47705-8_11(193-213)Online publication date: 13-Nov-2023
  • (2020)A Decision Procedure of EUF Formulas Based on Eager EncodingSoftware Engineering and Applications10.12677/SEA.2020.9100609:01(49-55)Online publication date: 2020
  • (2020)Distributed Subtrajectory Join on Massive DatasetsACM Transactions on Spatial Algorithms and Systems10.1145/33736426:2(1-29)Online publication date: 4-Feb-2020
  • (2019)Chinese Zero Pronoun ResolutionACM Transactions on Asian and Low-Resource Language Information Processing10.1145/332588419:1(1-20)Online publication date: 5-Jun-2019
  • (2019)Chinese Zero Pronoun ResolutionACM Transactions on Asian and Low-Resource Language Information Processing10.1145/332112919:1(1-21)Online publication date: 5-Jun-2019
  • (2019)Towards a Diffraction-based Sensing Approach on Human Activity RecognitionProceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies10.1145/33144203:1(1-25)Online publication date: 29-Mar-2019
  • (2019)Decision procedures for path feasibility of string-manipulating programs with complex operationsProceedings of the ACM on Programming Languages10.1145/32903623:POPL(1-30)Online publication date: 2-Jan-2019
  • (2019)Context-, flow-, and field-sensitive data-flow analysis using synchronized Pushdown systemsProceedings of the ACM on Programming Languages10.1145/32903613:POPL(1-29)Online publication date: 2-Jan-2019
  • (2019)Decidable verification of uninterpreted programsProceedings of the ACM on Programming Languages10.1145/32903593:POPL(1-29)Online publication date: 2-Jan-2019
  • (2018)CHARIOTACM Transactions on Cyber-Physical Systems10.1145/31348442:3(1-37)Online publication date: 13-Jun-2018
  • Show More Cited By

View Options

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media