DIDUCE is a tool that automatically detects program invariants by instrumenting Java bytecode. It detects invariants on normal runs and checks for violations on other runs to find anomalies and bugs. On four applications, DIDUCE successfully found previously unknown bugs and precisely located the root causes of other known issues. DIDUCE requires no user input or annotations and provides a practical way to automatically debug programs and better understand their behavior.