Labs
Hands-on lab projects that integrate concepts from each module.
Module 1 — Foundations of Program Analysis
Lab 1: Tool Setup
Set up your OCaml development environment with opam, dune, and OUnit2.
Module 2 — Code Representation & ASTs
Lab 2: AST Parser
Build a parser that converts source code into an AST and run analyses on it.
9 testsModule 3 — Static Analysis Fundamentals
Lab 3: Static Checker
Implement a static checker that uses CFGs and dataflow analysis to find bugs.
10 testsModule 4 — Abstract Interpretation
Lab 4: Abstract Interpreter
Build an abstract interpreter that tracks value ranges and detects runtime errors.
10 testsModule 5 — Security Analysis
Lab 5: Security Analyzer
Implement a taint-based security analyzer that finds injection vulnerabilities.
10 testsModule 6 — Tools Integration
Lab 6: Integrated Analyzer
Capstone: build a full analysis tool combining multiple passes into a unified pipeline.
40 tests