envgen.analysis.stat
Class SafeLockAnalysis

java.lang.Object
  |
  +--envgen.analysis.stat.SafeLockAnalysis

public class SafeLockAnalysis
extends java.lang.Object


Field Summary
(package private)  PointsToAnalysis alias
           
(package private)  SafeLockAnalysisMain analysis
           
(package private)  AnalysisResults analysisResults
           
(package private)  EnvCallGraph callGraph
           
(package private)  ControlFlowGraph cfg
           
(package private)  int debug
           
(package private)  soot.jimple.Stmt exitStmt
           
(package private)  soot.SootMethod method
           
(package private)  MultiSet monitors
           
(package private)  soot.toolkits.graph.StronglyConnectedComponents sccAll
           
(package private)  java.util.HashSet visitedMethods
           
 
Constructor Summary
SafeLockAnalysis(soot.SootMethod method, EnvCallGraph callGraph, AnalysisResults pointsToResults, java.util.HashSet visitedMethods, SafeLockAnalysisMain analysis)
           
 
Method Summary
protected  soot.jimple.Stmt findFirst(soot.toolkits.graph.StronglyConnectedComponents scc, java.util.List component, soot.jimple.Stmt last)
           
protected  java.util.List findLast(soot.toolkits.graph.StronglyConnectedComponents scc, java.util.List component, soot.jimple.Stmt first)
           
protected  void findMonitors()
           
protected  void findMonitorsDFS(soot.jimple.Stmt stmt, java.util.List visited, java.util.List processed)
           
 MultiSet getMonitors()
           
 boolean isSafe()
           
protected  void processCallSite(soot.jimple.Stmt stmt, Monitor monitor)
           
protected  void processMonitor(Monitor enclosingMonitor, soot.toolkits.graph.StronglyConnectedComponents scc, soot.jimple.Stmt stmt, java.util.List visited, java.util.List processed)
           
protected  void processMonitorDFS(Monitor monitor, soot.toolkits.graph.StronglyConnectedComponents scc, soot.jimple.Stmt stmt, java.util.List visited, java.util.List processed)
           
protected  void processSCC(Monitor monitor, java.util.List component, soot.toolkits.graph.StronglyConnectedComponents scc, soot.jimple.Stmt last)
           
protected  boolean processSCCDFS(Monitor monitor, java.util.List component, soot.jimple.Stmt stmt, soot.jimple.Stmt last, soot.toolkits.graph.StronglyConnectedComponents loopSCC, int waitCount)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

method

soot.SootMethod method

cfg

ControlFlowGraph cfg

sccAll

soot.toolkits.graph.StronglyConnectedComponents sccAll

callGraph

EnvCallGraph callGraph

analysisResults

AnalysisResults analysisResults

alias

PointsToAnalysis alias

visitedMethods

java.util.HashSet visitedMethods

analysis

SafeLockAnalysisMain analysis

exitStmt

soot.jimple.Stmt exitStmt

monitors

MultiSet monitors

debug

int debug
Constructor Detail

SafeLockAnalysis

public SafeLockAnalysis(soot.SootMethod method,
                        EnvCallGraph callGraph,
                        AnalysisResults pointsToResults,
                        java.util.HashSet visitedMethods,
                        SafeLockAnalysisMain analysis)
Method Detail

findMonitors

protected void findMonitors()

findMonitorsDFS

protected void findMonitorsDFS(soot.jimple.Stmt stmt,
                               java.util.List visited,
                               java.util.List processed)

processMonitor

protected void processMonitor(Monitor enclosingMonitor,
                              soot.toolkits.graph.StronglyConnectedComponents scc,
                              soot.jimple.Stmt stmt,
                              java.util.List visited,
                              java.util.List processed)

processMonitorDFS

protected void processMonitorDFS(Monitor monitor,
                                 soot.toolkits.graph.StronglyConnectedComponents scc,
                                 soot.jimple.Stmt stmt,
                                 java.util.List visited,
                                 java.util.List processed)

processCallSite

protected void processCallSite(soot.jimple.Stmt stmt,
                               Monitor monitor)

processSCC

protected void processSCC(Monitor monitor,
                          java.util.List component,
                          soot.toolkits.graph.StronglyConnectedComponents scc,
                          soot.jimple.Stmt last)

processSCCDFS

protected boolean processSCCDFS(Monitor monitor,
                                java.util.List component,
                                soot.jimple.Stmt stmt,
                                soot.jimple.Stmt last,
                                soot.toolkits.graph.StronglyConnectedComponents loopSCC,
                                int waitCount)

findFirst

protected soot.jimple.Stmt findFirst(soot.toolkits.graph.StronglyConnectedComponents scc,
                                     java.util.List component,
                                     soot.jimple.Stmt last)

findLast

protected java.util.List findLast(soot.toolkits.graph.StronglyConnectedComponents scc,
                                  java.util.List component,
                                  soot.jimple.Stmt first)

isSafe

public boolean isSafe()

getMonitors

public MultiSet getMonitors()