Code may have subtle errors that slip by the compiler and manifest themselves only at runtime, when they could be difficult to identify and fix. The static analyzer parses your code and identifies these types of problems:
Logic flaws, such as accessing uninitialized variables and dereferencing null pointers
Memory management flaws, such as leaking allocated memory
Dead store (unused variable) flaws
API-usage flaws that result from not following the policies required by the frameworks and libraries the project is using
To perform static analysis, choose Product > Analyze.