From: yeom Date: Tue, 12 Feb 2013 22:27:15 +0000 (+0000) Subject: have a debug flag X-Git-Url: http://plrg.eecs.uci.edu/git/?p=IRC.git;a=commitdiff_plain;h=5e5c10a2592a9acd282a1ae27bdf7468beb12e90 have a debug flag --- diff --git a/Robust/src/Analysis/SSJava/BuildLattice.java b/Robust/src/Analysis/SSJava/BuildLattice.java index f8b5e14a..754db088 100644 --- a/Robust/src/Analysis/SSJava/BuildLattice.java +++ b/Robust/src/Analysis/SSJava/BuildLattice.java @@ -64,17 +64,20 @@ public class BuildLattice { // ///////////////////////////////////////////////////////////////////////////////////// // lattice generation for the native approach - BasisSet naiveBasisSet = naiveGraph.computeBasisSet(nodeSetWithCompositeLocation); - // debug_print(inputGraph); - Family naiveFamily = generateFamily(naiveBasisSet); - Map, Set>> naive_mapImSucc = - coveringGraph(naiveBasisSet, naiveFamily); + if (infer.state.SSJAVA_INFER_NAIVE_WRITEDOTS) { + BasisSet naiveBasisSet = naiveGraph.computeBasisSet(nodeSetWithCompositeLocation); + + Family naiveFamily = generateFamily(naiveBasisSet); + Map, Set>> naive_mapImSucc = + coveringGraph(naiveBasisSet, naiveFamily); + + SSJavaLattice naive_lattice = + buildLattice(desc, naiveBasisSet, naiveGraph, null, naive_mapImSucc); + LocationInference.numLocationsNaive += naive_lattice.getKeySet().size(); + infer.addNaiveLattice(desc, naive_lattice); + } - SSJavaLattice naive_lattice = - buildLattice(desc, naiveBasisSet, naiveGraph, null, naive_mapImSucc); - LocationInference.numLocationsNaive += naive_lattice.getKeySet().size(); - infer.addNaiveLattice(desc, naive_lattice); // ///////////////////////////////////////////////////////////////////////////////////// // lattice generation for the proposed approach diff --git a/Robust/src/Analysis/SSJava/LocationInference.java b/Robust/src/Analysis/SSJava/LocationInference.java index 61c61b1a..b2bd43fc 100644 --- a/Robust/src/Analysis/SSJava/LocationInference.java +++ b/Robust/src/Analysis/SSJava/LocationInference.java @@ -366,8 +366,10 @@ public class LocationInference { // + locOrder.getKeySet().size() + "\t" + hg.getNodeSet().size()); } - System.out.println("The number of elements: Naive=" + numLocationsNaive + " SInfer=" - + numLocationsSInfer); + if (state.SSJAVA_INFER_NAIVE_WRITEDOTS) { + System.out.println("The number of elements: Naive=" + numLocationsNaive); + } + System.out.println("The number of elements: SInfer=" + numLocationsSInfer); System.exit(0); diff --git a/Robust/src/Benchmarks/SSJava/EyeTrackingInfer/makefile b/Robust/src/Benchmarks/SSJava/EyeTrackingInfer/makefile index f42b8fb8..060fb6e3 100644 --- a/Robust/src/Benchmarks/SSJava/EyeTrackingInfer/makefile +++ b/Robust/src/Benchmarks/SSJava/EyeTrackingInfer/makefile @@ -3,39 +3,15 @@ BUILDSCRIPT=../../../buildscript PROGRAM=LEA SOURCE_FILES=LEA.java -ifndef INV_ERROR_PROB -INV_ERROR_PROB=1000 -endif - -ifndef RANDOMSEED -RANDOMSEED=12345 -endif - SSJAVA= -ssjava -ssjavainfer -ssjavadebug -BSFLAGS= -32bit -mainclass $(PROGRAM) -heapsize-mb 1350 -nooptimize -debug -garbagestats #-printlinenum #-joptimize -NORMAL= -ssjava-inject-error 0 0 -INJECT_ERROR= -ssjava-inject-error $(INV_ERROR_PROB) $(RANDOMSEED) +BSFLAGS= -32bit -mainclass $(PROGRAM) -heapsize-mb 1350 -nooptimize -debug -garbagestats #-printlinenum #-joptimize +#NAIVEFLAG= -ssjava-infer-naive-writedots default: $(PROGRAM)s.bin -normal: $(PROGRAM)n.bin - -error: $(PROGRAM)e.bin - - $(PROGRAM)s.bin: $(SOURCE_FILES) makefile - $(BUILDSCRIPT) $(SSJAVA) $(BSFLAGS) -o $(PROGRAM)s -builddir ssj $(SOURCE_FILES) - -$(PROGRAM)n.bin: $(SOURCE_FILES) makefile - $(BUILDSCRIPT) $(NORMAL) $(BSFLAGS) -o $(PROGRAM)n -builddir norm $(SOURCE_FILES) - -$(PROGRAM)e.bin: $(SOURCE_FILES) makefile - $(BUILDSCRIPT) $(SSJAVA) $(INJECT_ERROR) $(BSFLAGS) -o $(PROGRAM)e -builddir injerr $(SOURCE_FILES) - -cleanerror: - rm -f $(PROGRAM)e.bin - rm -rf injerr + $(BUILDSCRIPT) $(SSJAVA) $(BSFLAGS) -o $(PROGRAM)s -builddir ssj $(SOURCE_FILES) $(NAIVEFLAG) clean: rm -f $(PROGRAM)s.bin $(PROGRAM)n.bin $(PROGRAM)e.bin @@ -47,6 +23,4 @@ clean: rm -f *.pdf rm -f aliases.txt rm -f results*txt - rm -f output.txt - rm -f *log - + rm -f *log \ No newline at end of file diff --git a/Robust/src/Benchmarks/SSJava/JavaNatorInfer/makefile b/Robust/src/Benchmarks/SSJava/JavaNatorInfer/makefile index 99d81779..dbca7b53 100644 --- a/Robust/src/Benchmarks/SSJava/JavaNatorInfer/makefile +++ b/Robust/src/Benchmarks/SSJava/JavaNatorInfer/makefile @@ -3,39 +3,15 @@ BUILDSCRIPT=../../../buildscript PROGRAM=RobotMain SOURCE_FILES=RobotMain.java -ifndef INV_ERROR_PROB -INV_ERROR_PROB=1000 -endif - -ifndef RANDOMSEED -RANDOMSEED=12345 -endif - SSJAVA= -ssjava -ssjavainfer -ssjavadebug -BSFLAGS= -32bit -mainclass $(PROGRAM) -heapsize-mb 1350 -nooptimize -debug -garbagestats #-printlinenum #-joptimize -NORMAL= -ssjava-inject-error 0 0 -INJECT_ERROR= -ssjava-inject-error $(INV_ERROR_PROB) $(RANDOMSEED) +BSFLAGS= -32bit -mainclass $(PROGRAM) -heapsize-mb 1350 -nooptimize -debug -garbagestats #-printlinenum #-joptimize +#NAIVEFLAG= -ssjava-infer-naive-writedots default: $(PROGRAM)s.bin -normal: $(PROGRAM)n.bin - -error: $(PROGRAM)e.bin - - $(PROGRAM)s.bin: $(SOURCE_FILES) makefile - $(BUILDSCRIPT) $(SSJAVA) $(BSFLAGS) -o $(PROGRAM)s -builddir ssj $(SOURCE_FILES) - -$(PROGRAM)n.bin: $(SOURCE_FILES) makefile - $(BUILDSCRIPT) $(NORMAL) $(BSFLAGS) -o $(PROGRAM)n -builddir norm $(SOURCE_FILES) - -$(PROGRAM)e.bin: $(SOURCE_FILES) makefile - $(BUILDSCRIPT) $(SSJAVA) $(INJECT_ERROR) $(BSFLAGS) -o $(PROGRAM)e -builddir injerr $(SOURCE_FILES) - -cleanerror: - rm -f $(PROGRAM)e.bin - rm -rf injerr + $(BUILDSCRIPT) $(SSJAVA) $(BSFLAGS) -o $(PROGRAM)s -builddir ssj $(SOURCE_FILES) $(NAIVEFLAG) clean: rm -f $(PROGRAM)s.bin $(PROGRAM)n.bin $(PROGRAM)e.bin @@ -47,6 +23,4 @@ clean: rm -f *.pdf rm -f aliases.txt rm -f results*txt - rm -f output.txt - rm -f *log - + rm -f *log \ No newline at end of file diff --git a/Robust/src/Benchmarks/SSJava/MP3DecoderInfer/makefile b/Robust/src/Benchmarks/SSJava/MP3DecoderInfer/makefile index 3619a326..ea1ad433 100644 --- a/Robust/src/Benchmarks/SSJava/MP3DecoderInfer/makefile +++ b/Robust/src/Benchmarks/SSJava/MP3DecoderInfer/makefile @@ -3,39 +3,15 @@ BUILDSCRIPT=../../../buildscript PROGRAM=MP3Player SOURCE_FILES=MP3Player.java Player.java -ifndef INV_ERROR_PROB -INV_ERROR_PROB=1000 -endif - -ifndef RANDOMSEED -RANDOMSEED=12345 -endif - SSJAVA= -ssjava -ssjavainfer -ssjavadebug -BSFLAGS= -32bit -mainclass $(PROGRAM) -heapsize-mb 1350 -nooptimize -debug -garbagestats #-printlinenum #-joptimize -NORMAL= -ssjava-inject-error 0 0 -INJECT_ERROR= -ssjava-inject-error $(INV_ERROR_PROB) $(RANDOMSEED) +BSFLAGS= -32bit -mainclass $(PROGRAM) -heapsize-mb 1350 -nooptimize -debug -garbagestats #-printlinenum #-joptimize +#NAIVELAG= -ssjava-infer-naive-writedots default: $(PROGRAM)s.bin -normal: $(PROGRAM)n.bin - -error: $(PROGRAM)e.bin - - $(PROGRAM)s.bin: $(SOURCE_FILES) makefile - $(BUILDSCRIPT) $(SSJAVA) $(BSFLAGS) -o $(PROGRAM)s -builddir ssj $(SOURCE_FILES) - -$(PROGRAM)n.bin: $(SOURCE_FILES) makefile - $(BUILDSCRIPT) $(NORMAL) $(BSFLAGS) -o $(PROGRAM)n -builddir norm $(SOURCE_FILES) - -$(PROGRAM)e.bin: $(SOURCE_FILES) makefile - $(BUILDSCRIPT) $(SSJAVA) $(INJECT_ERROR) $(BSFLAGS) -o $(PROGRAM)e -builddir injerr $(SOURCE_FILES) - -cleanerror: - rm -f $(PROGRAM)e.bin - rm -rf injerr + $(BUILDSCRIPT) $(SSJAVA) $(BSFLAGS) -o $(PROGRAM)s -builddir ssj $(SOURCE_FILES) $(NAIVEFLAG) clean: rm -f $(PROGRAM)s.bin $(PROGRAM)n.bin $(PROGRAM)e.bin @@ -44,6 +20,7 @@ clean: rm -f *~ rm -f *.dot rm -f *.png + rm -f *.pdf rm -f aliases.txt rm -f results*txt rm -f *log diff --git a/Robust/src/IR/State.java b/Robust/src/IR/State.java index 67b4ff83..00679763 100644 --- a/Robust/src/IR/State.java +++ b/Robust/src/IR/State.java @@ -151,6 +151,7 @@ public class State { public boolean SSJAVAINFER=false; public boolean SSJAVA_GENCODE_PREVENT_CRASHES=false; public boolean SSJAVA_INJECT_ERROR=false; + public boolean SSJAVA_INFER_NAIVE_WRITEDOTS=false; public int SSJAVA_INV_ERROR_PROB=0; public int SSJAVA_ERROR_SEED=0; public Set annotationRequireSet; diff --git a/Robust/src/Main/Main.java b/Robust/src/Main/Main.java index 2ec01a63..1d6f210c 100644 --- a/Robust/src/Main/Main.java +++ b/Robust/src/Main/Main.java @@ -393,6 +393,8 @@ public class Main { state.SSJAVADEBUG = true; } else if (option.equals("-ssjavainfer")) { state.SSJAVAINFER= true; + } else if (option.equals("-ssjava-infer-naive-writedots")){ + state.SSJAVA_INFER_NAIVE_WRITEDOTS=true; } else if( option.equals( "-ssjava-inject-error" ) ) { state.SSJAVA_GENCODE_PREVENT_CRASHES = true; state.SSJAVA_INJECT_ERROR = true; diff --git a/Robust/src/buildscript b/Robust/src/buildscript index 8a7b7a9a..54eec4bd 100755 --- a/Robust/src/buildscript +++ b/Robust/src/buildscript @@ -129,6 +129,7 @@ echo -ssjava enables SSJava echo -ssjavadebug reports interim results echo -ssjavainfer location type inference echo -ssjava-induce-error N S where 1/N is the probability to error at any deref or divide and S is a random seed +echo -ssjava-infer-naive-writedots write lattice dots generated by the naive approach echo echo Other options echo -jni enable jni @@ -707,6 +708,11 @@ then USE_SSJAVA_INFER_CLASSPATH=true JAVAOPTS="$JAVAOPTS -ssjavainfer" +elif [[ $1 = '-ssjava-infer-naive-writedots' ]] +then +USE_SSJAVA_INFER_CLASSPATH=true +JAVAOPTS="$JAVAOPTS -ssjava-infer-naive-writedots" + elif [[ $1 = '-ssjava-inject-error' ]] then USE_SSJAVA_CLASSPATH=true @@ -916,7 +922,7 @@ elif $USE_SSJAVA_CLASSPATH if $USE_SSJAVA_INFER_CLASSPATH then JAVAOPTS="$JAVAOPTS -classlibrary $ROBUSTROOT/ClassLibrary/SSJavaInfer" - elif ! $USE_SSJAVA_INFER_NOCLASSPATH + elif ! $USE_SSJAVA_NOCLASSPATH then JAVAOPTS="$JAVAOPTS -classlibrary $ROBUSTROOT/ClassLibrary/SSJava" fi