diff --git a/src/plugins/markdown-report/tests/md/cwe126.c b/src/plugins/markdown-report/tests/md/cwe126.c index 41e14b8fb93278cb1e4eb890090332bcbeabac20..7f0a46663dc7ce92200ca9275d405b9ec3a00fa1 100644 --- a/src/plugins/markdown-report/tests/md/cwe126.c +++ b/src/plugins/markdown-report/tests/md/cwe126.c @@ -1,11 +1,5 @@ /* run.config -<<<<<<< HEAD:src/plugins/markdown-report/tests/eva/cwe126.c STDOPT: +"-mdr-remarks %{dep:@PTEST_NAME@.remarks.md}" -||||||| ac7807782d:src/plugins/markdown-report/tests/eva/cwe126.c - OPT: -mdr-remarks tests/eva/cwe126.remarks.md -======= - OPT: -mdr-remarks @PTEST_DIR@/cwe126.remarks.md ->>>>>>> origin/master:src/plugins/markdown-report/tests/md/cwe126.c */ /* extracted from Juliet test suite v1.3 for C diff --git a/src/plugins/markdown-report/tests/md/oracle/cwe126.0.md b/src/plugins/markdown-report/tests/md/oracle/cwe126.0.md index 4fddd3e2ba0c3414e25c1cedddfbcd8fd54241d1..e12065d755de3ebb5105e8d83d46767988b74880 100644 --- a/src/plugins/markdown-report/tests/md/oracle/cwe126.0.md +++ b/src/plugins/markdown-report/tests/md/oracle/cwe126.0.md @@ -20,31 +20,17 @@ the `bad` ones have indeed an error. The C source files (not including the headers `.h` files) that have been considered during the analysis are the following: -* `tests/md/*.c` +* `./*.c` ## Configuration {#options} -### Eva Domains {#domains} - -Only the base domain (`cvalue`) has been used for the analysis - - ### Stubbed Functions {#stubs} No stubs have been used for this analysis -# Coverage {#coverage} - -There are 6 function definitions that are not stubbed. They represent 50 statements, of which 50 are potentially reachable through Eva, resulting in a **statement coverage of 100.0%** with respect to the entire application. - - -There were potentially 6 functions syntactically reachable from main. -These functions contain 50 statements, of which 50 are potentially reachable according to Eva, resulting in a **statement coverage of 100.0%** with respect to the perimeter set by this entry point. - - # Warnings {#warnings} The table below lists the warning that have been emitted by the analyzer. @@ -60,10 +46,10 @@ Table: Warning reported by Frama-C | Location | Description | |:---------|:------------| -| tests/md/cwe126.c:28 | `out of bounds read. assert \valid_read(data + i);` (emitted by `eva`) | +| cwe126.c:28 | `out of bounds read. assert \valid_read(data + i);` (emitted by `eva`) | -## Warning 0 (tests/md/cwe126.c:28) {#warn-0} +## Warning 0 (cwe126.c:28) {#warn-0} Message: @@ -87,10 +73,10 @@ Table: Alarm emitted by the analysis | No | Kind | Emitter | Function | Location | |:---:|:----:|:-------:|:---------|:---------| -| [0](#alarm-0) | `mem_access` | `Eva` | `CWE126_Buffer_Overread__malloc_char_loop_64b_badSink` | tests/md/cwe126.c:28 | +| [0](#alarm-0) | `mem_access` | `Eva` | `CWE126_Buffer_Overread__malloc_char_loop_64b_badSink` | cwe126.c:28 | -## Alarm 0 at tests/md/cwe126.c:28 {#Alarm-0} +## Alarm 0 at cwe126.c:28 {#Alarm-0} The following ACSL assertion must hold to avoid invalid pointer dereferencing (undefined behavior). diff --git a/src/plugins/markdown-report/tests/md/oracle/cwe126.res.oracle b/src/plugins/markdown-report/tests/md/oracle/cwe126.res.oracle index f802f141c785d0dd0999a4849fc23f5b0bf6586f..ada3b892d20307dab2a0b2bddbb9d9a0752f40fc 100644 --- a/src/plugins/markdown-report/tests/md/oracle/cwe126.res.oracle +++ b/src/plugins/markdown-report/tests/md/oracle/cwe126.res.oracle @@ -1,46 +1,18 @@ -<<<<<<< HEAD:src/plugins/markdown-report/tests/eva/oracle/cwe126.res.oracle [kernel] Parsing cwe126.c (with preprocessing) -||||||| ac7807782d:src/plugins/markdown-report/tests/eva/oracle/cwe126.res.oracle -[kernel] Parsing tests/eva/cwe126.c (with preprocessing) -======= -[kernel] Parsing tests/md/cwe126.c (with preprocessing) ->>>>>>> origin/master:src/plugins/markdown-report/tests/md/oracle/cwe126.res.oracle [eva] Analyzing a complete application starting at main [eva] Computing initial state [eva] Initial state computed [eva:initial-state] Values of globals at initialization -<<<<<<< HEAD:src/plugins/markdown-report/tests/eva/oracle/cwe126.res.oracle [eva] cwe126.c:76: allocating variable __malloc_goodG2B_l76 -||||||| ac7807782d:src/plugins/markdown-report/tests/eva/oracle/cwe126.res.oracle -[eva] tests/eva/cwe126.c:76: allocating variable __malloc_goodG2B_l76 -======= -[eva] tests/md/cwe126.c:76: allocating variable __malloc_goodG2B_l76 ->>>>>>> origin/master:src/plugins/markdown-report/tests/md/oracle/cwe126.res.oracle [eva] using specification for function exit [eva] FRAMAC_SHARE/libc/string.h:118: cannot evaluate ACSL term, unsupported ACSL construct: logic function memset -<<<<<<< HEAD:src/plugins/markdown-report/tests/eva/oracle/cwe126.res.oracle [eva] cwe126.c:62: starting to merge loop iterations [eva] cwe126.c:40: -||||||| ac7807782d:src/plugins/markdown-report/tests/eva/oracle/cwe126.res.oracle -[eva] tests/eva/cwe126.c:62: starting to merge loop iterations -[eva] tests/eva/cwe126.c:40: -======= -[eva] tests/md/cwe126.c:62: starting to merge loop iterations -[eva] tests/md/cwe126.c:40: ->>>>>>> origin/master:src/plugins/markdown-report/tests/md/oracle/cwe126.res.oracle allocating variable __malloc_CWE126_Buffer_Overread__malloc_char_loop_64_bad_l40 -<<<<<<< HEAD:src/plugins/markdown-report/tests/eva/oracle/cwe126.res.oracle [eva] cwe126.c:26: starting to merge loop iterations [eva:alarm] cwe126.c:28: Warning: -||||||| ac7807782d:src/plugins/markdown-report/tests/eva/oracle/cwe126.res.oracle -[eva] tests/eva/cwe126.c:26: starting to merge loop iterations -[eva:alarm] tests/eva/cwe126.c:28: Warning: -======= -[eva] tests/md/cwe126.c:26: starting to merge loop iterations -[eva:alarm] tests/md/cwe126.c:28: Warning: ->>>>>>> origin/master:src/plugins/markdown-report/tests/md/oracle/cwe126.res.oracle out of bounds read. assert \valid_read(data + i); [eva] done for function main [eva] ====== VALUES COMPUTED ====== @@ -82,10 +54,4 @@ Preconditions 8 valid 0 unknown 0 invalid 8 total 100% of the logical properties reached have been proven. ---------------------------------------------------------------------------- -<<<<<<< HEAD:src/plugins/markdown-report/tests/eva/oracle/cwe126.res.oracle [mdr] Report cwe126.0.md generated -||||||| ac7807782d:src/plugins/markdown-report/tests/eva/oracle/cwe126.res.oracle -[mdr] Report tests/eva/result/cwe126.0.md generated -======= -[mdr] Report tests/md/result/cwe126.0.md generated ->>>>>>> origin/master:src/plugins/markdown-report/tests/md/oracle/cwe126.res.oracle diff --git a/src/plugins/markdown-report/tests/md/test_config b/src/plugins/markdown-report/tests/md/test_config index c7be0c1d592c2a8a8672ecbb3b4f0d06060fe2fe..0f0e659ccc57d3cfc1fabc26112ab9e2854af6ac 100644 --- a/src/plugins/markdown-report/tests/md/test_config +++ b/src/plugins/markdown-report/tests/md/test_config @@ -1,3 +1,3 @@ PLUGIN: markdown-report eva inout -OPT: -eva -then -mdr-gen md -mdr-date="now" -mdr-out @PTEST_NAME@.@PTEST_NUMBER@.md LOG: @PTEST_NAME@.@PTEST_NUMBER@.md +OPT: -eva -then -mdr-gen md -mdr-date="now" -mdr-out @PTEST_NAME@.@PTEST_NUMBER@.md diff --git a/src/plugins/markdown-report/tests/ptests_config b/src/plugins/markdown-report/tests/ptests_config index b7fbf751c51ef83da6a7c8cf1ccc89ad76475ee4..0cc5fff411d1d611e74084db92cafafa7654ed7f 100644 --- a/src/plugins/markdown-report/tests/ptests_config +++ b/src/plugins/markdown-report/tests/ptests_config @@ -1,2 +1 @@ -IGNORE:= DEFAULT_SUITES= md -IGNORE:= DEFAULT_SUITES= sarif +DEFAULT_SUITES= md sarif diff --git a/src/plugins/markdown-report/tests/sarif/cwe125.c b/src/plugins/markdown-report/tests/sarif/cwe125.c index 4e3013719a1b91a9d99f904c7fc30fc044683df5..c47f343b3bd9286db486b7eea9458bd903eb41d3 100644 --- a/src/plugins/markdown-report/tests/sarif/cwe125.c +++ b/src/plugins/markdown-report/tests/sarif/cwe125.c @@ -1,8 +1,8 @@ -/* run.config -NOFRAMAC: use execnow for proper sequencing of executions -EXECNOW: LOG @PTEST_NAME@.parse.log @frama-c@ @PTEST_FILE@ -save @PTEST_DIR@/result/@PTEST_NAME@_parse.sav > @PTEST_DIR@/result/@PTEST_NAME@.parse.log -EXECNOW: LOG @PTEST_NAME@.eva.log @frama-c@ -load @PTEST_DIR@/result/@PTEST_NAME@_parse.sav -eva -save @PTEST_DIR@/result/@PTEST_NAME@_eva.sav > @PTEST_DIR@/result/@PTEST_NAME@.eva.log -EXECNOW: LOG @PTEST_NAME@.sarif @frama-c@ -load @PTEST_DIR@/result/@PTEST_NAME@_eva.sav -then -mdr-out @PTEST_DIR@/result/@PTEST_NAME@.sarif -mdr-gen sarif -mdr-no-print-libc -mdr-sarif-deterministic +/* run.config NOFRAMAC: use execnow for proper sequencing of executions +PLUGIN: markdown-report eva inout +EXECNOW: LOG @PTEST_NAME@.parse.log LOG @PTEST_NAME@.parse.err LOG @PTEST_NAME@_parse.sav @frama-c@ -save @PTEST_NAME@_parse.sav > @PTEST_NAME@.parse.log 2> @PTEST_NAME@.parse.err +EXECNOW: LOG @PTEST_NAME@.eva.log LOG @PTEST_NAME@.eva.err LOG @PTEST_NAME@_eva.sav @frama-c-cmd@ -load %{dep:@PTEST_NAME@_parse.sav} -eva -save @PTEST_NAME@_eva.sav > @PTEST_NAME@.eva.log 2> @PTEST_NAME@.eva.err +EXECNOW: LOG @PTEST_NAME@.sarif.log LOG @PTEST_NAME@.sarif.err LOG @PTEST_NAME@.sarif @frama-c-cmd@ -load %{dep:@PTEST_NAME@_eva.sav} -then -mdr-out @PTEST_NAME@.sarif -mdr-gen sarif -mdr-no-print-libc -mdr-sarif-deterministic > @PTEST_NAME@.sarif.log 2> @PTEST_NAME@.sarif.err */ #include "__fc_builtin.h" diff --git a/src/plugins/markdown-report/tests/sarif/libc.c b/src/plugins/markdown-report/tests/sarif/libc.c index 2f7438beff35d307549bdbe6d896110fa98956c0..c3b96454fa0a73a124c941cb3ca075b2b52d4549 100644 --- a/src/plugins/markdown-report/tests/sarif/libc.c +++ b/src/plugins/markdown-report/tests/sarif/libc.c @@ -1,11 +1,11 @@ /* run.config - CMD: @frama-c@ @PTEST_FILE@ -no-autoload-plugins -load-module eva,from,scope,markdown_report -eva -eva-no-results -mdr-gen sarif -mdr-sarif-deterministic + PLUGIN: eva,from,scope,markdown-report + MACRO: TEST_OPTION -eva -eva-no-results -mdr-gen sarif -mdr-sarif-deterministic LOG: with-libc.sarif - OPT: -mdr-out @PTEST_DIR@/result/with-libc.sarif + OPT: @TEST_OPTION@ -mdr-out with-libc.sarif LOG: without-libc.sarif - OPT: -mdr-no-print-libc -mdr-out @PTEST_DIR@/result/without-libc.sarif + OPT: @TEST_OPTION@ -mdr-no-print-libc -mdr-out without-libc.sarif */ - #include <string.h> int main() { diff --git a/src/plugins/markdown-report/tests/sarif/oracle/cwe125.res.oracle b/src/plugins/markdown-report/tests/sarif/oracle/cwe125.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..0ef7666c977e681acf98de94599f7a3ce0afcc70 --- /dev/null +++ b/src/plugins/markdown-report/tests/sarif/oracle/cwe125.res.oracle @@ -0,0 +1,3 @@ +[kernel] Parsing cwe125.c (with preprocessing) +[kernel:typing:implicit-function-declaration] cwe125.c:27: Warning: + Calling undeclared function printf. Old style K&R code? diff --git a/src/plugins/markdown-report/tests/sarif/oracle/libc.0.res.oracle b/src/plugins/markdown-report/tests/sarif/oracle/libc.0.res.oracle index a64989bb4ddcb6bf0a07a2bbcc77527cdf565620..34bcdb93fb43f0ff5c25fc32050eaa471f301668 100644 --- a/src/plugins/markdown-report/tests/sarif/oracle/libc.0.res.oracle +++ b/src/plugins/markdown-report/tests/sarif/oracle/libc.0.res.oracle @@ -1,4 +1,4 @@ -[kernel] Parsing tests/sarif/libc.c (with preprocessing) +[kernel] Parsing libc.c (with preprocessing) [eva] Analyzing a complete application starting at main [eva] Computing initial state [eva] Initial state computed @@ -20,4 +20,4 @@ Preconditions 1 valid 0 unknown 0 invalid 1 total 100% of the logical properties reached have been proven. ---------------------------------------------------------------------------- -[mdr] Report tests/sarif/result/with-libc.sarif generated +[mdr] Report with-libc.sarif generated diff --git a/src/plugins/markdown-report/tests/sarif/oracle/libc.1.res.oracle b/src/plugins/markdown-report/tests/sarif/oracle/libc.1.res.oracle index 48818092e724c94c15dd9d5d93d3530d80873d50..8888de2a968f4b8ba4d22bf1fab25200f606800c 100644 --- a/src/plugins/markdown-report/tests/sarif/oracle/libc.1.res.oracle +++ b/src/plugins/markdown-report/tests/sarif/oracle/libc.1.res.oracle @@ -1,4 +1,4 @@ -[kernel] Parsing tests/sarif/libc.c (with preprocessing) +[kernel] Parsing libc.c (with preprocessing) [eva] Analyzing a complete application starting at main [eva] Computing initial state [eva] Initial state computed @@ -20,4 +20,4 @@ Preconditions 1 valid 0 unknown 0 invalid 1 total 100% of the logical properties reached have been proven. ---------------------------------------------------------------------------- -[mdr] Report tests/sarif/result/without-libc.sarif generated +[mdr] Report without-libc.sarif generated diff --git a/src/plugins/markdown-report/tests/sarif/oracle/with-libc.sarif b/src/plugins/markdown-report/tests/sarif/oracle/with-libc.sarif index fa8798f3f64f7402378d14b6c3f03f0c37f49400..2224da9ff88263a14512849c95722ba9f244c3d5 100644 --- a/src/plugins/markdown-report/tests/sarif/oracle/with-libc.sarif +++ b/src/plugins/markdown-report/tests/sarif/oracle/with-libc.sarif @@ -16,13 +16,12 @@ "invocations": [ { "commandLine": - "frama-c -check tests/sarif/libc.c -no-autoload-plugins -load-module eva,from,scope,markdown_report -eva -eva-no-results -mdr-gen sarif -mdr-sarif-deterministic -mdr-out tests/sarif/result/with-libc.sarif", + "frama-c -journal-disable -check -no-autoload-plugins -load-plugin=eva,from,scope,markdown-report libc.c -eva -eva-no-results -mdr-gen sarif -mdr-sarif-deterministic -mdr-out with-libc.sarif", "arguments": [ - "-check", "tests/sarif/libc.c", "-no-autoload-plugins", - "-load-module", "eva,from,scope,markdown_report", "-eva", + "-journal-disable", "-check", "-no-autoload-plugins", + "-load-plugin=eva,from,scope,markdown-report", "libc.c", "-eva", "-eva-no-results", "-mdr-gen", "sarif", - "-mdr-sarif-deterministic", "-mdr-out", - "tests/sarif/result/with-libc.sarif" + "-mdr-sarif-deterministic", "-mdr-out", "with-libc.sarif" ], "exitCode": 0, "executionSuccessful": true @@ -32,7 +31,6 @@ "FRAMAC_SHARE": { "uri": "file:///omitted-for-deterministic-output/" }, - "FRAMAC_LIB": { "uri": "file:///omitted-for-deterministic-output/" }, "FRAMAC_PLUGIN": { "uri": "file:///omitted-for-deterministic-output/" }, @@ -40,7 +38,7 @@ }, "artifacts": [ { - "location": { "uri": "tests/sarif/libc.c", "uriBaseId": "PWD" }, + "location": { "uri": "libc.c", "uriBaseId": "PWD" }, "roles": [ "analysisTarget" ], "mimeType": "text/x-csrc" } @@ -8683,10 +8681,7 @@ "locations": [ { "physicalLocation": { - "artifactLocation": { - "uri": "tests/sarif/libc.c", - "uriBaseId": "PWD" - }, + "artifactLocation": { "uri": "libc.c", "uriBaseId": "PWD" }, "region": { "startLine": 13, "startColumn": 10, diff --git a/src/plugins/markdown-report/tests/sarif/oracle/without-libc.sarif b/src/plugins/markdown-report/tests/sarif/oracle/without-libc.sarif index b22b1bf8f4209a3f890c272cdee6d5470526ac48..461ef8f360658d8ae944d62828fefcf94360f5cf 100644 --- a/src/plugins/markdown-report/tests/sarif/oracle/without-libc.sarif +++ b/src/plugins/markdown-report/tests/sarif/oracle/without-libc.sarif @@ -16,13 +16,13 @@ "invocations": [ { "commandLine": - "frama-c -check tests/sarif/libc.c -no-autoload-plugins -load-module eva,from,scope,markdown_report -eva -eva-no-results -mdr-gen sarif -mdr-sarif-deterministic -mdr-no-print-libc -mdr-out tests/sarif/result/without-libc.sarif", + "frama-c -journal-disable -check -no-autoload-plugins -load-plugin=eva,from,scope,markdown-report libc.c -eva -eva-no-results -mdr-gen sarif -mdr-sarif-deterministic -mdr-no-print-libc -mdr-out without-libc.sarif", "arguments": [ - "-check", "tests/sarif/libc.c", "-no-autoload-plugins", - "-load-module", "eva,from,scope,markdown_report", "-eva", + "-journal-disable", "-check", "-no-autoload-plugins", + "-load-plugin=eva,from,scope,markdown-report", "libc.c", "-eva", "-eva-no-results", "-mdr-gen", "sarif", "-mdr-sarif-deterministic", "-mdr-no-print-libc", "-mdr-out", - "tests/sarif/result/without-libc.sarif" + "without-libc.sarif" ], "exitCode": 0, "executionSuccessful": true @@ -32,7 +32,6 @@ "FRAMAC_SHARE": { "uri": "file:///omitted-for-deterministic-output/" }, - "FRAMAC_LIB": { "uri": "file:///omitted-for-deterministic-output/" }, "FRAMAC_PLUGIN": { "uri": "file:///omitted-for-deterministic-output/" }, @@ -40,7 +39,7 @@ }, "artifacts": [ { - "location": { "uri": "tests/sarif/libc.c", "uriBaseId": "PWD" }, + "location": { "uri": "libc.c", "uriBaseId": "PWD" }, "roles": [ "analysisTarget" ], "mimeType": "text/x-csrc" } @@ -56,10 +55,7 @@ "locations": [ { "physicalLocation": { - "artifactLocation": { - "uri": "tests/sarif/libc.c", - "uriBaseId": "PWD" - }, + "artifactLocation": { "uri": "libc.c", "uriBaseId": "PWD" }, "region": { "startLine": 13, "startColumn": 10,