Skip to content
Free planNo credit card requiredStart writing

article · 1997

Krakatoa: Decompilation in Java (Does Bytecode Reveal Source?)

Todd A. Proebsting, Scott A. Watterson

Cited by 0Abstract and details only

Abstract

This paper presents our technique for automatically decompiling Java bytecode into Java source. Our technique reconstructs source-level expressions from bytecode, and reconstructs readable, high-level control statements from primitive goto- like branches. Fewer than a dozen simple coderewriting rules reconstruct the high-level statements. 1 Introduction Decompilation transforms a low-level language into a high-level language. The Java Virtual Machine (JVM) specifies a low-level bytecode language for a stack-based machine [LY97]. This language defines 203 operators, with most of the control flow specified by simple explicit transfers and labels. Compiling a Java class yields a class file that contains type information and bytecode. The JVM requires a significant amount of type information from the class files for object linking. Furthermore, the bytecode must be verifiably well-behaved in order to ensure safe execution. Decompilation systems can exploit this type information and well...

Cite this paper

APA 7

Proebsting, T. A., & Watterson, S. A. (1997). Krakatoa: Decompilation in Java (Does Bytecode Reveal Source?).

MLA 9

Proebsting, Todd A., and Scott A. Watterson. “Krakatoa: Decompilation in Java (Does Bytecode Reveal Source?).” 1997.

Chicago

Proebsting, Todd A., and Scott A. Watterson. 1997. “Krakatoa: Decompilation in Java (Does Bytecode Reveal Source?).”

Harvard

Proebsting, T.A. and Watterson, S.A. (1997) ‘Krakatoa: Decompilation in Java (Does Bytecode Reveal Source?)’.

BibTeX
@article{proebsting1997krakatoa,
  title = {{Krakatoa: Decompilation in Java (Does Bytecode Reveal Source?)}},
  author = {Proebsting, Todd A. and Watterson, Scott A.},
  year = {1997}
}

Made from the index record. Check names, capitalisation and page numbers against the paper. Need another style? AI for Research has over 10,000.