Search: onr:"swepub:oai:DiVA.org:kth-272355" >
The strengths and b...
The strengths and behavioral quirks of Java bytecode decompilers
-
- Harrand, Nicolas (author)
- KTH,Programvaruteknik och datorsystem, SCS
-
- Soto Valero, César (author)
- KTH,Programvaruteknik och datorsystem, SCS
-
- Monperrus, Martin (author)
- KTH,Teoretisk datalogi, TCS
-
show more...
-
- Baudry, Benoit (author)
- KTH,Programvaruteknik och datorsystem, SCS
-
show less...
-
(creator_code:org_t)
- Institute of Electrical and Electronics Engineers Inc. 2019
- 2019
- English.
-
In: Proceedings - 19th IEEE International Working Conference on Source Code Analysis and Manipulation, SCAM 2019. - : Institute of Electrical and Electronics Engineers Inc.. - 9781728149370 ; , s. 92-102
- Related links:
-
https://urn.kb.se/re...
-
show more...
-
https://doi.org/10.1...
-
show less...
Abstract
Subject headings
Close
- During compilation from Java source code to bytecode, some information is irreversibly lost. In other words, compilation and decompilation of Java code is not symmetric. Consequently, the decompilation process, which aims at producing source code from bytecode, must establish some strategies to reconstruct the information that has been lost. Modern Java decompilers tend to use distinct strategies to achieve proper decompilation. In this work, we hypothesize that the diverse ways in which bytecode can be decompiled has a direct impact on the quality of the source code produced by decompilers. We study the effectiveness of eight Java decompilers with respect to three quality indicators: syntactic correctness, syntactic distortion and semantic equivalence modulo inputs. This study relies on a benchmark set of 14 real-world open-source software projects to be decompiled (2041 classes in total). Our results show that no single modern decompiler is able to correctly handle the variety of bytecode structures coming from real-world programs. Even the highest ranking decompiler in this study produces syntactically correct output for 84% of classes of our dataset and semantically equivalent code output for 78% of classes.
Subject headings
- NATURVETENSKAP -- Data- och informationsvetenskap -- Datavetenskap (hsv//swe)
- NATURAL SCIENCES -- Computer and Information Sciences -- Computer Sciences (hsv//eng)
Keyword
- Decompilation
- Java bytecode
- Reverse engineering
- Source code analysis
- Equivalence classes
- Java programming language
- Open systems
- Semantics
- Syntactics
- Java byte codes
- Java source codes
- Open source software projects
- Quality indicators
- Real world projects
- Semantic equivalences
- Open source software
Publication and Content Type
- ref (subject category)
- kon (subject category)
Find in a library
To the university's database