Authors
Stefan Heule, Eric Schkufza, Rahul Sharma, Alex Aiken
Publication date
2016/6/2
Book
Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and Implementation
Pages
237-250
Description
The x86-64 ISA sits at the bottom of the software stack of most desktop and server software. Because of its importance, many software analysis and verification tools depend, either explicitly or implicitly, on correct modeling of the semantics of x86-64 instructions. However, formal semantics for the x86-64 ISA are difficult to obtain and often written manually through great effort. We describe an automatically synthesized formal semantics of the input/output behavior for a large fraction of the x86-64 Haswell ISA’s many thousands of instruction variants. The key to our results is stratified synthesis, where we use a set of instructions whose semantics are known to synthesize the semantics of additional instructions whose semantics are unknown. As the set of formally described instructions increases, the synthesis vocabulary expands, making it possible to synthesize the semantics of increasingly complex instructions. Using …
Total citations
20162017201820192020202120222023202421313241499131
Scholar articles
S Heule, E Schkufza, R Sharma, A Aiken - Proceedings of the 37th ACM SIGPLAN Conference on …, 2016