2009 Ninth IEEE International Working Conference on Source Code Analysis and Manipulation 2009
DOI: 10.1109/scam.2009.24
|View full text |Cite
|
Sign up to set email alerts
|

An Evaluation of Current Java Bytecode Decompilers

Abstract: Abstract-Decompilation of Java bytecode is the act of transforming Java bytecode to Java source code. Although easier than that of decompilation of machine code, problems still arise in Java bytecode decompilation. These include type inference of local variables and exception-handling.Since the last such evaluation (2003) several new commercial, free and open-source Java decompilers have appeared and some of the older ones have been updated.In this paper, we evaluate the currently available Java bytecode decom… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
4
1

Citation Types

0
27
0

Year Published

2011
2011
2023
2023

Publication Types

Select...
3
3
1

Relationship

0
7

Authors

Journals

citations
Cited by 21 publications
(29 citation statements)
references
References 13 publications
0
27
0
Order By: Relevance
“…We evaluate eight recent and notable decompilers on code produced by two different compilers. This study is at least one order of magnitude larger than the related work [8], [9]. Our results are important for different people: 1) for all users of decompilation, our paper shows significant differences between decompilers and provide well-founded empirical evidence to choose the best ones; 2) for researchers in decompilation, our results shows that the problem is not solved, and we isolate a subset of 157 Java classes that no state-of-the-art decompiler can correctly handle: 3) for authors of decompilers, our experiments have identified bugs in their decompilers (2 have already been fixed, and counting) and our methodology of semantic equivalence modulo inputs can be 1 embedded in the QA process of all decompilers in the world.…”
Section: Introductionmentioning
confidence: 75%
See 1 more Smart Citation
“…We evaluate eight recent and notable decompilers on code produced by two different compilers. This study is at least one order of magnitude larger than the related work [8], [9]. Our results are important for different people: 1) for all users of decompilation, our paper shows significant differences between decompilers and provide well-founded empirical evidence to choose the best ones; 2) for researchers in decompilation, our results shows that the problem is not solved, and we isolate a subset of 157 Java classes that no state-of-the-art decompiler can correctly handle: 3) for authors of decompilers, our experiments have identified bugs in their decompilers (2 have already been fixed, and counting) and our methodology of semantic equivalence modulo inputs can be 1 embedded in the QA process of all decompilers in the world.…”
Section: Introductionmentioning
confidence: 75%
“…In order to get a set of real world Java projects to evaluate the eight decompilers, we reuse the set of projects of Pawlak and colleagues [21]. To these 13 projects we added a fourteenth one named DcTest made out of examples collected from previous decompiler evaluations [8], [9]. 6 Table II shows a summary of this dataset: the Java version in which they are written, the number of Java source files, the number of unit tests as reported by Apache Maven, and the number of Java lines of code in their sources.…”
Section: Study Subjectsmentioning
confidence: 99%
“…In this work we present a software watermarking mechanism that can be inserted at the assembly level and that is especially useful for embedded applications. Most software watermarking mechanisms need either the software code to detect the watermark [4] or access to the memory structure during execution [7] [2]. However, in the embedded environment it is not easy to access the suspected code because in many cases, especially in those systems where code copying is a relevant threat, the memory is protected from unauthorized read operations.…”
Section: Introductionmentioning
confidence: 99%
“…However, in the embedded environment it is not easy to access the suspected code because in many cases, especially in those systems where code copying is a relevant threat, the memory is protected from unauthorized read operations. Another drawback of many previously proposed methods is that they have proven to be not very robust against code-transformation attacks [4]. In [4] every tested static software watermark mechanism was successfully removed using standard code-transformation software.…”
Section: Introductionmentioning
confidence: 99%
See 1 more Smart Citation