There are 8 labs to complement the lessons and impart hands-on experience. Each lab is of one of the following two kinds:

  • Using a software analysis tool based on a technique covered in lectures, reporting your findings, and answering conceptual questions.
  • Implementing a software analysis algorithm in a high-level programming language (usually Java).
A VM image compatible with both Virtualbox and VMWare is provided for relevant assignments. (It should also work with other virtualization software but only these two are officially supported.)

 #  Title Document
A1  Dafny[PDF]
A2  Monkey[PDF]
A3  Korat[PDF]
A4  Randoop[PDF]
A5  Dataflow[PDF]
A6  Constraints[PDF]
A7  CBI[PDF]
A8  Delta[PDF]
C++
Datalog
  • Learn Prolog Now Online reference for Prolog with good tutorials. Datalog is a subset of Prolog, and chapters 1-3 in this book are particularly useful