Abstract
We have formally specified a substantial subset of the MC68020, a widely used microprocessor built by Motorola, within the mathematical logic of the automated reasoning system Nqthm, i.e., the Boyer-Moore Theorem Prover [4]. Using this MC68020 specification, we have mechanically checked the correctness of MC68020 machine code programs for Euclid's GCD, Hoare's Quick Sort, binary search, and other well-known algorithms. The machine code for these examples was generated using the Gnu C and the Verdix Ada compilers. We have developed an extensive library of proven lemmas to facilitate automated reasoning about machine code programs. We describe a two stage methodology we use to do our machine code proofs.
The work described here was supported in part by NSF Grant MIP-9017499.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
William Bevier, Warren Hunt, J Strother Moore, and William Young. Special issue on system verification. Journal of Automated Reasoning, 5(4), 1989.
Robert S. Boyer and J. Strother Moore. A Computational Logic. Academic Press, New York, 1979.
Robert S. Boyer and J Strother Moore. Program verification. Journal of Automated Reasoning, 1(1):17–23, 1985.
Robert S. Boyer and J Strother Moore. A Computational Logic Handbook. Academic Press, 1988.
Robert S. Boyer and Yuan Yu. A formal specification of some user mode instructions for the Motorola 68020. Technical Report TR-92-04, Computer Sciences Department, University of Texas at Austin, 1992.
Jeffrey V. Cook. Verification of the C/30 microcode using the state delta verification system (SDVS). In 13th National Computer Security Conference, volume 1, pages 20–31, 1990.
Herman H. Goldstine and John von Neumann. Planning and coding problems for an electronic computing instrument. In John von Neumann, Collected Works, volume V, pages 34–235. Pergamon Press, Oxford, 1961.
Brian W. Kernighan and Dennis M. Ritchie. The C Programming Language, Second Edition. Prentice Hall, Englewood Cliff, New Jersey, 1988.
J. Strother Moore. Piton: A verified assembly-level language. Technical Report CLI-22, Computational Logic, Inc., Austin, Tx, June 1988.
Motorola, Inc. MC68020 32-bit Microprocessor User's Manual. Prentice Hall, New Jersey, 1989.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1992 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Boyer, R.S., Yu, Y. (1992). Automated correctness proofs of machine code programs for a commercial microprocessor. In: Kapur, D. (eds) Automated Deduction—CADE-11. CADE 1992. Lecture Notes in Computer Science, vol 607. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-55602-8_181
Download citation
DOI: https://doi.org/10.1007/3-540-55602-8_181
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-55602-2
Online ISBN: 978-3-540-47252-0
eBook Packages: Springer Book Archive