1. Course Introduction
1 PL and Static Analysis¶
2 Why We Need Static Analysis¶
- Program Reliability
- Null pointer dereference, memory leak, etc.
- Program Security
- Private information leak, injection attack, etc.
- Compiler Optimization
- Dead code elimination, code motion, etc.
- Program Understanding
- IDE call hierarchy, type indication, etc.
3 What is Static Analysis¶
4 Rice's Theorem¶
5 Sound and Complete¶
5.1 Necessity of Soundness¶
6 Static Analysis - Bird's Eye View¶
7 Abstraction + Over-approximation¶
Two Words to Conclude Static Analysis











