soot.jimple.toolkits.thread.synchronization
Class CriticalSectionAwareSideEffectAnalysis

java.lang.Object
  extended by soot.jimple.toolkits.thread.synchronization.CriticalSectionAwareSideEffectAnalysis

public class CriticalSectionAwareSideEffectAnalysis
extends Object


Field Summary
 Vector sigBlacklist
           
 Vector sigReadGraylist
           
 Vector sigWriteGraylist
           
 Vector subSigBlacklist
           
 
Constructor Summary
CriticalSectionAwareSideEffectAnalysis(PointsToAnalysis pa, CallGraph cg, Collection<soot.jimple.toolkits.thread.synchronization.CriticalSection> criticalSections, ThreadLocalObjectsAnalysis tlo)
           
 
Method Summary
protected  RWSet addValue(Value v, SootMethod m, Stmt s)
           
 RWSet approximatedReadSet(SootMethod method, Stmt stmt, Value specialRead, boolean allFields)
           
 RWSet approximatedWriteSet(SootMethod method, Stmt stmt, Value v, boolean allFields)
           
 void findNTRWSets(SootMethod method)
           
 RWSet nonTransitiveReadSet(SootMethod method)
           
 RWSet nonTransitiveWriteSet(SootMethod method)
           
 RWSet readSet(SootMethod method, Stmt stmt, soot.jimple.toolkits.thread.synchronization.CriticalSection tn, HashSet uses)
           
 void setExemptTransaction(soot.jimple.toolkits.thread.synchronization.CriticalSection tn)
           
 String toString()
           
 RWSet valueRWSet(Value v, SootMethod m, Stmt s, soot.jimple.toolkits.thread.synchronization.CriticalSection tn)
           
 RWSet writeSet(SootMethod method, Stmt stmt, soot.jimple.toolkits.thread.synchronization.CriticalSection tn, Set uses)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

sigBlacklist

public Vector sigBlacklist

sigReadGraylist

public Vector sigReadGraylist

sigWriteGraylist

public Vector sigWriteGraylist

subSigBlacklist

public Vector subSigBlacklist
Constructor Detail

CriticalSectionAwareSideEffectAnalysis

public CriticalSectionAwareSideEffectAnalysis(PointsToAnalysis pa,
                                              CallGraph cg,
                                              Collection<soot.jimple.toolkits.thread.synchronization.CriticalSection> criticalSections,
                                              ThreadLocalObjectsAnalysis tlo)
Method Detail

findNTRWSets

public void findNTRWSets(SootMethod method)

setExemptTransaction

public void setExemptTransaction(soot.jimple.toolkits.thread.synchronization.CriticalSection tn)

nonTransitiveReadSet

public RWSet nonTransitiveReadSet(SootMethod method)

nonTransitiveWriteSet

public RWSet nonTransitiveWriteSet(SootMethod method)

approximatedReadSet

public RWSet approximatedReadSet(SootMethod method,
                                 Stmt stmt,
                                 Value specialRead,
                                 boolean allFields)

readSet

public RWSet readSet(SootMethod method,
                     Stmt stmt,
                     soot.jimple.toolkits.thread.synchronization.CriticalSection tn,
                     HashSet uses)

approximatedWriteSet

public RWSet approximatedWriteSet(SootMethod method,
                                  Stmt stmt,
                                  Value v,
                                  boolean allFields)

writeSet

public RWSet writeSet(SootMethod method,
                      Stmt stmt,
                      soot.jimple.toolkits.thread.synchronization.CriticalSection tn,
                      Set uses)

valueRWSet

public RWSet valueRWSet(Value v,
                        SootMethod m,
                        Stmt s,
                        soot.jimple.toolkits.thread.synchronization.CriticalSection tn)

addValue

protected RWSet addValue(Value v,
                         SootMethod m,
                         Stmt s)

toString

public String toString()
Overrides:
toString in class Object