DocumentCode
3009374
Title
Metrics for Measuring the Effectiveness of Decompilers and Obfuscators
Author
Naeem, Nomair A. ; Batchelder, Michael ; Hendren, Laurie
Author_Institution
Sch. of Comput. Sci., McGill Univ., Montreal, QC
fYear
2007
fDate
26-29 June 2007
Firstpage
253
Lastpage
258
Abstract
Java developers often use decompilers to aid reverse engineering and obfuscators to prevent it. Decompilers translate low-level class files to Java source and can produce "good" output. Obfuscators transform class files into semantically-equivalent versions that are either: (1) difficult to decompile, or (2) decompilable, but result in "hard- to-understand" Java source. We present a set of metrics developed to quantify the effectiveness of decompilers and obfuscators. The metrics include some selective size and counting metrics and an expression complexity metric. We have applied these metrics to evaluate a collection of decompilers and obfuscators. By quantitatively comparing original Java source against decompiled and obfuscated code respectively, we show which decompilers produce "good" code and whether obfuscations result in "hard-to-understand" code.
Keywords
Java; program interpreters; reverse engineering; software metrics; Java developers; Java source code; counting metrics; decompiler effectiveness measurement; expression complexity metric; obfuscator effectiveness measurement; reverse engineering; software metrics; Computer science; Displays; Java; Particle measurements; Programming profession; Reverse engineering; Software engineering; Software measurement; Software metrics; Sun;
fLanguage
English
Publisher
ieee
Conference_Titel
Program Comprehension, 2007. ICPC '07. 15th IEEE International Conference on
Conference_Location
Banff, Alberta, BC
ISSN
1092-8138
Print_ISBN
0-7695-2860-0
Type
conf
DOI
10.1109/ICPC.2007.27
Filename
4268259
Link To Document