Krakatoa: decompilation in java (dose bytecode reveal source?)

作者: Todd A. Proebsting , Scott A. Watterson

DOI:

关键词: Programming languageJava bytecodeComputer scienceJavaJava appletReal time JavaBytecodeJava Modeling LanguageJava annotationGenerics in Java

摘要: This paper presents our technique for automatically decompiling Java bytecode into source. Our reconstructs source-level expressions from bytecode, and readable, high-level control statements primitive goto-like branches. Fewer than a dozen simple code-rewriting rules reconstruct the statements.

参考文章(11)
Ravi Sethi, Jeffrey D. Ullman, Alfred V. Aho, Compilers: Principles, Techniques, and Tools ,(1986)
Ulrike Lichtblau, Decompilation of Control Structures by Means of Graph Transformations colloquium on trees in algebra and programming. pp. 284- 297 ,(1985) , 10.1007/3-540-15198-2_18
M. H. Williams, H. L. Ossher, Conversion of Unstructured Flow Diagrams to Structured Form The Computer Journal. ,vol. 21, pp. 161- 167 ,(1978) , 10.1093/COMJNL/21.2.161
Edward Ashcroft, Zohar Manna, Translating Program Schemas to While-Schemas SIAM Journal on Computing. ,vol. 4, pp. 125- 146 ,(1975) , 10.1137/0204011
Lyle Ramshaw, Eliminating go to's while preserving program structure Journal of the ACM. ,vol. 35, pp. 893- 920 ,(1988) , 10.1145/48014.48021
W. W. Peterson, T. Kasami, N. Tokura, On the capabilities of while, repeat, and exit statements Communications of the ACM. ,vol. 16, pp. 503- 512 ,(1973) , 10.1145/355609.362337
Brenda S. Baker, An Algorithm for Structuring Flowgraphs Journal of the ACM. ,vol. 24, pp. 98- 120 ,(1977) , 10.1145/321992.321999
A.M. Erosa, L.J. Hendren, Taming control flow: a structured approach to eliminating goto statements international conference on computational logistics. pp. 229- 240 ,(1994) , 10.1109/ICCL.1994.288377
J. R. Allen, Ken Kennedy, Carrie Porterfield, Joe Warren, Conversion of control dependence to data dependence symposium on principles of programming languages. pp. 177- 189 ,(1983) , 10.1145/567067.567085
M. H. Williams, Generating structured flow diagrams: the nature of unstructuredness The Computer Journal. ,vol. 20, pp. 45- 50 ,(1977) , 10.1093/COMJNL/20.1.45