envgen.analysis.stat
Class SafeLockAnalysisMain

java.lang.Object
  |
  +--envgen.analysis.stat.SafeLockAnalysisMain
All Implemented Interfaces:
IApproach

public class SafeLockAnalysisMain
extends java.lang.Object
implements IApproach


Field Summary
(package private)  AnalysisResults analysisResults
           
(package private)  EnvCallGraph callGraph
          Needed for interprocedural SE analysis.
(package private)  int debug
          Set to print debugging messages.
(package private)  boolean packageAnalysis
          Integer field that keeps track of value k in k-limiting.
(package private)  java.lang.String packageName
           
(package private)  java.util.List unitStaticFields
          List of static fields of the unit.
(package private)  java.util.HashMap unitTable
          Unit classes.
 
Constructor Summary
SafeLockAnalysisMain(java.util.HashMap unitTable, EnvCallGraph callGraph)
           
 
Method Summary
 Assumptions acquireAssumptions()
           
 void analyzeSafeLocks(soot.SootMethod externalMethod, java.util.HashSet visited)
          Interprocedural, flow-sensitive, parameterized alias analysis.
 void performSafeLockAnalysis(java.util.List markedMethods)
          For each of the methods in the environment records a set of unit data side-effects.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

unitTable

java.util.HashMap unitTable
Unit classes.


callGraph

EnvCallGraph callGraph
Needed for interprocedural SE analysis.


analysisResults

AnalysisResults analysisResults

unitStaticFields

java.util.List unitStaticFields
List of static fields of the unit.


packageAnalysis

boolean packageAnalysis
Integer field that keeps track of value k in k-limiting. The value can be varied by the user. The larger the value, the more precise information will be produced by the analysis.


packageName

java.lang.String packageName

debug

int debug
Set to print debugging messages.

Constructor Detail

SafeLockAnalysisMain

public SafeLockAnalysisMain(java.util.HashMap unitTable,
                            EnvCallGraph callGraph)
Method Detail

acquireAssumptions

public Assumptions acquireAssumptions()
Specified by:
acquireAssumptions in interface IApproach

performSafeLockAnalysis

public void performSafeLockAnalysis(java.util.List markedMethods)
For each of the methods in the environment records a set of unit data side-effects.


analyzeSafeLocks

public void analyzeSafeLocks(soot.SootMethod externalMethod,
                             java.util.HashSet visited)
Interprocedural, flow-sensitive, parameterized alias analysis.