public class DeadlockDetector
extends java.lang.Object
Constructor and Description |
---|
DeadlockDetector(boolean optionPrintDebug,
boolean optionRepairDeadlock,
boolean optionAllowSelfEdges,
java.util.List<soot.jimple.toolkits.thread.synchronization.CriticalSection> criticalSections) |
Modifier and Type | Method and Description |
---|---|
MutableDirectedGraph<soot.jimple.toolkits.thread.synchronization.CriticalSectionGroup> |
detectComponentBasedDeadlock() |
MutableEdgeLabelledDirectedGraph<java.lang.Integer,soot.jimple.toolkits.thread.synchronization.CriticalSection> |
detectLocksetDeadlock(java.util.Map<Value,java.lang.Integer> lockToLockNum,
java.util.List<PointsToSetInternal> lockPTSets) |
void |
reorderLocksets(java.util.Map<Value,java.lang.Integer> lockToLockNum,
MutableEdgeLabelledDirectedGraph<java.lang.Integer,soot.jimple.toolkits.thread.synchronization.CriticalSection> lockOrder) |
public DeadlockDetector(boolean optionPrintDebug, boolean optionRepairDeadlock, boolean optionAllowSelfEdges, java.util.List<soot.jimple.toolkits.thread.synchronization.CriticalSection> criticalSections)
public MutableDirectedGraph<soot.jimple.toolkits.thread.synchronization.CriticalSectionGroup> detectComponentBasedDeadlock()
public MutableEdgeLabelledDirectedGraph<java.lang.Integer,soot.jimple.toolkits.thread.synchronization.CriticalSection> detectLocksetDeadlock(java.util.Map<Value,java.lang.Integer> lockToLockNum, java.util.List<PointsToSetInternal> lockPTSets)
public void reorderLocksets(java.util.Map<Value,java.lang.Integer> lockToLockNum, MutableEdgeLabelledDirectedGraph<java.lang.Integer,soot.jimple.toolkits.thread.synchronization.CriticalSection> lockOrder)