|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object joeq.Compiler.Quad.AndersenPointerAnalysis
public class AndersenPointerAnalysis
Nested Class Summary | |
---|---|
static class |
AndersenPointerAnalysis.AccessPath
|
static class |
AndersenPointerAnalysis.Path
|
static class |
AndersenPointerAnalysis.Visitor
|
Field Summary | |
---|---|
static boolean |
COMPARE_RTA
Compare our result to RTA, and dump the statistics. |
static boolean |
DO_TWICE
Do the analysis twice, and report timings for each. |
static boolean |
FORCE_GC
Force a garbage collection after every iteration of the algorithm. |
static boolean |
FULL_DUMP
Dump the call graph after analysis has completed. |
static boolean |
HANDLE_ESCAPE
Controls the handling of references that escape to native methods or threads. |
static int |
HISTOGRAM_SIZE
|
static boolean |
IGNORE_CLINIT
Don't explicitly model the calling of |
static boolean |
INCLUSION_BACK_EDGES
Keep track of inclusion back edges. |
static AndersenPointerAnalysis |
INSTANCE
|
static PrintStream |
out
Output stream for trace information. |
static boolean |
REUSE_CACHES
Reuse the lookup cache across multiple iterations of the algorithm. |
static boolean |
TRACE
Controls the output of trace information. |
static boolean |
TRACE_CHANGE
Output the cause of the *first* change in each iteration. |
static boolean |
TRACE_CYCLES
Output debugging information on the collapsing of cycles. |
static boolean |
TRACK_CHANGED_FIELDS
Track which fields have changed between iterations. |
static boolean |
TRACK_CHANGES
Keep track of whether cache entries change between iterations, to avoid the reconstruction and reduce the number of set union operations. |
static boolean |
TRACK_REASONS
Keep track of the reason why each inclusion edge was added to the graph. |
static boolean |
USE_SET_REPOSITORY
Use a set repository, rather than a set factory. |
static boolean |
USE_SOFT_REFERENCES
Controls the use of soft references for the lookup cache. |
static boolean |
VerifyAssertions
Enable/disable assertion checking. |
Constructor Summary | |
---|---|
AndersenPointerAnalysis(boolean addDefaults)
Creates new AndersenPointerAnalysis |
Method Summary | |
---|---|
boolean |
addToRootSet(ControlFlowGraph cfg)
Add a control flow graph to the root set. |
boolean |
addToRootSet(MethodSummary s)
|
static Map |
buildOriginalCallGraph(Map m)
|
static String |
compareWithOriginal(Map cg,
Map original)
|
static String |
computeHistogram2(Map m)
|
String |
computeStats()
|
CallGraph |
getCallGraph()
|
static CallTargets |
getCallTargets_CHA(ProgramLocation pl)
|
static CallTargets |
getCallTargets(ProgramLocation pl,
Set nodes)
|
jwutil.collections.Pair |
getPair(Object left,
Object right)
|
void |
initializeStatics(boolean addMethodsToVisit)
|
void |
iterate()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static PrintStream out
public static boolean TRACE
public static final boolean TRACE_CHANGE
public static final boolean TRACE_CYCLES
public static final boolean VerifyAssertions
public static boolean FULL_DUMP
public static boolean COMPARE_RTA
public static boolean DO_TWICE
public static boolean IGNORE_CLINIT
public static final boolean HANDLE_ESCAPE
public static final boolean USE_SOFT_REFERENCES
public static boolean FORCE_GC
public static final boolean REUSE_CACHES
public static final boolean TRACK_CHANGES
public static final boolean TRACK_CHANGED_FIELDS
public static boolean TRACK_REASONS
public static final boolean INCLUSION_BACK_EDGES
public static final boolean USE_SET_REPOSITORY
public static AndersenPointerAnalysis INSTANCE
public static final int HISTOGRAM_SIZE
Constructor Detail |
---|
public AndersenPointerAnalysis(boolean addDefaults)
Method Detail |
---|
public boolean addToRootSet(ControlFlowGraph cfg)
cfg
- control flow graph to add
public boolean addToRootSet(MethodSummary s)
public void initializeStatics(boolean addMethodsToVisit)
public String computeStats()
public static Map buildOriginalCallGraph(Map m)
public static String compareWithOriginal(Map cg, Map original)
public static String computeHistogram2(Map m)
public void iterate()
public static CallTargets getCallTargets_CHA(ProgramLocation pl)
public static CallTargets getCallTargets(ProgramLocation pl, Set nodes)
public jwutil.collections.Pair getPair(Object left, Object right)
public CallGraph getCallGraph()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |