IntelliJ IDEA users are very familiar with the warnings that appear in Java code, like 'Condition is always true', 'Method invocation might produce NullPointerException', and so on. These warnings are powered by an abstract interpretation and data flow analysis engine. In this talk, we will delve into analysis internals and learn how your code looks from the point of view of the IDE, what kind of errors the IDE can detect, and what kind of problems are too difficult for it. We will see why false-positive warnings appear sometimes. Hopefully, this talk will help you understand better how the “IDE brain” works.