CS6843 Program Analysis: Assignments

Submit at moodle.

A1 (5 marks, due Jan 16, 2016 23:55)
Install LLVM 3.7 + 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 (15 marks, due Feb 7, 2016 23:55)
Write an LLVM pass to perform pointer and escape analyses.

A3 (15 marks, due Mar 6 13, 2016 23:55)
Write an LLVM pass to perform array out-of-bounds analysis.

A4 (25 marks, due Apr 10 17, 2016 23:55)
Write an LLVM pass to perform may-happens-before analysis based on barriers.

course home page