CS6843 Program Analysis: Assignments

A1 (5 marks, due Jan 21 23:55)
Install LLVM 5.0.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 11 23:55)
Write an LLVM pass to identify missing variable initialization in for loops. More details at moodle.

A3 (15 marks, due Mar 18 23:55)
Write an LLVM pass to perform inter-procedural pointer analysis. More details at moodle.

A4 (20 marks, due Apr 15 23:55)
Write an LLVM pass to add breakpoints to LLVM IR. 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