X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=Robust%2Fsrc%2FAnalysis%2FSSJava%2FBuildLattice.java;fp=Robust%2Fsrc%2FAnalysis%2FSSJava%2FBuildLattice.java;h=9db197469bc40e6b89f7593d7dd10e11b3b637da;hb=0840d6ed4e132218cde89ee8995da61465f2bd86;hp=e24965e35b5916b223b07eb0083d555bfbbcabd0;hpb=74da1d0f330468f65e6d141d1732fc1f6e0bb38e;p=IRC.git diff --git a/Robust/src/Analysis/SSJava/BuildLattice.java b/Robust/src/Analysis/SSJava/BuildLattice.java index e24965e3..9db19746 100644 --- a/Robust/src/Analysis/SSJava/BuildLattice.java +++ b/Robust/src/Analysis/SSJava/BuildLattice.java @@ -46,7 +46,8 @@ public class BuildLattice { HierarchyGraph inputGraph = infer.getSkeletonCombinationHierarchyGraph(desc); LocationSummary locSummary = infer.getLocationSummary(desc); - HierarchyGraph naiveGraph = infer.getSimpleHierarchyGraph(desc); + HierarchyGraph simpleGraph = infer.getSimpleHierarchyGraph(desc); + HierarchyGraph naiveGraph = simpleGraph.clone(); // I don't think we need to keep the below if statement anymore // because hierarchy graph does not have any composite location @@ -85,7 +86,16 @@ public class BuildLattice { SSJavaLattice naive_lattice = buildLattice(desc, naiveBasisSet, naiveGraph, null, naive_mapImSucc); - LocationInference.numLocationsNaive += naive_lattice.getKeySet().size(); + int numLocs = naive_lattice.getKeySet().size(); + LocationInference.numLocationsNaive += numLocs; + infer.mapNumLocsMapNaive.put(desc, new Integer(numLocs)); + + int numPaths = naive_lattice.countPaths(); + infer.mapNumPathsMapNaive.put(desc, new Integer(numPaths)); + + System.out.println(desc + " numPaths=" + numPaths + " numLocs=" + + naive_lattice.getKeySet().size()); + infer.addNaiveLattice(desc, naive_lattice); }