DocumentCode
1579892
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
fYear
2008
Firstpage
1
Lastpage
8
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;
fLanguage
English
Publisher
ieee
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
Type
conf
DOI
10.1109/FMCAD.2008.ECP.24
Filename
4689183
Link To Document