Students will complete three small introductory projects that acclimate students
to working with program analysis tools.
These introductory projects shall be done individually, but students should feel
free to discuss them.
Sharing code is prohibited.
Using those experiences, students will also complete a term project of their
own interest and selection, which may be done in groups of up to three.
- LLVM - Tools & IR for analysis & compilation
- Valgrind - Dynamic binary analysis framework
- Pin - Dynamic
binary analysis framework
- WALA - Java & Javascript analysis
- Soot - Java & Dalvik analysis
- CIL - C analysis
- Frama-C - C analysis
- Astrée
- K - General formal analysis
- CSmith - Test generation for C
- Major - Mutation analysis for Java
- CREST - Symbolic test generation for C
- KLEE - Symbolic test generation for C
- SMACK