Title :
Machine-Code Verification for Multiple Architectures - An Application of Decompilation into Logic
Author :
Myreen, Magnus O. ; Gordon, Michael J C ; Slind, Konrad
Author_Institution :
Comput. Lab., Univ. of Cambridge, Cambridge
Abstract :
Realistic formal specifications of machine languages for commercial processors consist of thousands of lines of definitions. Current methods support trustworthy proofs of the correctness of programs for one such specification. However, these methods provide little or no support for reusing proofs of the same algorithm implemented in different machine languages. We describe an approach, based on proof-producing decompilation, which both makes machine-code verification tractable and supports proof reuse between different languages. We briefly present examples based on detailed models of machine code for ARM, PowerPC and x86. The theories and tools have been implemented in the HOL4 system.
Keywords :
formal logic; formal specification; program compilers; program verification; software architecture; commercial processors; formal specifications; logic; machine languages; machine-code verification; multiple architectures; Application software; Buildings; Cities and towns; Computer architecture; Drives; Formal specifications; Laboratories; Logic; Power system modeling; Registers;
Conference_Titel :
Formal Methods in Computer-Aided Design, 2008. FMCAD '08
Conference_Location :
Portland, OR
Print_ISBN :
978-1-4244-2735-2
Electronic_ISBN :
978-1-4244-2736-9
DOI :
10.1109/FMCAD.2008.ECP.24