• Home
  • Publications
  • People
  • Resources
  • Photos
  • Home
  • Publications
  • People
  • Resources
  • Photos

Resources

General Advice On…

  • Success as a PhD student
  • Giving good talks
  • Writing papers
  • PhD guide from Philip Guo

 

Useful courses and lecture notes

  • Notes on static analysis
  • Isil’s Automated Logical Reasoning course
  • More to come…

 

Useful textbooks

  • Types and Programming Languages by Benjamin Pierce
  • Calculus of Computation by Bradley and Manna
  • Decision Procedures by Kroening and Strichman
  • Formal Semantics of Programming Languages by Winskel
  • Principles of Program Analysis by Nielson & Nielson
  • Verification of Reactive System by Manna and Pnueli
  • Advanced Topics in Types and PL by Benjamin Pierce
  • Model Checking by Clarke, Grumberg, and Peled

 

Useful Tools and Program Analysis Frameworks

  • LLVM
  • Soot Program Analysis Framework for Java
  • Doop framework for Java
  • Boogie IL and verification language
  • Interproc abstract interpretation engine
  • SAIL IL and Infrastructure for C and C++
  • Z3 SMT solver
  • Chord Program Analysis Infrastructure for Java
  • KLEE Symbolic Execution Engine
  • Java Path Finder
  • SATURN system for C

 

Influential Papers and Projects

  • Seminal Abstract Interpretation paper by Cousot and Cousot
  • Polyhedra abstract domain by Cousot and Halbwachs
  • Shape analysis with TVLA
  • BLAST model checker
  • Terminator project for proving program termination and liveness properties
  • Dynamic Symbolic Execution (KLEE)
  • Program sketching
  • Programming by Example
  • More to come…
  • Home
  • Publications
  • People
  • Resources
  • Photos

© 2022 Utopia