chord.analyses.deadlock
Class DeadlockAnalysis

java.lang.Object
  extended by chord.project.analyses.JavaAnalysis
      extended by chord.analyses.deadlock.DeadlockAnalysis
All Implemented Interfaces:
ITask

public class DeadlockAnalysis
extends JavaAnalysis

Static deadlock analysis.

Outputs relation 'deadlock' containing each tuple (a1,l1,l2,a2,l3,l4) denoting a possible deadlock between abstract thread a1, which acquires abstract lock l1 followed by abstract lock l2, and abstract thread a2, which acquires abstract lock l3 followed by abstract lock l4.

Recognized system properties:

Author:
Mayur Naik (mhn@cs.stanford.edu), Zhifeng Lai (zflai@cse.ust.hk)

Field Summary
 
Fields inherited from class chord.project.analyses.JavaAnalysis
consumes, controls, name, produces
 
Constructor Summary
DeadlockAnalysis()
           
 
Method Summary
 void run()
          Executes this analysis in a "classic" project.
 
Methods inherited from class chord.project.analyses.JavaAnalysis
getName, run, setName, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

DeadlockAnalysis

public DeadlockAnalysis()
Method Detail

run

public void run()
Description copied from interface: ITask
Executes this analysis in a "classic" project. This method must usually not be called directly. The correct way to call it is to call ClassicProject.runTask(String) or ClassicProject.runTask(ITask), providing this analysis either by its name or its object.

Specified by:
run in interface ITask
Overrides:
run in class JavaAnalysis