automate trying different error probabilities and seeds
authorjjenista <jjenista>
Sat, 22 Oct 2011 01:17:09 +0000 (01:17 +0000)
committerjjenista <jjenista>
Sat, 22 Oct 2011 01:17:09 +0000 (01:17 +0000)
Robust/src/Benchmarks/SSJava/MP3Decoder/makefile
Robust/src/Benchmarks/SSJava/MP3Decoder/observe-new-error-seed.sh [new file with mode: 0755]
Robust/src/Benchmarks/SSJava/MP3Decoder/run-error.sh

index b82df16b919d8bfb4538ae313dbe846c6c797f49..e53e63ecbc4288e15cae3c2ccfe9dc9c8817a479 100644 (file)
@@ -3,10 +3,18 @@ BUILDSCRIPT=../../../buildscript
 PROGRAM=MP3Player
 SOURCE_FILES=MP3Player.java
 
+ifndef INV_ERROR_PROB
+INV_ERROR_PROB=1000
+endif
+
+ifndef RANDOMSEED
+RANDOMSEED=12345
+endif
+
 SSJAVA= -ssjava -ssjavadebug
 BSFLAGS= -32bit -mainclass $(PROGRAM)  -heapsize-mb 1000  -nooptimize -debug -garbagestats #-printlinenum #-joptimize
 NORMAL= -ssjava-inject-error 0 0
-INJECT_ERROR= -ssjava-inject-error 1000 12345
+INJECT_ERROR= -ssjava-inject-error $(INV_ERROR_PROB) $(RANDOMSEED)
 
 
 default: $(PROGRAM)s.bin
@@ -25,6 +33,10 @@ $(PROGRAM)n.bin: $(SOURCE_FILES) makefile
 $(PROGRAM)e.bin: $(SOURCE_FILES) makefile
        $(BUILDSCRIPT) $(INJECT_ERROR) $(BSFLAGS) -o $(PROGRAM)e -builddir injerr $(SOURCE_FILES) 
 
+cleanerror:
+       rm -f $(PROGRAM)e.bin
+       rm -rf injerr
+
 clean:
        rm -f  $(PROGRAM)s.bin $(PROGRAM)n.bin $(PROGRAM)e.bin
        rm -fr ssj norm injerr
diff --git a/Robust/src/Benchmarks/SSJava/MP3Decoder/observe-new-error-seed.sh b/Robust/src/Benchmarks/SSJava/MP3Decoder/observe-new-error-seed.sh
new file mode 100755 (executable)
index 0000000..ca3be5b
--- /dev/null
@@ -0,0 +1,26 @@
+#!/bin/bash
+
+if [[ -z $1 ]] ; then
+  echo 'Please supply an inverse probability (e.g. 1000).'
+  exit
+fi
+
+if [[ -z $2 ]] ; then
+  echo 'Please supply a random seed.'
+  exit
+fi
+
+trycommand () {
+  $1
+  if [[ ! $? ]] ; then
+    echo "FAILED: $1"
+    exit
+  fi  
+}
+
+trycommand "make normal"
+trycommand "make cleanerror"
+trycommand "make error INV_ERROR_PROB=$1 RANDOMSEED=$2"
+trycommand "run-normal.sh"
+trycommand "run-error.sh"
+trycommand "plot-normal-vs-error.sh"
index fabe0d4fc98d08138b4947a1d000c183e67c5c02..aebe29da77c581f0b2aae8be75f6216a673a79ff 100755 (executable)
@@ -1,4 +1,6 @@
 #!/bin/bash
 MP3Playere.bin focus.mp3 > error.txt
 
+grep "SSJAVA: Injecting error" error.txt
+
 mp3samples2plotData.sh error.txt
\ No newline at end of file