DashO is a Java application obfuscator, optimizer, and packager. It performs a dependency analysis on the application, removing unused methods and fields. Classes and members can be renamed using the patented Overload-induction renaming algorithm. Byte code optimization, control flow obfuscation, and string encryption can also be selectively applied. Special features include analytics for Java/Android/RIM/J2ME including exception reporting, Android obfuscation and tamper protection, and JAR watermarking.