From 2ef16914fd183f9fa2d9b23a8382bddca8cc7e23 Mon Sep 17 00:00:00 2001 From: jjenista Date: Sat, 22 Oct 2011 01:17:09 +0000 Subject: [PATCH] automate trying different error probabilities and seeds --- .../src/Benchmarks/SSJava/MP3Decoder/makefile | 14 +++++++++- .../MP3Decoder/observe-new-error-seed.sh | 26 +++++++++++++++++++ .../Benchmarks/SSJava/MP3Decoder/run-error.sh | 2 ++ 3 files changed, 41 insertions(+), 1 deletion(-) create mode 100755 Robust/src/Benchmarks/SSJava/MP3Decoder/observe-new-error-seed.sh diff --git a/Robust/src/Benchmarks/SSJava/MP3Decoder/makefile b/Robust/src/Benchmarks/SSJava/MP3Decoder/makefile index b82df16b..e53e63ec 100644 --- a/Robust/src/Benchmarks/SSJava/MP3Decoder/makefile +++ b/Robust/src/Benchmarks/SSJava/MP3Decoder/makefile @@ -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 index 00000000..ca3be5b3 --- /dev/null +++ b/Robust/src/Benchmarks/SSJava/MP3Decoder/observe-new-error-seed.sh @@ -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" diff --git a/Robust/src/Benchmarks/SSJava/MP3Decoder/run-error.sh b/Robust/src/Benchmarks/SSJava/MP3Decoder/run-error.sh index fabe0d4f..aebe29da 100755 --- a/Robust/src/Benchmarks/SSJava/MP3Decoder/run-error.sh +++ b/Robust/src/Benchmarks/SSJava/MP3Decoder/run-error.sh @@ -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 -- 2.34.1