diff --git a/tools/integer_replay.sh b/tools/integer_replay.sh index dc4da648ab790f3cf440eb30bba85bf35a0c61c7..828fbca9de9fd0a776062c1ad36268267ddebd7f 100755 --- a/tools/integer_replay.sh +++ b/tools/integer_replay.sh @@ -69,7 +69,7 @@ do integer_diagnostics="integer.diagnostics.$input_number" - STRATA_PC_CONFINE=1 STRATA_DETECTOR_POLICY="continue" STRATA_LOG="detectors" STRATA_OUTPUT_FILE=$integer_diagnostics STRATA_SPRI_FILE="$BSPRI" timeout $REPLAYER_TIMEOUT "$GRACE_HOME/concolic/bin/replayer" --timeout=$REPLAYER_TIMEOUT --symbols=$TOP_LEVEL/a.sym --stdout=stdout.$input --stderr=stderr.$input --logfile=exit_status --engine=sdt $STRATAFIED_BINARY $i +STRATA_NUM_HANDLE=1 STRATA_DOUBLE_FREE=1 STRATA_HEAPRAND=1 STRATA_CONTROLLED_EXIT=1 STRATA_PC_CONFINE=1 STRATA_DETECTOR_POLICY="continue" STRATA_LOG="detectors" STRATA_OUTPUT_FILE=$integer_diagnostics STRATA_SPRI_FILE="$BSPRI" timeout $REPLAYER_TIMEOUT "$GRACE_HOME/concolic/bin/replayer" --timeout=$REPLAYER_TIMEOUT --symbols=$TOP_LEVEL/a.sym --stdout=stdout.$input --stderr=stderr.$input --logfile=exit_status --engine=sdt $STRATAFIED_BINARY $i # classify input: if segfault or failed PC confinement, then don't treat C1/Integer Detector for a given instruction as a false positive @@ -83,6 +83,11 @@ do if [ $? -eq 0 ]; then continue fi + #if exited with 200 (Peasoup exit status code on error), ignore input + grep -i "status 200" exit_status + if [ $? -eq 0 ]; then + continue + fi # if PC failed confinement, ignore input grep -i "PC failed confinement" $integer_diagnostics if [ $? -eq 0 ]; then