com.ibm.wala.j2ee.util
Class Util

java.lang.Object
  extended by com.ibm.wala.j2ee.util.Util

public class Util
extends java.lang.Object


Constructor Summary
Util()
           
 
Method Summary
static void addDefaultJ2EEBypassLogic(AnalysisOptions options, AnalysisScope scope, java.lang.ClassLoader cl, IClassHierarchy cha)
           
static void addJ2EEBypassLogic(AnalysisOptions options, AnalysisScope scope, DeploymentMetaData dmd, IClassHierarchy cha, ReceiverTypeInferenceCache typeInference, WarningSet warn)
           
static java.util.Set<java.lang.Object> getCMRFields(BeanMetaData bean, DeploymentMetaData dmd, ClassHierarchy cha)
           
static CallGraphBuilder makeOneCFABuilder(AnalysisOptions options, IClassHierarchy cha, java.lang.ClassLoader cl, AnalysisScope scope, DeploymentMetaData dmd, WarningSet warnings)
           
static CallGraphBuilder makeRTABuilder(AnalysisOptions options, IClassHierarchy cha, java.lang.ClassLoader cl, AnalysisScope scope, DeploymentMetaData dmd, WarningSet warnings)
           
static CFABuilder makeZeroCFABuilder(AnalysisOptions options, IClassHierarchy cha, java.lang.ClassLoader cl, AnalysisScope scope, DeploymentMetaData dmd, WarningSet warnings)
           
static CFABuilder makeZeroContainerCFABuilder(AnalysisOptions options, IClassHierarchy cha, java.lang.ClassLoader cl, AnalysisScope scope, DeploymentMetaData dmd, WarningSet warnings)
           
static CFABuilder makeZeroOneCFABuilder(AnalysisOptions options, IClassHierarchy cha, java.lang.ClassLoader cl, AnalysisScope scope, DeploymentMetaData dmd, WarningSet warnings)
           
static CFABuilder makeZeroOneContainerCFABuilder(AnalysisOptions options, IClassHierarchy cha, java.lang.ClassLoader cl, AnalysisScope scope, DeploymentMetaData dmd, WarningSet warnings)
           
static CFABuilder makeZeroOneUnoptCFABuilder(AnalysisOptions options, ClassHierarchy cha, java.lang.ClassLoader cl, AnalysisScope scope, DeploymentMetaData dmd, WarningSet warnings)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Util

public Util()
Method Detail

makeRTABuilder

public static CallGraphBuilder makeRTABuilder(AnalysisOptions options,
                                              IClassHierarchy cha,
                                              java.lang.ClassLoader cl,
                                              AnalysisScope scope,
                                              DeploymentMetaData dmd,
                                              WarningSet warnings)
Parameters:
options - options that govern call graph construction
cha - governing class hierarchy
cl - classloader that can find WALA resources
scope - representation of the analysis scope
dmd - deployment descriptor abstraction
warnings - an object which tracks analysis warnings
Returns:
an RTA Call Graph builder.

makeZeroCFABuilder

public static CFABuilder makeZeroCFABuilder(AnalysisOptions options,
                                            IClassHierarchy cha,
                                            java.lang.ClassLoader cl,
                                            AnalysisScope scope,
                                            DeploymentMetaData dmd,
                                            WarningSet warnings)
Parameters:
options - options that govern call graph construction
cha - governing class hierarchy
cl - classloader that can find WALA resources
scope - representation of the analysis scope
dmd - deployment descriptor abstraction
warnings - an object which tracks analysis warnings
Returns:
a 0-CFA Call Graph Builder.

makeOneCFABuilder

public static CallGraphBuilder makeOneCFABuilder(AnalysisOptions options,
                                                 IClassHierarchy cha,
                                                 java.lang.ClassLoader cl,
                                                 AnalysisScope scope,
                                                 DeploymentMetaData dmd,
                                                 WarningSet warnings)
Parameters:
options - options that govern call graph construction
cha - governing class hierarchy
cl - classloader that can find WALA resources
scope - representation of the analysis scope
dmd - deployment descriptor abstraction
warnings - an object which tracks analysis warnings
Returns:
a 1-CFA Call Graph Builder.

makeZeroOneCFABuilder

public static CFABuilder makeZeroOneCFABuilder(AnalysisOptions options,
                                               IClassHierarchy cha,
                                               java.lang.ClassLoader cl,
                                               AnalysisScope scope,
                                               DeploymentMetaData dmd,
                                               WarningSet warnings)
Parameters:
options - options that govern call graph construction
cha - governing class hierarchy
cl - classloader that can find WALA resources
scope - representation of the analysis scope
dmd - deployment descriptor abstraction
warnings - an object which tracks analysis warnings
Returns:
a 0-1-CFA Call Graph Builder. This version uses the DEDUCED_PLUS_STRINGSTUFF policy to avoid disambiguating uninteresting types.

makeZeroOneUnoptCFABuilder

public static CFABuilder makeZeroOneUnoptCFABuilder(AnalysisOptions options,
                                                    ClassHierarchy cha,
                                                    java.lang.ClassLoader cl,
                                                    AnalysisScope scope,
                                                    DeploymentMetaData dmd,
                                                    WarningSet warnings)
Parameters:
options - options that govern call graph construction
cha - governing class hierarchy
cl - classloader that can find WALA resources
scope - representation of the analysis scope
dmd - deployment descriptor abstraction
warnings - an object which tracks analysis warnings
Returns:
a 0-1-CFA Call Graph Builder. This version uses the ALL policy to disambiguate all allocation sites

makeZeroContainerCFABuilder

public static CFABuilder makeZeroContainerCFABuilder(AnalysisOptions options,
                                                     IClassHierarchy cha,
                                                     java.lang.ClassLoader cl,
                                                     AnalysisScope scope,
                                                     DeploymentMetaData dmd,
                                                     WarningSet warnings)
Parameters:
options - options that govern call graph construction
cha - governing class hierarchy
cl - classloader that can find WALA resources
scope - representation of the analysis scope
dmd - deployment descriptor abstraction
warnings - an object which tracks analysis warnings
Returns:
a 0-CFA Call Graph Builder augmented with extra logic for containers

makeZeroOneContainerCFABuilder

public static CFABuilder makeZeroOneContainerCFABuilder(AnalysisOptions options,
                                                        IClassHierarchy cha,
                                                        java.lang.ClassLoader cl,
                                                        AnalysisScope scope,
                                                        DeploymentMetaData dmd,
                                                        WarningSet warnings)
Parameters:
options - options that govern call graph construction
cha - governing class hierarchy
cl - classloader that can find WALA resources
scope - representation of the analysis scope
dmd - deployment descriptor abstraction
warnings - an object which tracks analysis warnings
Returns:
a 0-1-CFA Call Graph Builder augmented with extra logic for containers

addJ2EEBypassLogic

public static void addJ2EEBypassLogic(AnalysisOptions options,
                                      AnalysisScope scope,
                                      DeploymentMetaData dmd,
                                      IClassHierarchy cha,
                                      ReceiverTypeInferenceCache typeInference,
                                      WarningSet warn)

getCMRFields

public static java.util.Set<java.lang.Object> getCMRFields(BeanMetaData bean,
                                                           DeploymentMetaData dmd,
                                                           ClassHierarchy cha)
Parameters:
bean -
cha - governing class hierarchy
Returns:
the Set of CMR fields for this bean, including inherited CMRs

addDefaultJ2EEBypassLogic

public static void addDefaultJ2EEBypassLogic(AnalysisOptions options,
                                             AnalysisScope scope,
                                             java.lang.ClassLoader cl,
                                             IClassHierarchy cha)