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.
- Counts of various types of instructions (number of Add, Alloca, ... instructions)
- 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>.
- Your testcases (.c programs) for each analysis.
- A script (preferably shell-script) to run your testcases.
- A report (in .txt) which describes the statistics you obtained. You can explain any relevant observations that you made.
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