Program Analysis Bootcamp

A hands-on bootcamp for learning program analysis techniques in OCaml: ASTs, control flow graphs, dataflow analysis, abstract interpretation, and security analysis.

How This Bootcamp Works

Read & Learn Here

Browse slides, instructions, starter code, and exercise hints in this web app.

Code Locally

Clone the GitHub repo and edit starter files in VS Code, Vim, or your preferred editor.

Test with Dune

Run dune runtest in your terminal to check your solutions against the test suite.

7
Modules
31
Exercises
6
Labs
602+
Tests

Module Dependency Map

Modules build on each other. M0 teaches OCaml, M1 sets the conceptual foundation, M2-M4 develop independent analysis skills, M5 combines them for security, and M6 integrates everything into a complete tool.

M0: OCamlWarm-upM1: FoundationsM2: ASTsM3: StaticAnalysisM4: AbstractInterpretationM5: SecurityAnalysisM6: ToolsIntegration

Course Modules