TY - GEN
T1 - Unspeculation
AU - Snavely, Noah
AU - Debray, Saumya
AU - Andrews, Gregory
N1 - Funding Information:
This work was supported by the National Science Foundation under grants CCR-0073394, EIA-0080123, and CCR-0113633.
Publisher Copyright:
© 2003 IEEE
PY - 2003
Y1 - 2003
N2 - Modern architectures, such as the Intel Itanium, support speculation, a hardware mechanism that allows the early execution of expensive operations-possibly even before it is known whether the results of the operation are needed. While such speculative execution can improve execution performance considerably, it requires a significant amount of complex support code to deal with and recover from speculation failures. This greatly complicates the tasks of understanding and re-engineering speculative code. This paper describes a technique for removing speculative instructions from optimized binary programs in a way that is guaranteed to preserve program semantics, thereby making the resulting “unspeculated” programs easier to understand and more amenable to re-engineering using traditional reverse engineering techniques.
AB - Modern architectures, such as the Intel Itanium, support speculation, a hardware mechanism that allows the early execution of expensive operations-possibly even before it is known whether the results of the operation are needed. While such speculative execution can improve execution performance considerably, it requires a significant amount of complex support code to deal with and recover from speculation failures. This greatly complicates the tasks of understanding and re-engineering speculative code. This paper describes a technique for removing speculative instructions from optimized binary programs in a way that is guaranteed to preserve program semantics, thereby making the resulting “unspeculated” programs easier to understand and more amenable to re-engineering using traditional reverse engineering techniques.
UR - https://www.scopus.com/pages/publications/84944556968
UR - https://www.scopus.com/inward/citedby.url?scp=84944556968&partnerID=8YFLogxK
U2 - 10.1109/ASE.2003.1240308
DO - 10.1109/ASE.2003.1240308
M3 - Conference contribution
AN - SCOPUS:84944556968
T3 - Proceedings - 18th IEEE International Conference on Automated Software Engineering, ASE 2003
SP - 205
EP - 214
BT - Proceedings - 18th IEEE International Conference on Automated Software Engineering, ASE 2003
PB - Institute of Electrical and Electronics Engineers Inc.
T2 - 18th IEEE International Conference on Automated Software Engineering, ASE 2003
Y2 - 6 October 2003 through 10 October 2003
ER -