• DocumentCode
    2207685
  • Title

    Unspeculation

  • Author

    Snavely, Noah ; Debray, Saumya ; Andrews, Gregory

  • Author_Institution
    Dept. of Comput. Sci., Arizona Univ., Tucson, AZ, USA
  • fYear
    2003
  • fDate
    6-10 Oct. 2003
  • Firstpage
    205
  • Lastpage
    214
  • Abstract
    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 reengineering using traditional reverse engineering techniques.
  • Keywords
    parallel programming; program verification; reverse engineering; software maintenance; systems re-engineering; hardware mechanism; modern architectures; optimized binary programs; program semantics preservation; re-engineering speculative code; reverse engineering techniques; speculative instructions; support speculation; unspeculated programs; unspeculation; Computer aided instruction; Computer architecture; Computer science; Delay; Hardware; Logic; Processor scheduling; Reverse engineering; Software libraries; Software maintenance;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Automated Software Engineering, 2003. Proceedings. 18th IEEE International Conference on
  • ISSN
    1938-4300
  • Print_ISBN
    0-7695-2035-9
  • Type

    conf

  • DOI
    10.1109/ASE.2003.1240308
  • Filename
    1240308