Issue No.02 - February (2005 vol.31)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TSE.2005.27
EPIC (Explicitly Parallel Instruction Computing) architectures, exemplified by the Intel Itanium, support a number of advanced architectural features, such as explicit instruction-level parallelism, instruction predication, and speculative loads from memory. However, compiler optimizations that take advantage of these features can profoundly restructure the program's code, making it potentially difficult to reconstruct the original program logic from an optimized Itanium executable. This paper describes techniques to undo some of the effects of such optimizations and thereby improve the quality of reverse engineering such executables.
Reverse engineering, EPIC architectures, speculation, predication, code optimization.
Noah Snavely, Saumya Debray, Gregory R. Andrews, "Unpredication, Unscheduling, Unspeculation: Reverse Engineering Itanium Executables", IEEE Transactions on Software Engineering, vol.31, no. 2, pp. 99-115, February 2005, doi:10.1109/TSE.2005.27