CS 6235 - Analysis of Parallel Programs

Assignment 3: Static Data Race Detection Using MHP Analysis

Our goal is to do MHP analysis of ParTACoJava programs to identify data-races.

Use Soot to write in Java one or more Java files which implement flow-sensitive MHP analysis studied in the class and use it to answer the data-race queries. Your main file should be called A3.java, Say P.java contains a program to be analyzed in InlinedParTACoJava form and Q.java contains a sequence of data-race queries.

On invoking Soot on P.java, to perform detect data-races using A3.java (example invocation shown here), it is expected to answer the queries given in Q.txt.

Your program should print a series of "Yes" or "No" (each in a new line) corresponding to each query in Q.txt. The order of your answers should match the order of the data-race queries.

Grading policy
Your homework will be graded for a total of 100 marks.