CS6843 Program Analysis: Assignments

A1 (5 marks, due Jan 15 23:55)
Install LLVM 3.9.0 + Clang on Linux, compile.
Run existing analyses on the LLVM IR and gather statistics.

  1. Counts of various types of instructions (number of Add, Alloca, ... instructions)
  2. Alias analysis (various statistics such as NoAlias responses, MayAlias responses, ...)
Note that you don't have to write any LLVM analysis for this assignment, you should simply try out various LLVM tools and options on three C programs (which you can download, reuse or create).
Submit a single <ROLLNO>.tar.gz file containing the following in a directory named your <ROLLNO>.

A2 (10 marks, due Feb 5 23:55)
Write an LLVM pass to perform live variables analysis. More details at moodle.

A3 (12 marks, due Mar 5 23:55)
Write an LLVM pass to perform safety analysis. More details at moodle.

A4 (13 marks, due Apr 9 23:55)
Either write an LLVM pass to perform dynamic analysis. More details at moodle.
or create an online education tool for Program Analysis (see examples).
or subject to Rupesh's approval, work on an idea of your own.

course home page