loading...
Metrics for Measuring the Effectiveness of Decompilers and Obfuscators
Banff, Alberta, Canada June 26-June 29
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/ICPC.2007.2715th IEEE International Conference on ...
 This Article 
 
PDF
HTML
 
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Nomair A. Naeem, McGill University,Montreal, Canada
Michael Batchelder, McGill University,Montreal, Canada
Laurie Hendren, McGill University,Montreal, Canada

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 "hardto- 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.

Citation:
Nomair A. Naeem, Michael Batchelder, Laurie Hendren, "Metrics for Measuring the Effectiveness of Decompilers and Obfuscators," icpc, pp.253-258, 15th IEEE International Conference on Program Comprehension (ICPC '07), 2007
Usage of this product signifies your acceptance of the Terms of Use.