Class LockAllocator
- java.lang.Object
-
- soot.Transformer
-
- soot.SceneTransformer
-
- soot.jimple.toolkits.thread.synchronization.LockAllocator
-
public class LockAllocator extends SceneTransformer
-
-
Constructor Summary
Constructors Constructor Description LockAllocator(Singletons.Global g)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidassignNamesToTransactions(List<soot.jimple.toolkits.thread.synchronization.CriticalSection> AllTransactions)protected voidfindLockableReferences(List<soot.jimple.toolkits.thread.synchronization.CriticalSection> AllTransactions, PointsToAnalysis pta, CriticalSectionAwareSideEffectAnalysis tasea, Map<Value,Integer> lockToLockNum, List<PointsToSetInternal> lockPTSets)List<soot.jimple.toolkits.thread.synchronization.CriticalSection>getCriticalSections()DirectedGraphgetDeadlockGraph()CriticalSectionInterferenceGraphgetInterferenceGraph()protected voidinternalTransform(String phaseName, Map<String,String> options)Performs the transformation on the Scene, under the given phaseName and with the given Options.static StringlocksetToLockNumString(List<EquivalentValue> lockset, Map<Value,Integer> lockToLockNum)voidprintGraph(Collection<soot.jimple.toolkits.thread.synchronization.CriticalSection> AllTransactions, CriticalSectionInterferenceGraph ig, Map<Value,Integer> lockToLockNum)voidprintGroups(Collection<soot.jimple.toolkits.thread.synchronization.CriticalSection> AllTransactions, CriticalSectionInterferenceGraph ig)voidprintTable(Collection<soot.jimple.toolkits.thread.synchronization.CriticalSection> AllTransactions, MhpTester mhp)voidsetFlagsForDynamicAllocations(CriticalSectionInterferenceGraph ig)voidsetFlagsForStaticAllocations(CriticalSectionInterferenceGraph ig)static LockAllocatorv()-
Methods inherited from class soot.SceneTransformer
transform, transform, transform
-
-
-
-
Constructor Detail
-
LockAllocator
public LockAllocator(Singletons.Global g)
-
-
Method Detail
-
v
public static LockAllocator v()
-
internalTransform
protected void internalTransform(String phaseName, Map<String,String> options)
Description copied from class:SceneTransformerPerforms the transformation on the Scene, under the given phaseName and with the given Options.- Specified by:
internalTransformin classSceneTransformer
-
findLockableReferences
protected void findLockableReferences(List<soot.jimple.toolkits.thread.synchronization.CriticalSection> AllTransactions, PointsToAnalysis pta, CriticalSectionAwareSideEffectAnalysis tasea, Map<Value,Integer> lockToLockNum, List<PointsToSetInternal> lockPTSets)
-
setFlagsForDynamicAllocations
public void setFlagsForDynamicAllocations(CriticalSectionInterferenceGraph ig)
-
setFlagsForStaticAllocations
public void setFlagsForStaticAllocations(CriticalSectionInterferenceGraph ig)
-
locksetToLockNumString
public static String locksetToLockNumString(List<EquivalentValue> lockset, Map<Value,Integer> lockToLockNum)
-
assignNamesToTransactions
public void assignNamesToTransactions(List<soot.jimple.toolkits.thread.synchronization.CriticalSection> AllTransactions)
-
printGraph
public void printGraph(Collection<soot.jimple.toolkits.thread.synchronization.CriticalSection> AllTransactions, CriticalSectionInterferenceGraph ig, Map<Value,Integer> lockToLockNum)
-
printTable
public void printTable(Collection<soot.jimple.toolkits.thread.synchronization.CriticalSection> AllTransactions, MhpTester mhp)
-
printGroups
public void printGroups(Collection<soot.jimple.toolkits.thread.synchronization.CriticalSection> AllTransactions, CriticalSectionInterferenceGraph ig)
-
getInterferenceGraph
public CriticalSectionInterferenceGraph getInterferenceGraph()
-
getDeadlockGraph
public DirectedGraph getDeadlockGraph()
-
getCriticalSections
public List<soot.jimple.toolkits.thread.synchronization.CriticalSection> getCriticalSections()
-
-