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.
- 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 (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