DocumentCode
1245754
Title
Unpredication, unscheduling, unspeculation: reverse engineering Itanium executables
Author
Snavely, Noah ; Debray, Saumya ; Andrews, Gregory R.
Author_Institution
Dept. of Comput. Sci., Washington Univ., Seattle, WA, USA
Volume
31
Issue
2
fYear
2005
Firstpage
99
Lastpage
115
Abstract
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.
Keywords
instruction sets; optimising compilers; parallel architectures; parallel programming; reverse engineering; scheduling; EPIC architecture; Intel Itanium; compiler optimization; explicitly parallel instruction computing; instruction predication; instruction-level parallelism; reverse engineering; Computer aided instruction; Computer architecture; Concurrent computing; Delay; Logic; Optimizing compilers; Parallel processing; Pipelines; Program processors; Reverse engineering; EPIC architectures; Index Terms- Reverse engineering; code optimization.; predication; speculation;
fLanguage
English
Journal_Title
Software Engineering, IEEE Transactions on
Publisher
ieee
ISSN
0098-5589
Type
jour
DOI
10.1109/TSE.2005.27
Filename
1401927
Link To Document