From 1ba81076e4d0ee1eddb79e75143020e263c13eef Mon Sep 17 00:00:00 2001 From: goldmannc Date: Sat, 14 Aug 2021 19:16:31 +0200 Subject: [PATCH 01/12] create preprocessing_script.sh --- .../C/testcases/preprocessing_script.sh | 114 ++++++++++++++++++ 1 file changed, 114 insertions(+) create mode 100755 c/Juliet_Test/Juliet_Test_Suite_v1.3_for_C_Cpp/C/testcases/preprocessing_script.sh diff --git a/c/Juliet_Test/Juliet_Test_Suite_v1.3_for_C_Cpp/C/testcases/preprocessing_script.sh b/c/Juliet_Test/Juliet_Test_Suite_v1.3_for_C_Cpp/C/testcases/preprocessing_script.sh new file mode 100755 index 00000000000..cf76e9aab1c --- /dev/null +++ b/c/Juliet_Test/Juliet_Test_Suite_v1.3_for_C_Cpp/C/testcases/preprocessing_script.sh @@ -0,0 +1,114 @@ +#!/bin/bash + +# This file is part of the SV-Benchmarks collection of verification tasks: +# https://github.com/sosy-lab/sv-benchmarks +# SPDX-FileCopyrightText: 2020 The SV-Benchmarks Community +# SPDX-License-Identifier: CC0-1.0 + +# This script can only be called from sv-benchmarks/c/Juliet_Test/Juliet_Test_Suite_v1.3_for_C_Cpp/C/testcases +# Running this script the .c files in each CWE directory are preprocessed and a _bad.i , _good.i and .yml file are created for each .c file. +# The preprocessed/yml files are saved in the preprocessed folder in each CWE directory in testcases. +# Files with a windows.h header can only be preprocessed on a windows system. + + +# options for preprocessing +OPTIONS="-E -D INCLUDEMAIN=1 -m64 -I "../../testcasesupport"" + +# property_file +property_file=" " + +#for loop runs over all folders in testcases +for folder in */ +do + # current folder + echo "$folder" + + cd "$folder" + + # get the matching property_file for the CWE-Id + cwe_folder="$(basename $folder)" # get the plain directory name + cwe="${cwe_folder%${cwe_folder#??????}}" # extract the first 6 chars from the string + + case "$cwe" in + + "CWE191") + property_file="../../properties/no-overflow.prp" + ;; + + "CWE119" | "CWE125" | "CWE415" | "CWE401" | "CWE416" | "CWE762" | "CWE787" | "CWE843") + property_file="../../properties/valid-memorysafety.prp" + ;; + + *) + property_file="" + ;; + + esac + + # if propertyfile is empty then skip the directory otherwise analyse/preprocess the directory + if [ -z "$property_file" ] + then + echo "skipping directory because of missing propertyfile" + cd - + continue + else + echo "analysing directory" + fi + + #creates a new folder for the preprocessed/yml files + mkdir -p "${folder%/}_preprocessed" + + #while loop through all c files in the current folder + find . -iname "*.c" | while read f + do + # get the plain file name + file="$(basename $f)" + + # get the preprocessed file with OMITGOOD=1 and saved into the new folder + gcc -D OMITGOOD=1 $OPTIONS "$f" > "${folder%/}_preprocessed"/"${file%.c}_bad.i" + + + #content_bad for the .yml file + content_bad="format_version: '2.0'\n + \ninput_files: "${f%.c}_bad.i"\n + \nproperties:\n + -property_file: "$property_file"\n + expected_verdict: false\n + \noptions:\n + language: C\n + data_model: LP64" + + + #created .yml file matching the new preprocessed _bad file + touch "${folder%/}_preprocessed"/"${file%.c}_bad.yml" + + #writing content_bad into the .yml file + echo -e $content_bad >> "${folder%/}_preprocessed"/"${file%.c}_bad.yml" + + + + # get the preprocessed file with OMITBAD=1 and saved into the new folder + gcc -D OMITBAD=1 $OPTIONS "$f" > "${folder%/}_preprocessed"/"${file%.c}_good.i" + + #content_good for the yml file + content_good="format_version: '2.0'\n + \ninput_files: "${f%.c}_good.i"\n + \nproperties:\n + -property_file: "$property_file"\n + expected_verdict: true\n + \noptions:\n + language: C\n + data_model: LP64" + + # created .yml file matching the new preprocessed _good file + touch "${folder%/}_preprocessed"/"${file%.c}_good.yml" + + # writing content_good into the .yml file + echo -e $content_good >> "${folder%/}_preprocessed"/"${file%.c}_good.yml" + + done + cd - +done + + + From 7459dc541f4d843ac7a3c82448b879f045cc1717 Mon Sep 17 00:00:00 2001 From: Karlheinz Friedberger Date: Mon, 16 Aug 2021 21:09:49 +0200 Subject: [PATCH 02/12] some improvements for the script. - work without changing the directory, use directory names in commands. - preprocessed files do no longer contain line numbers (parameter "-P"). - yml-files are properly formatted (the newline-formatted style might have been valid yaml, but looked strangely intended). - some cleanup. --- .../C/testcases/preprocessing_script.sh | 102 +++++++----------- 1 file changed, 40 insertions(+), 62 deletions(-) diff --git a/c/Juliet_Test/Juliet_Test_Suite_v1.3_for_C_Cpp/C/testcases/preprocessing_script.sh b/c/Juliet_Test/Juliet_Test_Suite_v1.3_for_C_Cpp/C/testcases/preprocessing_script.sh index cf76e9aab1c..1c1e592d3ac 100755 --- a/c/Juliet_Test/Juliet_Test_Suite_v1.3_for_C_Cpp/C/testcases/preprocessing_script.sh +++ b/c/Juliet_Test/Juliet_Test_Suite_v1.3_for_C_Cpp/C/testcases/preprocessing_script.sh @@ -12,7 +12,7 @@ # options for preprocessing -OPTIONS="-E -D INCLUDEMAIN=1 -m64 -I "../../testcasesupport"" +OPTIONS="-E -P -D INCLUDEMAIN=1 -m64 -I "../testcasesupport"" # property_file property_file=" " @@ -20,17 +20,12 @@ property_file=" " #for loop runs over all folders in testcases for folder in */ do - # current folder - echo "$folder" - - cd "$folder" - # get the matching property_file for the CWE-Id cwe_folder="$(basename $folder)" # get the plain directory name cwe="${cwe_folder%${cwe_folder#??????}}" # extract the first 6 chars from the string case "$cwe" in - + "CWE191") property_file="../../properties/no-overflow.prp" ;; @@ -48,67 +43,50 @@ do # if propertyfile is empty then skip the directory otherwise analyse/preprocess the directory if [ -z "$property_file" ] then - echo "skipping directory because of missing propertyfile" - cd - + echo "SKIPPING directory ${folder} because of missing propertyfile" continue - else - echo "analysing directory" fi - - #creates a new folder for the preprocessed/yml files - mkdir -p "${folder%/}_preprocessed" - + + echo "PROCESSING directory ${folder} with property file ${property_file}" + + output_folder="${folder}/preprocessed" + mkdir -p "${output_folder}" + #while loop through all c files in the current folder - find . -iname "*.c" | while read f + find "${folder}" -iname "*.c" | while read f do + echo -ne "." # one dot per file to see progress + # get the plain file name file="$(basename $f)" - - # get the preprocessed file with OMITGOOD=1 and saved into the new folder - gcc -D OMITGOOD=1 $OPTIONS "$f" > "${folder%/}_preprocessed"/"${file%.c}_bad.i" - - - #content_bad for the .yml file - content_bad="format_version: '2.0'\n - \ninput_files: "${f%.c}_bad.i"\n - \nproperties:\n - -property_file: "$property_file"\n - expected_verdict: false\n - \noptions:\n - language: C\n - data_model: LP64" - - - #created .yml file matching the new preprocessed _bad file - touch "${folder%/}_preprocessed"/"${file%.c}_bad.yml" - - #writing content_bad into the .yml file - echo -e $content_bad >> "${folder%/}_preprocessed"/"${file%.c}_bad.yml" - - - - # get the preprocessed file with OMITBAD=1 and saved into the new folder - gcc -D OMITBAD=1 $OPTIONS "$f" > "${folder%/}_preprocessed"/"${file%.c}_good.i" - - #content_good for the yml file - content_good="format_version: '2.0'\n - \ninput_files: "${f%.c}_good.i"\n - \nproperties:\n - -property_file: "$property_file"\n - expected_verdict: true\n - \noptions:\n - language: C\n - data_model: LP64" - - # created .yml file matching the new preprocessed _good file - touch "${folder%/}_preprocessed"/"${file%.c}_good.yml" - - # writing content_good into the .yml file - echo -e $content_good >> "${folder%/}_preprocessed"/"${file%.c}_good.yml" + badfile="${file%.c}_bad" + goodfile="${file%.c}_good" + + # get the preprocessed file with OMITGOOD=1/OMITBAD=1 + gcc -D OMITGOOD=1 $OPTIONS "$f" -o "${output_folder}/${badfile}.i" + gcc -D OMITBAD=1 $OPTIONS "$f" -o "${output_folder}/${goodfile}.i" + + #write the .yml files + echo "format_version: '2.0' +input_files: '${badfile}.i' +properties: + - property_file: '$property_file' + expected_verdict: false +options: + language: C + data_model: LP64 +" > "${output_folder}/${badfile}.yml" + + echo "format_version: '2.0' +input_files: '${goodfile}.i' +properties: + - property_file: '$property_file' + expected_verdict: true +options: + language: C + data_model: LP64 +" > "${output_folder}/${goodfile}.yml" done - cd - + echo "" # newline after the dots above done - - - From 93d3ec55fb057293c023b3aa0e8e0b15b65a095e Mon Sep 17 00:00:00 2001 From: Karlheinz Friedberger Date: Mon, 16 Aug 2021 21:17:06 +0200 Subject: [PATCH 03/12] formatting output to be more readable. --- .../C/testcases/preprocessing_script.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/c/Juliet_Test/Juliet_Test_Suite_v1.3_for_C_Cpp/C/testcases/preprocessing_script.sh b/c/Juliet_Test/Juliet_Test_Suite_v1.3_for_C_Cpp/C/testcases/preprocessing_script.sh index 1c1e592d3ac..48f411877b5 100755 --- a/c/Juliet_Test/Juliet_Test_Suite_v1.3_for_C_Cpp/C/testcases/preprocessing_script.sh +++ b/c/Juliet_Test/Juliet_Test_Suite_v1.3_for_C_Cpp/C/testcases/preprocessing_script.sh @@ -43,11 +43,11 @@ do # if propertyfile is empty then skip the directory otherwise analyse/preprocess the directory if [ -z "$property_file" ] then - echo "SKIPPING directory ${folder} because of missing propertyfile" + echo "SKIPPING directory '${folder}' because of missing propertyfile" continue fi - echo "PROCESSING directory ${folder} with property file ${property_file}" + echo "PROCESSING directory '${folder}' with property file '${property_file}'" output_folder="${folder}/preprocessed" mkdir -p "${output_folder}" From f7d83f7d365bd025da88e8dac14dce8e5f040f01 Mon Sep 17 00:00:00 2001 From: Karlheinz Friedberger Date: Thu, 19 Aug 2021 21:24:41 +0200 Subject: [PATCH 04/12] move script into paretn directory to the other scripts. --- .../preprocessing_script.sh => preprocess_testcases.sh} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename c/Juliet_Test/Juliet_Test_Suite_v1.3_for_C_Cpp/C/{testcases/preprocessing_script.sh => preprocess_testcases.sh} (100%) diff --git a/c/Juliet_Test/Juliet_Test_Suite_v1.3_for_C_Cpp/C/testcases/preprocessing_script.sh b/c/Juliet_Test/Juliet_Test_Suite_v1.3_for_C_Cpp/C/preprocess_testcases.sh similarity index 100% rename from c/Juliet_Test/Juliet_Test_Suite_v1.3_for_C_Cpp/C/testcases/preprocessing_script.sh rename to c/Juliet_Test/Juliet_Test_Suite_v1.3_for_C_Cpp/C/preprocess_testcases.sh From 5e855fd3e4c73530f089362d9c3eea0a0404bf69 Mon Sep 17 00:00:00 2001 From: Karlheinz Friedberger Date: Thu, 19 Aug 2021 21:37:46 +0200 Subject: [PATCH 05/12] apply several requested changes. --- .../C/preprocess_testcases.sh | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/c/Juliet_Test/Juliet_Test_Suite_v1.3_for_C_Cpp/C/preprocess_testcases.sh b/c/Juliet_Test/Juliet_Test_Suite_v1.3_for_C_Cpp/C/preprocess_testcases.sh index 48f411877b5..4462dcfe202 100755 --- a/c/Juliet_Test/Juliet_Test_Suite_v1.3_for_C_Cpp/C/preprocess_testcases.sh +++ b/c/Juliet_Test/Juliet_Test_Suite_v1.3_for_C_Cpp/C/preprocess_testcases.sh @@ -1,15 +1,23 @@ -#!/bin/bash +#!/usr/bin/env bash # This file is part of the SV-Benchmarks collection of verification tasks: # https://github.com/sosy-lab/sv-benchmarks # SPDX-FileCopyrightText: 2020 The SV-Benchmarks Community # SPDX-License-Identifier: CC0-1.0 -# This script can only be called from sv-benchmarks/c/Juliet_Test/Juliet_Test_Suite_v1.3_for_C_Cpp/C/testcases -# Running this script the .c files in each CWE directory are preprocessed and a _bad.i , _good.i and .yml file are created for each .c file. -# The preprocessed/yml files are saved in the preprocessed folder in each CWE directory in testcases. +# Running this script the .c files in each CWE directory are preprocessed +# and a _bad.i , _good.i and .yml file are created for each .c file. +# The preprocessed/yml files are saved in the preprocessed folder +# in each CWE directory in testcases. # Files with a windows.h header can only be preprocessed on a windows system. +set -euo pipefail + +# change into the directory of this script +cd "$( dirname "${BASH_SOURCE[0]}")" + +# use environment variable CC if available or fallback to plain gcc +CC="${CC:-gcc}" # options for preprocessing OPTIONS="-E -P -D INCLUDEMAIN=1 -m64 -I "../testcasesupport"" @@ -18,7 +26,7 @@ OPTIONS="-E -P -D INCLUDEMAIN=1 -m64 -I "../testcasesupport"" property_file=" " #for loop runs over all folders in testcases -for folder in */ +for folder in testcases/*/ do # get the matching property_file for the CWE-Id cwe_folder="$(basename $folder)" # get the plain directory name @@ -63,8 +71,8 @@ do goodfile="${file%.c}_good" # get the preprocessed file with OMITGOOD=1/OMITBAD=1 - gcc -D OMITGOOD=1 $OPTIONS "$f" -o "${output_folder}/${badfile}.i" - gcc -D OMITBAD=1 $OPTIONS "$f" -o "${output_folder}/${goodfile}.i" + $CC -D OMITGOOD=1 $OPTIONS "$f" -o "${output_folder}/${badfile}.i" + $CC -D OMITBAD=1 $OPTIONS "$f" -o "${output_folder}/${goodfile}.i" #write the .yml files echo "format_version: '2.0' From 537c756fa5e95672dd78d1d6789660963c371110 Mon Sep 17 00:00:00 2001 From: Karlheinz Friedberger Date: Thu, 19 Aug 2021 21:56:56 +0200 Subject: [PATCH 06/12] fix filename and (relative) directories. --- .../C/preprocess_testcases.sh | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/c/Juliet_Test/Juliet_Test_Suite_v1.3_for_C_Cpp/C/preprocess_testcases.sh b/c/Juliet_Test/Juliet_Test_Suite_v1.3_for_C_Cpp/C/preprocess_testcases.sh index 4462dcfe202..25c2a5e8065 100755 --- a/c/Juliet_Test/Juliet_Test_Suite_v1.3_for_C_Cpp/C/preprocess_testcases.sh +++ b/c/Juliet_Test/Juliet_Test_Suite_v1.3_for_C_Cpp/C/preprocess_testcases.sh @@ -20,10 +20,12 @@ cd "$( dirname "${BASH_SOURCE[0]}")" CC="${CC:-gcc}" # options for preprocessing -OPTIONS="-E -P -D INCLUDEMAIN=1 -m64 -I "../testcasesupport"" +OPTIONS="-E -P -D INCLUDEMAIN=1 -m64 -I testcasesupport" # property_file -property_file=" " +property_dir="../../../properties/" +property_dir_relative_to_output_folder="../../../"${property_dir} +property_file="" #for loop runs over all folders in testcases for folder in testcases/*/ @@ -35,17 +37,16 @@ do case "$cwe" in "CWE191") - property_file="../../properties/no-overflow.prp" + property_file="no-overflow.prp" ;; "CWE119" | "CWE125" | "CWE415" | "CWE401" | "CWE416" | "CWE762" | "CWE787" | "CWE843") - property_file="../../properties/valid-memorysafety.prp" + property_file="valid-memsafety.prp" ;; *) property_file="" ;; - esac # if propertyfile is empty then skip the directory otherwise analyse/preprocess the directory @@ -53,6 +54,8 @@ do then echo "SKIPPING directory '${folder}' because of missing propertyfile" continue + elif [ ! -f "${property_dir}${property_file}" ]; then + echo "WARNING directory '${property_dir}${property_file}' is referenced, but does not exist" fi echo "PROCESSING directory '${folder}' with property file '${property_file}'" @@ -78,7 +81,7 @@ do echo "format_version: '2.0' input_files: '${badfile}.i' properties: - - property_file: '$property_file' + - property_file: '${property_dir_relative_to_output_folder}${property_file}' expected_verdict: false options: language: C @@ -88,7 +91,7 @@ options: echo "format_version: '2.0' input_files: '${goodfile}.i' properties: - - property_file: '$property_file' + - property_file: '${property_dir_relative_to_output_folder}${property_file}' expected_verdict: true options: language: C @@ -98,3 +101,4 @@ options: done echo "" # newline after the dots above done + From 845ed3484244f25253418439822613351daefcd1 Mon Sep 17 00:00:00 2001 From: Karlheinz Friedberger Date: Thu, 19 Aug 2021 22:11:42 +0200 Subject: [PATCH 07/12] write a set-file per directory. --- .../C/preprocess_testcases.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/c/Juliet_Test/Juliet_Test_Suite_v1.3_for_C_Cpp/C/preprocess_testcases.sh b/c/Juliet_Test/Juliet_Test_Suite_v1.3_for_C_Cpp/C/preprocess_testcases.sh index 25c2a5e8065..630715cb216 100755 --- a/c/Juliet_Test/Juliet_Test_Suite_v1.3_for_C_Cpp/C/preprocess_testcases.sh +++ b/c/Juliet_Test/Juliet_Test_Suite_v1.3_for_C_Cpp/C/preprocess_testcases.sh @@ -100,5 +100,10 @@ options: done echo "" # newline after the dots above + + # write out a set file for further processing with BenchExec + set_folder="set-files" + mkdir -p ${set_folder} + echo "${output_folder}/*.yml" > ${set_folder}/${cwe_folder}.set done From f97f7951b55a8fc71abe449565eb1bda99feebed Mon Sep 17 00:00:00 2001 From: Karlheinz Friedberger Date: Thu, 19 Aug 2021 22:15:17 +0200 Subject: [PATCH 08/12] fix redundant slash in filename. --- .../Juliet_Test_Suite_v1.3_for_C_Cpp/C/preprocess_testcases.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/c/Juliet_Test/Juliet_Test_Suite_v1.3_for_C_Cpp/C/preprocess_testcases.sh b/c/Juliet_Test/Juliet_Test_Suite_v1.3_for_C_Cpp/C/preprocess_testcases.sh index 630715cb216..d6fb18e7cff 100755 --- a/c/Juliet_Test/Juliet_Test_Suite_v1.3_for_C_Cpp/C/preprocess_testcases.sh +++ b/c/Juliet_Test/Juliet_Test_Suite_v1.3_for_C_Cpp/C/preprocess_testcases.sh @@ -60,7 +60,7 @@ do echo "PROCESSING directory '${folder}' with property file '${property_file}'" - output_folder="${folder}/preprocessed" + output_folder="${folder}preprocessed" mkdir -p "${output_folder}" #while loop through all c files in the current folder From 38da6fc3229801e02ad9beff472421f4ed363f34 Mon Sep 17 00:00:00 2001 From: Karlheinz Friedberger Date: Thu, 19 Aug 2021 22:16:33 +0200 Subject: [PATCH 09/12] and another fix for relative directories. --- .../Juliet_Test_Suite_v1.3_for_C_Cpp/C/preprocess_testcases.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/c/Juliet_Test/Juliet_Test_Suite_v1.3_for_C_Cpp/C/preprocess_testcases.sh b/c/Juliet_Test/Juliet_Test_Suite_v1.3_for_C_Cpp/C/preprocess_testcases.sh index d6fb18e7cff..a21f55bc13f 100755 --- a/c/Juliet_Test/Juliet_Test_Suite_v1.3_for_C_Cpp/C/preprocess_testcases.sh +++ b/c/Juliet_Test/Juliet_Test_Suite_v1.3_for_C_Cpp/C/preprocess_testcases.sh @@ -104,6 +104,6 @@ options: # write out a set file for further processing with BenchExec set_folder="set-files" mkdir -p ${set_folder} - echo "${output_folder}/*.yml" > ${set_folder}/${cwe_folder}.set + echo "../${output_folder}/*.yml" > ${set_folder}/${cwe_folder}.set done From 74d733023c5a1d7fe051ffba4a6b97db5467a955 Mon Sep 17 00:00:00 2001 From: Karlheinz Friedberger Date: Thu, 19 Aug 2021 22:26:35 +0200 Subject: [PATCH 10/12] also preprocess files for the overflow property. --- .../Juliet_Test_Suite_v1.3_for_C_Cpp/C/preprocess_testcases.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/c/Juliet_Test/Juliet_Test_Suite_v1.3_for_C_Cpp/C/preprocess_testcases.sh b/c/Juliet_Test/Juliet_Test_Suite_v1.3_for_C_Cpp/C/preprocess_testcases.sh index a21f55bc13f..fa2d23dcf45 100755 --- a/c/Juliet_Test/Juliet_Test_Suite_v1.3_for_C_Cpp/C/preprocess_testcases.sh +++ b/c/Juliet_Test/Juliet_Test_Suite_v1.3_for_C_Cpp/C/preprocess_testcases.sh @@ -36,7 +36,7 @@ do case "$cwe" in - "CWE191") + "CWE190" | "CWE191") property_file="no-overflow.prp" ;; From 797951c148dff526a8a2616efd6b152bf547527a Mon Sep 17 00:00:00 2001 From: Karlheinz Friedberger Date: Thu, 19 Aug 2021 22:42:44 +0200 Subject: [PATCH 11/12] remove CWE-Id from preprocessing where no tasks are matching. The tasks are C++ header files which are not yet relevant for us. --- .../Juliet_Test_Suite_v1.3_for_C_Cpp/C/preprocess_testcases.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/c/Juliet_Test/Juliet_Test_Suite_v1.3_for_C_Cpp/C/preprocess_testcases.sh b/c/Juliet_Test/Juliet_Test_Suite_v1.3_for_C_Cpp/C/preprocess_testcases.sh index fa2d23dcf45..b2ec1104d5a 100755 --- a/c/Juliet_Test/Juliet_Test_Suite_v1.3_for_C_Cpp/C/preprocess_testcases.sh +++ b/c/Juliet_Test/Juliet_Test_Suite_v1.3_for_C_Cpp/C/preprocess_testcases.sh @@ -40,7 +40,7 @@ do property_file="no-overflow.prp" ;; - "CWE119" | "CWE125" | "CWE415" | "CWE401" | "CWE416" | "CWE762" | "CWE787" | "CWE843") + "CWE119" | "CWE125" | "CWE415" | "CWE401" | "CWE416" | "CWE787" | "CWE843") property_file="valid-memsafety.prp" ;; From da58f2f8a16372ee978b950c35d6717706b11b2c Mon Sep 17 00:00:00 2001 From: goldmannc Date: Thu, 16 Sep 2021 17:04:58 +0200 Subject: [PATCH 12/12] Update preprocess_testcases.sh added some more CWE-Ids to the preprocessing script --- .../C/preprocess_testcases.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/c/Juliet_Test/Juliet_Test_Suite_v1.3_for_C_Cpp/C/preprocess_testcases.sh b/c/Juliet_Test/Juliet_Test_Suite_v1.3_for_C_Cpp/C/preprocess_testcases.sh index b2ec1104d5a..9362c61a29a 100755 --- a/c/Juliet_Test/Juliet_Test_Suite_v1.3_for_C_Cpp/C/preprocess_testcases.sh +++ b/c/Juliet_Test/Juliet_Test_Suite_v1.3_for_C_Cpp/C/preprocess_testcases.sh @@ -40,10 +40,14 @@ do property_file="no-overflow.prp" ;; - "CWE119" | "CWE125" | "CWE415" | "CWE401" | "CWE416" | "CWE787" | "CWE843") + "CWE119" | "CWE121" | "CWE122" | "CWE124" | "CWE125" | "CWE126" | "CWE127" | "CWE401" | "CWE415" | "CWE416" | "CWE476" | "CWE590" | "CWE761"| "CWE787" | "CWE789"| "CWE843" ) property_file="valid-memsafety.prp" ;; + "CWE835") + property_file="termination.prp" + ;; + *) property_file="" ;; @@ -106,4 +110,3 @@ options: mkdir -p ${set_folder} echo "../${output_folder}/*.yml" > ${set_folder}/${cwe_folder}.set done -