Unscheduling, unpredication, unspeculation

Reverse engineering Itanium executables

Noah Snavely, Saumya K Debray, Gregory Andrews

Research output: Chapter in Book/Report/Conference proceedingConference contribution

6 Citations (Scopus)

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 to take advantage of such architectural 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.

Original languageEnglish (US)
Title of host publicationProceedings - Working Conference on Reverse Engineering, WCRE
PublisherIEEE Computer Society
Pages4-13
Number of pages10
Volume2003-January
ISBN (Print)0769520278
DOIs
StatePublished - 2003
Event10th Working Conference on Reverse Engineering, WCRE 2003 - Victoria, Canada
Duration: Nov 13 2003Nov 16 2003

Other

Other10th Working Conference on Reverse Engineering, WCRE 2003
CountryCanada
CityVictoria
Period11/13/0311/16/03

Fingerprint

Reverse engineering
Data storage equipment

Keywords

  • Computer aided instruction
  • Computer architecture
  • Computer science
  • Concurrent computing
  • Delay
  • Logic
  • Optimizing compilers
  • Parallel processing
  • Pipelines
  • Reverse engineering

ASJC Scopus subject areas

  • Software

Cite this

Snavely, N., Debray, S. K., & Andrews, G. (2003). Unscheduling, unpredication, unspeculation: Reverse engineering Itanium executables. In Proceedings - Working Conference on Reverse Engineering, WCRE (Vol. 2003-January, pp. 4-13). [1287232] IEEE Computer Society. https://doi.org/10.1109/WCRE.2003.1287232

Unscheduling, unpredication, unspeculation : Reverse engineering Itanium executables. / Snavely, Noah; Debray, Saumya K; Andrews, Gregory.

Proceedings - Working Conference on Reverse Engineering, WCRE. Vol. 2003-January IEEE Computer Society, 2003. p. 4-13 1287232.

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Snavely, N, Debray, SK & Andrews, G 2003, Unscheduling, unpredication, unspeculation: Reverse engineering Itanium executables. in Proceedings - Working Conference on Reverse Engineering, WCRE. vol. 2003-January, 1287232, IEEE Computer Society, pp. 4-13, 10th Working Conference on Reverse Engineering, WCRE 2003, Victoria, Canada, 11/13/03. https://doi.org/10.1109/WCRE.2003.1287232
Snavely N, Debray SK, Andrews G. Unscheduling, unpredication, unspeculation: Reverse engineering Itanium executables. In Proceedings - Working Conference on Reverse Engineering, WCRE. Vol. 2003-January. IEEE Computer Society. 2003. p. 4-13. 1287232 https://doi.org/10.1109/WCRE.2003.1287232
Snavely, Noah ; Debray, Saumya K ; Andrews, Gregory. / Unscheduling, unpredication, unspeculation : Reverse engineering Itanium executables. Proceedings - Working Conference on Reverse Engineering, WCRE. Vol. 2003-January IEEE Computer Society, 2003. pp. 4-13
@inproceedings{306a58a01ea44e729626b3007299823f,
title = "Unscheduling, unpredication, unspeculation: Reverse engineering Itanium executables",
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 to take advantage of such architectural 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 = "Computer aided instruction, Computer architecture, Computer science, Concurrent computing, Delay, Logic, Optimizing compilers, Parallel processing, Pipelines, Reverse engineering",
author = "Noah Snavely and Debray, {Saumya K} and Gregory Andrews",
year = "2003",
doi = "10.1109/WCRE.2003.1287232",
language = "English (US)",
isbn = "0769520278",
volume = "2003-January",
pages = "4--13",
booktitle = "Proceedings - Working Conference on Reverse Engineering, WCRE",
publisher = "IEEE Computer Society",

}

TY - GEN

T1 - Unscheduling, unpredication, unspeculation

T2 - Reverse engineering Itanium executables

AU - Snavely, Noah

AU - Debray, Saumya K

AU - Andrews, Gregory

PY - 2003

Y1 - 2003

N2 - 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 to take advantage of such architectural 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.

AB - 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 to take advantage of such architectural 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.

KW - Computer aided instruction

KW - Computer architecture

KW - Computer science

KW - Concurrent computing

KW - Delay

KW - Logic

KW - Optimizing compilers

KW - Parallel processing

KW - Pipelines

KW - Reverse engineering

UR - http://www.scopus.com/inward/record.url?scp=84944613428&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=84944613428&partnerID=8YFLogxK

U2 - 10.1109/WCRE.2003.1287232

DO - 10.1109/WCRE.2003.1287232

M3 - Conference contribution

SN - 0769520278

VL - 2003-January

SP - 4

EP - 13

BT - Proceedings - Working Conference on Reverse Engineering, WCRE

PB - IEEE Computer Society

ER -