Error Prone is a static analysis tool for Java that catches common programming mistakes at compile-time.