Statics
In this section of the course we look at static analysis of programs. These are analyses that take the abstract syntax tree produced by a parser and perform (context-sensitive) analyses of properties of a program.
Topics
- Static semantics and type checking
- name binding, name resolution, scope graphs
- types, type checking, type inference, subtyping
- unification, constraints
- Semantic editor services
- Data-flow analysis
- control-flow, data-flow
- monotone frameworks, worklist algorithm
Lectures