little twiddles for kmeans investigation
authorjjenista <jjenista>
Fri, 27 Jan 2012 01:14:50 +0000 (01:14 +0000)
committerjjenista <jjenista>
Fri, 27 Jan 2012 01:14:50 +0000 (01:14 +0000)
Robust/src/Analysis/Disjoint/DisjointAnalysis.java
Robust/src/Analysis/Disjoint/GraphElementCount.java
Robust/src/Analysis/Disjoint/ReachGraph.java
Robust/src/Benchmarks/oooJava/master-makefile

index f5f1ead57174f9255332ddeea30cc6ad16320faa..885730212149793a4d6abce9b28ff039291735b1 100644 (file)
@@ -2107,7 +2107,7 @@ public class DisjointAnalysis implements HeapAnalysis {
                     true,     // selectively hide intermediate temp vars
                     true,     // prune unreachable heap regions
                     false,    // hide reachability altogether
-                    true,     // hide subset reachability states
+                    false,    // hide subset reachability states
                     true,     // hide predicates
                     true);    // hide edge taints
     }
index bfc6b384337b707c121f7d2472987cce7e7d6008..e377ba8a169acf1edc4b3cceb36d940699629df8 100644 (file)
@@ -7,12 +7,12 @@ import java.util.*;
 
 public class GraphElementCount {
 
-  public long numNodes;           
-  public long numEdges;           
-  public long numNodeStates;      
-  public long numEdgeStates;      
-  public long numNodeStateNonzero;
-  public long numEdgeStateNonzero;
+  private long numNodes;           
+  private long numEdges;           
+  private long numNodeStates;      
+  private long numEdgeStates;      
+  private long numNodeStateNonzero;
+  private long numEdgeStateNonzero;
 
   public GraphElementCount() {
     numNodes = 0;           
index 6e5522d5ca2a549f329b19db91d4c6b6c74bbea1..d6c99ce175007e18b60c082b4b43a4ee7c5f884e 100644 (file)
@@ -2390,8 +2390,8 @@ public class ReachGraph {
   private static boolean resolveMethodDebugDOTselectTemps     = true;
   private static boolean resolveMethodDebugDOTpruneGarbage    = true;
   private static boolean resolveMethodDebugDOThideReach       = false;
-  private static boolean resolveMethodDebugDOThideSubsetReach = true;
-  private static boolean resolveMethodDebugDOThidePreds       = false;
+  private static boolean resolveMethodDebugDOThideSubsetReach = false;
+  private static boolean resolveMethodDebugDOThidePreds       = true;
   private static boolean resolveMethodDebugDOThideEdgeTaints  = true;
 
   static String debugGraphPrefix;
@@ -4567,6 +4567,14 @@ public class ReachGraph {
       BufferedWriter bw =
         new BufferedWriter(new FileWriter(graphName+".dot") );
 
+
+      if( state.DISJOINT_COUNT_GRAPH_ELEMENTS ) {
+        GraphElementCount gec = new GraphElementCount();
+        countGraphElements( gec );
+        bw.write("/* Counting Graph Elements\n"+gec+" */\n");
+      }
+
+
       bw.write("digraph "+graphName+" {\n");
 
 
index e44d26f8552bc9ecddb8d41fba9aedf447abd07d..11a610cc9beba6f1fc2cd290a9e8be8f91771ae8 100644 (file)
@@ -61,7 +61,7 @@ DISJOINT= -disjoint -disjoint-k 1 -enable-assertions $(DRELEASEMODE) #-disjoint-
 # -disjoint-debug-scheduling (use to get messages about WHY a method is rescheduled for analysis)
 
 # to use -disjoint-debug-callsite flag, arguments are:
-# 1. callee symbol, ex: MainClass.foo() has symbol "foo"
+# 1. callee symbol, ex: MainClass.foo() has symbol "MainClass.foo"
 # 2. caller symbol
 # 3. numCallSiteVisitsToSkip, the analysis sometimes revisits a call site many, MANY times, but usually use 1
 # 4. numCallSiteVisitsToCapture, if you choose a really high number you'll get every visit, could be a lot
@@ -81,15 +81,18 @@ DISJOINTDEBUG= -disjoint -disjoint-k 1 -enable-assertions $(DRELEASEMODE) -print
        -justanalyze \
        -disjoint-count-graph-elements
 #      -disjoint-disable-strong-update
-#      -disjoint-disable-global-sweep
+#      -disjoint-disable-global-sweep \
+
+#      -disjoint-write-dots final \
 
 #      -disjoint-summarize-per-class
 #      -disjoint-disable-predicates \
 #
-#      -disjoint-write-dots final
 #      -do-definite-reach-analysis \
 #      -disjoint-debug-scheduling
-#      -disjoint-debug-callsite Barneshut.Insert Barneshut.run 50 500 true
+
+#      -disjoint-debug-callsite Common.common_findNearestPoint Normal.work 5 500 true \
+
 #      -disjoint-debug-snap-method ArrayIndexedGraph.createNode 1 100 true \
 #      -disjoint-write-dots final \
 #      -flatirusermethods \