• 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