The Habanero Java (HJ) programming model is designed to provide several correctness guarantees such as deadlock freedom and determinism in the absence of data races. Model checking tools like Java Pathfinder (JPF) can be used to detect data races in HJ programs. But, as the program size increases, data race detection becomes expensive because of the state space explosion. We present a new method of data race detection in HJ programs with the help of computation graphs. A computation graph represents the execution of a program in the form of a directed acyclic graph. For structurally deterministic programs, analyzing the graph on a single schedule is enough for data race detection.
['Radha Vi Nakade', 'Eric Mercer']
Verification of Habanero Java Programs using Computation Graphs