diff --git a/scripts/update_suite.rb b/scripts/update_suite.rb index b21fb4b532..1fc60c5ca2 100755 --- a/scripts/update_suite.rb +++ b/scripts/update_suite.rb @@ -171,7 +171,7 @@ def collect_warnings @evals = $2 end if l =~ /\[Termination\]/ then warnings[-1] = "nonterm" end # Get Termination warning - next unless l =~ /(.*)\(.*?\:(\d+)(?:\:\d+)?(?:-(?:\d+)(?:\:\d+)?)?\)/ + next unless l =~ /(.*)\(.*?\:(\d+)(?:\.\d+)?(?:-(?:\d+)(?:\.\d+)?)?\)/ obj,i = $1,$2.to_i ranking = ["other", "warn", "goto", "fundec", "loop", "term", "nonterm", "race", "norace", "deadlock", "nodeadlock", "success", "fail", "unknown"] diff --git a/src/common/util/cilType.ml b/src/common/util/cilType.ml index 91368052b3..0f6893bf76 100644 --- a/src/common/util/cilType.ml +++ b/src/common/util/cilType.ml @@ -37,14 +37,14 @@ struct (* TODO: add special output for locUnknown *) x.file ^ ":" ^ string_of_int x.line ^ ( if x.column >= 0 then - ":" ^ string_of_int x.column + "." ^ string_of_int x.column else "" ) ^ ( if x.endByte >= 0 then "-" ^ string_of_int x.endLine ^ ( if x.endColumn >= 0 then - ":" ^ string_of_int x.endColumn + "." ^ string_of_int x.endColumn else "" ) diff --git a/tests/regression/00-sanity/01-assert.t b/tests/regression/00-sanity/01-assert.t index 6dcebd71df..3fe991e453 100644 --- a/tests/regression/00-sanity/01-assert.t +++ b/tests/regression/00-sanity/01-assert.t @@ -1,7 +1,7 @@ $ goblint --enable warn.deterministic 01-assert.c - [Error][Assert] Assertion "fail" will fail. (01-assert.c:12:3-12:25) - [Warning][Assert] Assertion "unknown == 4" is unknown. (01-assert.c:11:3-11:33) - [Success][Assert] Assertion "success" will succeed (01-assert.c:10:3-10:28) + [Error][Assert] Assertion "fail" will fail. (01-assert.c:12.3-12.25) + [Warning][Assert] Assertion "unknown == 4" is unknown. (01-assert.c:11.3-11.33) + [Success][Assert] Assertion "success" will succeed (01-assert.c:10.3-10.28) [Warning][Deadcode] Function 'main' does not return [Warning][Deadcode] Function 'main' has dead code: on lines 13..14 (01-assert.c:13-14) @@ -14,9 +14,9 @@ Test ancient solvers: $ goblint --enable warn.deterministic --set solver WL 01-assert.c - [Error][Assert] Assertion "fail" will fail. (01-assert.c:12:3-12:25) - [Warning][Assert] Assertion "unknown == 4" is unknown. (01-assert.c:11:3-11:33) - [Success][Assert] Assertion "success" will succeed (01-assert.c:10:3-10:28) + [Error][Assert] Assertion "fail" will fail. (01-assert.c:12.3-12.25) + [Warning][Assert] Assertion "unknown == 4" is unknown. (01-assert.c:11.3-11.33) + [Success][Assert] Assertion "success" will succeed (01-assert.c:10.3-10.28) [Warning][Deadcode] Function 'main' does not return [Warning][Deadcode] Function 'main' has dead code: on lines 13..14 (01-assert.c:13-14) @@ -26,9 +26,9 @@ Test ancient solvers: total lines: 9 $ goblint --enable warn.deterministic --set solver effectWConEq 01-assert.c - [Error][Assert] Assertion "fail" will fail. (01-assert.c:12:3-12:25) - [Warning][Assert] Assertion "unknown == 4" is unknown. (01-assert.c:11:3-11:33) - [Success][Assert] Assertion "success" will succeed (01-assert.c:10:3-10:28) + [Error][Assert] Assertion "fail" will fail. (01-assert.c:12.3-12.25) + [Warning][Assert] Assertion "unknown == 4" is unknown. (01-assert.c:11.3-11.33) + [Success][Assert] Assertion "success" will succeed (01-assert.c:10.3-10.28) [Warning][Deadcode] Function 'main' does not return [Warning][Deadcode] Function 'main' has dead code: on lines 13..14 (01-assert.c:13-14) @@ -41,9 +41,9 @@ Test ancient solvers: Test topdown solvers: $ goblint --enable warn.deterministic --set solver topdown_deprecated 01-assert.c - [Error][Assert] Assertion "fail" will fail. (01-assert.c:12:3-12:25) - [Warning][Assert] Assertion "unknown == 4" is unknown. (01-assert.c:11:3-11:33) - [Success][Assert] Assertion "success" will succeed (01-assert.c:10:3-10:28) + [Error][Assert] Assertion "fail" will fail. (01-assert.c:12.3-12.25) + [Warning][Assert] Assertion "unknown == 4" is unknown. (01-assert.c:11.3-11.33) + [Success][Assert] Assertion "success" will succeed (01-assert.c:10.3-10.28) [Warning][Deadcode] Function 'main' does not return [Warning][Deadcode] Function 'main' has dead code: on lines 13..14 (01-assert.c:13-14) @@ -53,9 +53,9 @@ Test topdown solvers: total lines: 9 $ goblint --enable warn.deterministic --set solver topdown 01-assert.c - [Error][Assert] Assertion "fail" will fail. (01-assert.c:12:3-12:25) - [Warning][Assert] Assertion "unknown == 4" is unknown. (01-assert.c:11:3-11:33) - [Success][Assert] Assertion "success" will succeed (01-assert.c:10:3-10:28) + [Error][Assert] Assertion "fail" will fail. (01-assert.c:12.3-12.25) + [Warning][Assert] Assertion "unknown == 4" is unknown. (01-assert.c:11.3-11.33) + [Success][Assert] Assertion "success" will succeed (01-assert.c:10.3-10.28) [Warning][Deadcode] Function 'main' does not return [Warning][Deadcode] Function 'main' has dead code: on lines 13..14 (01-assert.c:13-14) @@ -65,9 +65,9 @@ Test topdown solvers: total lines: 9 $ goblint --enable warn.deterministic --set solver topdown_term 01-assert.c - [Error][Assert] Assertion "fail" will fail. (01-assert.c:12:3-12:25) - [Warning][Assert] Assertion "unknown == 4" is unknown. (01-assert.c:11:3-11:33) - [Success][Assert] Assertion "success" will succeed (01-assert.c:10:3-10:28) + [Error][Assert] Assertion "fail" will fail. (01-assert.c:12.3-12.25) + [Warning][Assert] Assertion "unknown == 4" is unknown. (01-assert.c:11.3-11.33) + [Success][Assert] Assertion "success" will succeed (01-assert.c:10.3-10.28) [Warning][Deadcode] Function 'main' does not return [Warning][Deadcode] Function 'main' has dead code: on lines 13..14 (01-assert.c:13-14) @@ -77,9 +77,9 @@ Test topdown solvers: total lines: 9 $ goblint --enable warn.deterministic --set solver topdown_space_cache_term 01-assert.c - [Error][Assert] Assertion "fail" will fail. (01-assert.c:12:3-12:25) - [Warning][Assert] Assertion "unknown == 4" is unknown. (01-assert.c:11:3-11:33) - [Success][Assert] Assertion "success" will succeed (01-assert.c:10:3-10:28) + [Error][Assert] Assertion "fail" will fail. (01-assert.c:12.3-12.25) + [Warning][Assert] Assertion "unknown == 4" is unknown. (01-assert.c:11.3-11.33) + [Success][Assert] Assertion "success" will succeed (01-assert.c:10.3-10.28) [Warning][Deadcode] Function 'main' does not return [Warning][Deadcode] Function 'main' has dead code: on lines 13..14 (01-assert.c:13-14) @@ -89,9 +89,9 @@ Test topdown solvers: total lines: 9 $ goblint --enable warn.deterministic --set solver td3 01-assert.c - [Error][Assert] Assertion "fail" will fail. (01-assert.c:12:3-12:25) - [Warning][Assert] Assertion "unknown == 4" is unknown. (01-assert.c:11:3-11:33) - [Success][Assert] Assertion "success" will succeed (01-assert.c:10:3-10:28) + [Error][Assert] Assertion "fail" will fail. (01-assert.c:12.3-12.25) + [Warning][Assert] Assertion "unknown == 4" is unknown. (01-assert.c:11.3-11.33) + [Success][Assert] Assertion "success" will succeed (01-assert.c:10.3-10.28) [Warning][Deadcode] Function 'main' does not return [Warning][Deadcode] Function 'main' has dead code: on lines 13..14 (01-assert.c:13-14) @@ -101,9 +101,9 @@ Test topdown solvers: total lines: 9 $ goblint --enable warn.deterministic --set solver td_simplified 01-assert.c - [Error][Assert] Assertion "fail" will fail. (01-assert.c:12:3-12:25) - [Warning][Assert] Assertion "unknown == 4" is unknown. (01-assert.c:11:3-11:33) - [Success][Assert] Assertion "success" will succeed (01-assert.c:10:3-10:28) + [Error][Assert] Assertion "fail" will fail. (01-assert.c:12.3-12.25) + [Warning][Assert] Assertion "unknown == 4" is unknown. (01-assert.c:11.3-11.33) + [Success][Assert] Assertion "success" will succeed (01-assert.c:10.3-10.28) [Warning][Deadcode] Function 'main' does not return [Warning][Deadcode] Function 'main' has dead code: on lines 13..14 (01-assert.c:13-14) @@ -116,9 +116,9 @@ Test topdown solvers: Test SLR solvers: $ goblint --enable warn.deterministic --set solver widen1 01-assert.c - [Error][Assert] Assertion "fail" will fail. (01-assert.c:12:3-12:25) - [Warning][Assert] Assertion "unknown == 4" is unknown. (01-assert.c:11:3-11:33) - [Success][Assert] Assertion "success" will succeed (01-assert.c:10:3-10:28) + [Error][Assert] Assertion "fail" will fail. (01-assert.c:12.3-12.25) + [Warning][Assert] Assertion "unknown == 4" is unknown. (01-assert.c:11.3-11.33) + [Success][Assert] Assertion "success" will succeed (01-assert.c:10.3-10.28) [Warning][Deadcode] Function 'main' does not return [Warning][Deadcode] Function 'main' has dead code: on lines 13..14 (01-assert.c:13-14) @@ -128,9 +128,9 @@ Test SLR solvers: total lines: 9 $ goblint --enable warn.deterministic --set solver widen2 01-assert.c - [Error][Assert] Assertion "fail" will fail. (01-assert.c:12:3-12:25) - [Warning][Assert] Assertion "unknown == 4" is unknown. (01-assert.c:11:3-11:33) - [Success][Assert] Assertion "success" will succeed (01-assert.c:10:3-10:28) + [Error][Assert] Assertion "fail" will fail. (01-assert.c:12.3-12.25) + [Warning][Assert] Assertion "unknown == 4" is unknown. (01-assert.c:11.3-11.33) + [Success][Assert] Assertion "success" will succeed (01-assert.c:10.3-10.28) [Warning][Deadcode] Function 'main' does not return [Warning][Deadcode] Function 'main' has dead code: on lines 13..14 (01-assert.c:13-14) @@ -140,9 +140,9 @@ Test SLR solvers: total lines: 9 $ goblint --enable warn.deterministic --set solver widen3 01-assert.c - [Error][Assert] Assertion "fail" will fail. (01-assert.c:12:3-12:25) - [Warning][Assert] Assertion "unknown == 4" is unknown. (01-assert.c:11:3-11:33) - [Success][Assert] Assertion "success" will succeed (01-assert.c:10:3-10:28) + [Error][Assert] Assertion "fail" will fail. (01-assert.c:12.3-12.25) + [Warning][Assert] Assertion "unknown == 4" is unknown. (01-assert.c:11.3-11.33) + [Success][Assert] Assertion "success" will succeed (01-assert.c:10.3-10.28) [Warning][Deadcode] Function 'main' does not return [Warning][Deadcode] Function 'main' has dead code: on lines 13..14 (01-assert.c:13-14) @@ -152,9 +152,9 @@ Test SLR solvers: total lines: 9 $ goblint --enable warn.deterministic --set solver new 01-assert.c - [Error][Assert] Assertion "fail" will fail. (01-assert.c:12:3-12:25) - [Warning][Assert] Assertion "unknown == 4" is unknown. (01-assert.c:11:3-11:33) - [Success][Assert] Assertion "success" will succeed (01-assert.c:10:3-10:28) + [Error][Assert] Assertion "fail" will fail. (01-assert.c:12.3-12.25) + [Warning][Assert] Assertion "unknown == 4" is unknown. (01-assert.c:11.3-11.33) + [Success][Assert] Assertion "success" will succeed (01-assert.c:10.3-10.28) [Warning][Deadcode] Function 'main' does not return [Warning][Deadcode] Function 'main' has dead code: on lines 13..14 (01-assert.c:13-14) @@ -164,9 +164,9 @@ Test SLR solvers: total lines: 9 $ goblint --enable warn.deterministic --set solver slr+ 01-assert.c - [Error][Assert] Assertion "fail" will fail. (01-assert.c:12:3-12:25) - [Warning][Assert] Assertion "unknown == 4" is unknown. (01-assert.c:11:3-11:33) - [Success][Assert] Assertion "success" will succeed (01-assert.c:10:3-10:28) + [Error][Assert] Assertion "fail" will fail. (01-assert.c:12.3-12.25) + [Warning][Assert] Assertion "unknown == 4" is unknown. (01-assert.c:11.3-11.33) + [Success][Assert] Assertion "success" will succeed (01-assert.c:10.3-10.28) [Warning][Deadcode] Function 'main' does not return [Warning][Deadcode] Function 'main' has dead code: on lines 13..14 (01-assert.c:13-14) @@ -176,9 +176,9 @@ Test SLR solvers: total lines: 9 $ goblint --enable warn.deterministic --set solver slr1 01-assert.c - [Error][Assert] Assertion "fail" will fail. (01-assert.c:12:3-12:25) - [Warning][Assert] Assertion "unknown == 4" is unknown. (01-assert.c:11:3-11:33) - [Success][Assert] Assertion "success" will succeed (01-assert.c:10:3-10:28) + [Error][Assert] Assertion "fail" will fail. (01-assert.c:12.3-12.25) + [Warning][Assert] Assertion "unknown == 4" is unknown. (01-assert.c:11.3-11.33) + [Success][Assert] Assertion "success" will succeed (01-assert.c:10.3-10.28) [Warning][Deadcode] Function 'main' does not return [Warning][Deadcode] Function 'main' has dead code: on lines 13..14 (01-assert.c:13-14) @@ -188,9 +188,9 @@ Test SLR solvers: total lines: 9 $ goblint --enable warn.deterministic --set solver slr2 01-assert.c - [Error][Assert] Assertion "fail" will fail. (01-assert.c:12:3-12:25) - [Warning][Assert] Assertion "unknown == 4" is unknown. (01-assert.c:11:3-11:33) - [Success][Assert] Assertion "success" will succeed (01-assert.c:10:3-10:28) + [Error][Assert] Assertion "fail" will fail. (01-assert.c:12.3-12.25) + [Warning][Assert] Assertion "unknown == 4" is unknown. (01-assert.c:11.3-11.33) + [Success][Assert] Assertion "success" will succeed (01-assert.c:10.3-10.28) [Warning][Deadcode] Function 'main' does not return [Warning][Deadcode] Function 'main' has dead code: on lines 13..14 (01-assert.c:13-14) @@ -200,9 +200,9 @@ Test SLR solvers: total lines: 9 $ goblint --enable warn.deterministic --set solver slr3 01-assert.c - [Error][Assert] Assertion "fail" will fail. (01-assert.c:12:3-12:25) - [Warning][Assert] Assertion "unknown == 4" is unknown. (01-assert.c:11:3-11:33) - [Success][Assert] Assertion "success" will succeed (01-assert.c:10:3-10:28) + [Error][Assert] Assertion "fail" will fail. (01-assert.c:12.3-12.25) + [Warning][Assert] Assertion "unknown == 4" is unknown. (01-assert.c:11.3-11.33) + [Success][Assert] Assertion "success" will succeed (01-assert.c:10.3-10.28) [Warning][Deadcode] Function 'main' does not return [Warning][Deadcode] Function 'main' has dead code: on lines 13..14 (01-assert.c:13-14) @@ -212,9 +212,9 @@ Test SLR solvers: total lines: 9 $ goblint --enable warn.deterministic --set solver slr4 01-assert.c - [Error][Assert] Assertion "fail" will fail. (01-assert.c:12:3-12:25) - [Warning][Assert] Assertion "unknown == 4" is unknown. (01-assert.c:11:3-11:33) - [Success][Assert] Assertion "success" will succeed (01-assert.c:10:3-10:28) + [Error][Assert] Assertion "fail" will fail. (01-assert.c:12.3-12.25) + [Warning][Assert] Assertion "unknown == 4" is unknown. (01-assert.c:11.3-11.33) + [Success][Assert] Assertion "success" will succeed (01-assert.c:10.3-10.28) [Warning][Deadcode] Function 'main' does not return [Warning][Deadcode] Function 'main' has dead code: on lines 13..14 (01-assert.c:13-14) @@ -224,9 +224,9 @@ Test SLR solvers: total lines: 9 $ goblint --enable warn.deterministic --set solver slr1p 01-assert.c - [Error][Assert] Assertion "fail" will fail. (01-assert.c:12:3-12:25) - [Warning][Assert] Assertion "unknown == 4" is unknown. (01-assert.c:11:3-11:33) - [Success][Assert] Assertion "success" will succeed (01-assert.c:10:3-10:28) + [Error][Assert] Assertion "fail" will fail. (01-assert.c:12.3-12.25) + [Warning][Assert] Assertion "unknown == 4" is unknown. (01-assert.c:11.3-11.33) + [Success][Assert] Assertion "success" will succeed (01-assert.c:10.3-10.28) [Warning][Deadcode] Function 'main' does not return [Warning][Deadcode] Function 'main' has dead code: on lines 13..14 (01-assert.c:13-14) @@ -235,9 +235,9 @@ Test SLR solvers: dead: 2 total lines: 9 $ goblint --enable warn.deterministic --set solver slr2p 01-assert.c - [Error][Assert] Assertion "fail" will fail. (01-assert.c:12:3-12:25) - [Warning][Assert] Assertion "unknown == 4" is unknown. (01-assert.c:11:3-11:33) - [Success][Assert] Assertion "success" will succeed (01-assert.c:10:3-10:28) + [Error][Assert] Assertion "fail" will fail. (01-assert.c:12.3-12.25) + [Warning][Assert] Assertion "unknown == 4" is unknown. (01-assert.c:11.3-11.33) + [Success][Assert] Assertion "success" will succeed (01-assert.c:10.3-10.28) [Warning][Deadcode] Function 'main' does not return [Warning][Deadcode] Function 'main' has dead code: on lines 13..14 (01-assert.c:13-14) @@ -247,9 +247,9 @@ Test SLR solvers: total lines: 9 $ goblint --enable warn.deterministic --set solver slr3p 01-assert.c - [Error][Assert] Assertion "fail" will fail. (01-assert.c:12:3-12:25) - [Warning][Assert] Assertion "unknown == 4" is unknown. (01-assert.c:11:3-11:33) - [Success][Assert] Assertion "success" will succeed (01-assert.c:10:3-10:28) + [Error][Assert] Assertion "fail" will fail. (01-assert.c:12.3-12.25) + [Warning][Assert] Assertion "unknown == 4" is unknown. (01-assert.c:11.3-11.33) + [Success][Assert] Assertion "success" will succeed (01-assert.c:10.3-10.28) [Warning][Deadcode] Function 'main' does not return [Warning][Deadcode] Function 'main' has dead code: on lines 13..14 (01-assert.c:13-14) @@ -259,9 +259,9 @@ Test SLR solvers: total lines: 9 $ goblint --enable warn.deterministic --set solver slr4p 01-assert.c - [Error][Assert] Assertion "fail" will fail. (01-assert.c:12:3-12:25) - [Warning][Assert] Assertion "unknown == 4" is unknown. (01-assert.c:11:3-11:33) - [Success][Assert] Assertion "success" will succeed (01-assert.c:10:3-10:28) + [Error][Assert] Assertion "fail" will fail. (01-assert.c:12.3-12.25) + [Warning][Assert] Assertion "unknown == 4" is unknown. (01-assert.c:11.3-11.33) + [Success][Assert] Assertion "success" will succeed (01-assert.c:10.3-10.28) [Warning][Deadcode] Function 'main' does not return [Warning][Deadcode] Function 'main' has dead code: on lines 13..14 (01-assert.c:13-14) @@ -271,9 +271,9 @@ Test SLR solvers: total lines: 9 $ goblint --enable warn.deterministic --set solver slr3t 01-assert.c - [Error][Assert] Assertion "fail" will fail. (01-assert.c:12:3-12:25) - [Warning][Assert] Assertion "unknown == 4" is unknown. (01-assert.c:11:3-11:33) - [Success][Assert] Assertion "success" will succeed (01-assert.c:10:3-10:28) + [Error][Assert] Assertion "fail" will fail. (01-assert.c:12.3-12.25) + [Warning][Assert] Assertion "unknown == 4" is unknown. (01-assert.c:11.3-11.33) + [Success][Assert] Assertion "success" will succeed (01-assert.c:10.3-10.28) [Warning][Deadcode] Function 'main' does not return [Warning][Deadcode] Function 'main' has dead code: on lines 13..14 (01-assert.c:13-14) @@ -283,9 +283,9 @@ Test SLR solvers: total lines: 9 $ goblint --enable warn.deterministic --set solver slr3tp 01-assert.c - [Error][Assert] Assertion "fail" will fail. (01-assert.c:12:3-12:25) - [Warning][Assert] Assertion "unknown == 4" is unknown. (01-assert.c:11:3-11:33) - [Success][Assert] Assertion "success" will succeed (01-assert.c:10:3-10:28) + [Error][Assert] Assertion "fail" will fail. (01-assert.c:12.3-12.25) + [Warning][Assert] Assertion "unknown == 4" is unknown. (01-assert.c:11.3-11.33) + [Success][Assert] Assertion "success" will succeed (01-assert.c:10.3-10.28) [Warning][Deadcode] Function 'main' does not return [Warning][Deadcode] Function 'main' has dead code: on lines 13..14 (01-assert.c:13-14) diff --git a/tests/regression/00-sanity/19-if-0.t b/tests/regression/00-sanity/19-if-0.t index bb48b16771..cf6dac0a3b 100644 --- a/tests/regression/00-sanity/19-if-0.t +++ b/tests/regression/00-sanity/19-if-0.t @@ -8,27 +8,27 @@ │ (body) ▼ ┌────────────────────────────────┐ ┌────────────────────────────────┐ - │ 19-if-0.c:15:9-15:27 │ │ 19-if-0.c:9:5-16:5 │ - │ (19-if-0.c:15:9-15:27) │ │ (19-if-0.c:9:9-9:10) │ - │ YAML loc: 19-if-0.c:15:9-15:27 │ Neg(0) │ YAML loc: 19-if-0.c:9:5-16:5 │ + │ 19-if-0.c:15.9-15.27 │ │ 19-if-0.c:9.5-16.5 │ + │ (19-if-0.c:15.9-15.27) │ │ (19-if-0.c:9.9-9.10) │ + │ YAML loc: 19-if-0.c:15.9-15.27 │ Neg(0) │ YAML loc: 19-if-0.c:9.5-16.5 │ │ server: true │ ◀──────────────────── │ server: true │ └────────────────────────────────┘ └────────────────────────────────┘ │ │ │ │ Pos(0) │ ▼ │ ┌────────────────────────────────┐ - │ │ 19-if-0.c:11:9-11:16 │ - │ │ (19-if-0.c:11:9-11:16) │ - │ │ YAML loc: 19-if-0.c:11:9-11:16 │ + │ │ 19-if-0.c:11.9-11.16 │ + │ │ (19-if-0.c:11.9-11.16) │ + │ │ YAML loc: 19-if-0.c:11.9-11.16 │ │ │ server: true │ │ └────────────────────────────────┘ │ │ │ │ stuff() │ ▼ │ ┌────────────────────────────────┐ - │ │ 19-if-0.c:17:5-17:13 │ - │ │ (19-if-0.c:17:12-17:13) │ - │ __goblint_check(1) │ YAML loc: 19-if-0.c:17:5-17:13 │ + │ │ 19-if-0.c:17.5-17.13 │ + │ │ (19-if-0.c:17.12-17.13) │ + │ __goblint_check(1) │ YAML loc: 19-if-0.c:17.5-17.13 │ └────────────────────────────────────────────────────▶ │ server: true │ └────────────────────────────────┘ │ diff --git a/tests/regression/00-sanity/20-if-0-realnode.t b/tests/regression/00-sanity/20-if-0-realnode.t index ca92346b2f..eb772d922e 100644 --- a/tests/regression/00-sanity/20-if-0-realnode.t +++ b/tests/regression/00-sanity/20-if-0-realnode.t @@ -8,29 +8,29 @@ │ (body) ▼ ┌─────────────────────────────────────────┐ - │ 20-if-0-realnode.c:10:5-16:5 │ - │ (20-if-0-realnode.c:10:9-10:10) │ - │ [20-if-0-realnode.c:9:5-10:5 │ Neg(0) + │ 20-if-0-realnode.c:10.5-16.5 │ + │ (20-if-0-realnode.c:10.9-10.10) │ + │ [20-if-0-realnode.c:9.5-10.5 │ Neg(0) │ (unknown)] │ ─────────┐ - │ YAML loc: 20-if-0-realnode.c:10:5-16:5 │ │ + │ YAML loc: 20-if-0-realnode.c:10.5-16.5 │ │ │ server: true │ ◀────────┘ └─────────────────────────────────────────┘ │ │ Pos(0) ▼ ┌─────────────────────────────────────────┐ - │ 20-if-0-realnode.c:12:9-12:16 │ - │ (20-if-0-realnode.c:12:9-12:16) │ - │ YAML loc: 20-if-0-realnode.c:12:9-12:16 │ + │ 20-if-0-realnode.c:12.9-12.16 │ + │ (20-if-0-realnode.c:12.9-12.16) │ + │ YAML loc: 20-if-0-realnode.c:12.9-12.16 │ │ server: true │ └─────────────────────────────────────────┘ │ │ stuff() ▼ ┌─────────────────────────────────────────┐ - │ 20-if-0-realnode.c:17:5-17:13 │ - │ (20-if-0-realnode.c:17:12-17:13) │ - │ YAML loc: 20-if-0-realnode.c:17:5-17:13 │ + │ 20-if-0-realnode.c:17.5-17.13 │ + │ (20-if-0-realnode.c:17.12-17.13) │ + │ YAML loc: 20-if-0-realnode.c:17.5-17.13 │ │ server: true │ └─────────────────────────────────────────┘ │ diff --git a/tests/regression/00-sanity/21-empty-loops.t b/tests/regression/00-sanity/21-empty-loops.t index 1fd0db1f5a..cfcfe21673 100644 --- a/tests/regression/00-sanity/21-empty-loops.t +++ b/tests/regression/00-sanity/21-empty-loops.t @@ -8,20 +8,20 @@ │ (body) ▼ ┌───────────────────────────────────────┐ - │ 21-empty-loops.c:58:3-58:31 │ + │ 21-empty-loops.c:58.3-58.31 │ │ (unknown) │ - │ [21-empty-loops.c:57:1-58:3 │ skip + │ [21-empty-loops.c:57.1-58.3 │ skip │ (unknown)] │ ───────┐ - │ YAML loc: 21-empty-loops.c:58:3-58:31 │ │ + │ YAML loc: 21-empty-loops.c:58.3-58.31 │ │ │ server: true │ ◀──────┘ └───────────────────────────────────────┘ │ │ Neg(1) ▼ ┌───────────────────────────────────────┐ - │ 21-empty-loops.c:59:1-59:1 │ + │ 21-empty-loops.c:59.1-59.1 │ │ (unknown) │ - │ YAML loc: 21-empty-loops.c:59:1-59:1 │ + │ YAML loc: 21-empty-loops.c:59.1-59.1 │ │ server: true │ └───────────────────────────────────────┘ │ @@ -39,18 +39,18 @@ │ (body) ▼ ┌────────────────────────────────────────────┐ - │ 21-empty-loops.c:63:3-63:14 (synthetic) │ Pos(1) - │ (21-empty-loops.c:63:10-63:11 (synthetic)) │ ─────────┐ - │ YAML loop: 21-empty-loops.c:63:3-63:14 │ │ + │ 21-empty-loops.c:63.3-63.14 (synthetic) │ Pos(1) + │ (21-empty-loops.c:63.10-63.11 (synthetic)) │ ─────────┐ + │ YAML loop: 21-empty-loops.c:63.3-63.14 │ │ │ server: false │ ◀────────┘ └────────────────────────────────────────────┘ │ │ Neg(1) ▼ ┌────────────────────────────────────────────┐ - │ 21-empty-loops.c:64:1-64:1 │ + │ 21-empty-loops.c:64.1-64.1 │ │ (unknown) │ - │ YAML loc: 21-empty-loops.c:64:1-64:1 │ + │ YAML loc: 21-empty-loops.c:64.1-64.1 │ │ server: true │ └────────────────────────────────────────────┘ │ @@ -62,18 +62,18 @@ $ graph-easy --as=boxart f_empty_goto_loop_suffix.dot ┌───────────────────────────────────────┐ - │ 21-empty-loops.c:76:3-76:11 │ - │ (21-empty-loops.c:76:3-76:11) │ - │ YAML loc: 21-empty-loops.c:76:3-76:11 │ + │ 21-empty-loops.c:76.3-76.11 │ + │ (21-empty-loops.c:76.3-76.11) │ + │ YAML loc: 21-empty-loops.c:76.3-76.11 │ │ server: true │ └───────────────────────────────────────┘ │ │ suffix() ▼ ┌───────────────────────────────────────┐ - │ 21-empty-loops.c:77:1-77:1 │ + │ 21-empty-loops.c:77.1-77.1 │ │ (unknown) │ - │ YAML loc: 21-empty-loops.c:77:1-77:1 │ + │ YAML loc: 21-empty-loops.c:77.1-77.1 │ │ server: true │ ◀┐ └───────────────────────────────────────┘ │ │ │ @@ -89,11 +89,11 @@ │ (body) │ ▼ │ ┌───────────────────────────────────────┐ │ - │ 21-empty-loops.c:74:3-74:38 │ │ + │ 21-empty-loops.c:74.3-74.38 │ │ │ (unknown) │ │ - skip │ [21-empty-loops.c:73:1-74:3 │ │ + skip │ [21-empty-loops.c:73.1-74.3 │ │ ┌─────── │ (unknown)] │ │ - │ │ YAML loc: 21-empty-loops.c:74:3-74:38 │ │ + │ │ YAML loc: 21-empty-loops.c:74.3-74.38 │ │ └──────▶ │ server: true │ ─┘ └───────────────────────────────────────┘ @@ -105,27 +105,27 @@ │ (body) ▼ ┌────────────────────────────────────────────┐ - │ 21-empty-loops.c:81:3-81:14 (synthetic) │ Pos(1) - │ (21-empty-loops.c:81:10-81:11 (synthetic)) │ ─────────┐ - │ YAML loop: 21-empty-loops.c:81:3-81:14 │ │ + │ 21-empty-loops.c:81.3-81.14 (synthetic) │ Pos(1) + │ (21-empty-loops.c:81.10-81.11 (synthetic)) │ ─────────┐ + │ YAML loop: 21-empty-loops.c:81.3-81.14 │ │ │ server: false │ ◀────────┘ └────────────────────────────────────────────┘ │ │ Neg(1) ▼ ┌────────────────────────────────────────────┐ - │ 21-empty-loops.c:83:3-83:11 │ - │ (21-empty-loops.c:83:3-83:11) │ - │ YAML loc: 21-empty-loops.c:83:3-83:11 │ + │ 21-empty-loops.c:83.3-83.11 │ + │ (21-empty-loops.c:83.3-83.11) │ + │ YAML loc: 21-empty-loops.c:83.3-83.11 │ │ server: true │ └────────────────────────────────────────────┘ │ │ suffix() ▼ ┌────────────────────────────────────────────┐ - │ 21-empty-loops.c:84:1-84:1 │ + │ 21-empty-loops.c:84.1-84.1 │ │ (unknown) │ - │ YAML loc: 21-empty-loops.c:84:1-84:1 │ + │ YAML loc: 21-empty-loops.c:84.1-84.1 │ │ server: true │ └────────────────────────────────────────────┘ │ @@ -143,18 +143,18 @@ │ (body) ▼ ┌──────────────────────────────────────┐ - │ 21-empty-loops.c:94:3-94:9 │ body() - │ (21-empty-loops.c:94:3-94:9) │ ─────────┐ - │ YAML loc: 21-empty-loops.c:94:3-94:9 │ │ + │ 21-empty-loops.c:94.3-94.9 │ body() + │ (21-empty-loops.c:94.3-94.9) │ ─────────┐ + │ YAML loc: 21-empty-loops.c:94.3-94.9 │ │ │ server: true │ ◀────────┘ └──────────────────────────────────────┘ │ │ Neg(1) ▼ ┌──────────────────────────────────────┐ - │ 21-empty-loops.c:96:1-96:1 │ + │ 21-empty-loops.c:96.1-96.1 │ │ (unknown) │ - │ YAML loc: 21-empty-loops.c:96:1-96:1 │ + │ YAML loc: 21-empty-loops.c:96.1-96.1 │ │ server: true │ └──────────────────────────────────────┘ │ @@ -175,18 +175,18 @@ │ │ (body) │ │ ▼ │ ┌─────────────────────────────────────────┐ ┌──────────────────────────────────────────────┐ │ - │ 21-empty-loops.c:102:5-102:11 │ │ 21-empty-loops.c:100:3-103:3 (synthetic) │ │ - │ (21-empty-loops.c:102:5-102:11) │ │ (21-empty-loops.c:100:10-100:11 (synthetic)) │ │ - │ YAML loc: 21-empty-loops.c:102:5-102:11 │ Pos(1) │ YAML loop: 21-empty-loops.c:100:3-103:3 │ │ + │ 21-empty-loops.c:102.5-102.11 │ │ 21-empty-loops.c:100.3-103.3 (synthetic) │ │ + │ (21-empty-loops.c:102.5-102.11) │ │ (21-empty-loops.c:100.10-100.11 (synthetic)) │ │ + │ YAML loc: 21-empty-loops.c:102.5-102.11 │ Pos(1) │ YAML loop: 21-empty-loops.c:100.3-103.3 │ │ │ server: true │ ◀──────── │ server: false │ ◀┘ └─────────────────────────────────────────┘ └──────────────────────────────────────────────┘ │ │ Neg(1) ▼ ┌──────────────────────────────────────────────┐ - │ 21-empty-loops.c:104:1-104:1 │ + │ 21-empty-loops.c:104.1-104.1 │ │ (unknown) │ - │ YAML loc: 21-empty-loops.c:104:1-104:1 │ + │ YAML loc: 21-empty-loops.c:104.1-104.1 │ │ server: true │ └──────────────────────────────────────────────┘ │ @@ -205,29 +205,29 @@ │ (body) ▼ ┌─────────────────────────────────────────┐ - │ 21-empty-loops.c:113:3-113:11 │ - │ (21-empty-loops.c:113:3-113:11) │ - │ YAML loc: 21-empty-loops.c:113:3-113:11 │ + │ 21-empty-loops.c:113.3-113.11 │ + │ (21-empty-loops.c:113.3-113.11) │ + │ YAML loc: 21-empty-loops.c:113.3-113.11 │ │ server: true │ └─────────────────────────────────────────┘ │ │ prefix() ▼ ┌─────────────────────────────────────────┐ - │ 21-empty-loops.c:116:3-116:38 │ + │ 21-empty-loops.c:116.3-116.38 │ │ (unknown) │ - │ [21-empty-loops.c:115:1-116:3 │ skip + │ [21-empty-loops.c:115.1-116.3 │ skip │ (unknown)] │ ───────┐ - │ YAML loc: 21-empty-loops.c:116:3-116:38 │ │ + │ YAML loc: 21-empty-loops.c:116.3-116.38 │ │ │ server: true │ ◀──────┘ └─────────────────────────────────────────┘ │ │ Neg(1) ▼ ┌─────────────────────────────────────────┐ - │ 21-empty-loops.c:117:1-117:1 │ + │ 21-empty-loops.c:117.1-117.1 │ │ (unknown) │ - │ YAML loc: 21-empty-loops.c:117:1-117:1 │ + │ YAML loc: 21-empty-loops.c:117.1-117.1 │ │ server: true │ └─────────────────────────────────────────┘ │ @@ -245,27 +245,27 @@ │ (body) ▼ ┌──────────────────────────────────────────────┐ - │ 21-empty-loops.c:121:3-121:11 │ - │ (21-empty-loops.c:121:3-121:11) │ - │ YAML loc: 21-empty-loops.c:121:3-121:11 │ + │ 21-empty-loops.c:121.3-121.11 │ + │ (21-empty-loops.c:121.3-121.11) │ + │ YAML loc: 21-empty-loops.c:121.3-121.11 │ │ server: true │ └──────────────────────────────────────────────┘ │ │ prefix() ▼ ┌──────────────────────────────────────────────┐ - │ 21-empty-loops.c:123:3-123:14 (synthetic) │ Pos(1) - │ (21-empty-loops.c:123:10-123:11 (synthetic)) │ ─────────┐ - │ YAML loop: 21-empty-loops.c:123:3-123:14 │ │ + │ 21-empty-loops.c:123.3-123.14 (synthetic) │ Pos(1) + │ (21-empty-loops.c:123.10-123.11 (synthetic)) │ ─────────┐ + │ YAML loop: 21-empty-loops.c:123.3-123.14 │ │ │ server: false │ ◀────────┘ └──────────────────────────────────────────────┘ │ │ Neg(1) ▼ ┌──────────────────────────────────────────────┐ - │ 21-empty-loops.c:124:1-124:1 │ + │ 21-empty-loops.c:124.1-124.1 │ │ (unknown) │ - │ YAML loc: 21-empty-loops.c:124:1-124:1 │ + │ YAML loc: 21-empty-loops.c:124.1-124.1 │ │ server: true │ └──────────────────────────────────────────────┘ │ @@ -285,7 +285,7 @@ ┌─────────────────────────────────────────┐ │ unknown │ │ (unknown) │ skip - │ [21-empty-loops.c:128:1-129:3 │ ───────┐ + │ [21-empty-loops.c:128.1-129.3 │ ───────┐ │ (unknown)] │ │ │ server: true │ ◀──────┘ └─────────────────────────────────────────┘ @@ -293,9 +293,9 @@ │ Neg(1) ▼ ┌─────────────────────────────────────────┐ - │ 21-empty-loops.c:132:1-132:1 │ + │ 21-empty-loops.c:132.1-132.1 │ │ (unknown) │ - │ YAML loc: 21-empty-loops.c:132:1-132:1 │ + │ YAML loc: 21-empty-loops.c:132.1-132.1 │ │ server: true │ └─────────────────────────────────────────┘ │ @@ -313,18 +313,18 @@ │ (body) ▼ ┌──────────────────────────────────────────────┐ - │ 21-empty-loops.c:136:3-138:3 (synthetic) │ Pos(1) - │ (21-empty-loops.c:136:10-136:11 (synthetic)) │ ─────────┐ - │ YAML loop: 21-empty-loops.c:136:3-138:3 │ │ + │ 21-empty-loops.c:136.3-138.3 (synthetic) │ Pos(1) + │ (21-empty-loops.c:136.10-136.11 (synthetic)) │ ─────────┐ + │ YAML loop: 21-empty-loops.c:136.3-138.3 │ │ │ server: false │ ◀────────┘ └──────────────────────────────────────────────┘ │ │ Neg(1) ▼ ┌──────────────────────────────────────────────┐ - │ 21-empty-loops.c:139:1-139:1 │ + │ 21-empty-loops.c:139.1-139.1 │ │ (unknown) │ - │ YAML loc: 21-empty-loops.c:139:1-139:1 │ + │ YAML loc: 21-empty-loops.c:139.1-139.1 │ │ server: true │ └──────────────────────────────────────────────┘ │ @@ -342,20 +342,20 @@ │ (body) ▼ ┌─────────────────────────────────────────┐ - │ 21-empty-loops.c:144:3-144:42 │ + │ 21-empty-loops.c:144.3-144.42 │ │ (unknown) │ - │ [21-empty-loops.c:143:1-144:3 │ skip + │ [21-empty-loops.c:143.1-144.3 │ skip │ (unknown)] │ ───────┐ - │ YAML loc: 21-empty-loops.c:144:3-144:42 │ │ + │ YAML loc: 21-empty-loops.c:144.3-144.42 │ │ │ server: true │ ◀──────┘ └─────────────────────────────────────────┘ │ │ Neg(1) ▼ ┌─────────────────────────────────────────┐ - │ 21-empty-loops.c:147:1-147:1 │ + │ 21-empty-loops.c:147.1-147.1 │ │ (unknown) │ - │ YAML loc: 21-empty-loops.c:147:1-147:1 │ + │ YAML loc: 21-empty-loops.c:147.1-147.1 │ │ server: true │ └─────────────────────────────────────────┘ │ @@ -375,7 +375,7 @@ ┌────────────────────────────────────────────────────────┐ │ unknown │ │ (unknown) │ skip - │ [21-empty-loops.c:151:1-152:3 │ ───────┐ + │ [21-empty-loops.c:151.1-152.3 │ ───────┐ │ (unknown)] │ │ │ server: true │ ◀──────┘ └────────────────────────────────────────────────────────┘ @@ -383,9 +383,9 @@ │ Neg(1) ▼ ┌────────────────────────────────────────────────────────┐ - │ 21-empty-loops.c:156:1-156:1 │ + │ 21-empty-loops.c:156.1-156.1 │ │ (unknown) │ - │ YAML loc: 21-empty-loops.c:156:1-156:1 │ + │ YAML loc: 21-empty-loops.c:156.1-156.1 │ │ server: true │ └────────────────────────────────────────────────────────┘ │ @@ -403,20 +403,20 @@ │ (body) ▼ ┌─────────────────────────────────────────────────────────┐ - │ 21-empty-loops.c:161:3-161:59 │ + │ 21-empty-loops.c:161.3-161.59 │ │ (unknown) │ - │ [21-empty-loops.c:160:1-161:3 │ skip + │ [21-empty-loops.c:160.1-161.3 │ skip │ (unknown)] │ ───────┐ - │ YAML loc: 21-empty-loops.c:161:3-161:59 │ │ + │ YAML loc: 21-empty-loops.c:161.3-161.59 │ │ │ server: true │ ◀──────┘ └─────────────────────────────────────────────────────────┘ │ │ Neg(1) ▼ ┌─────────────────────────────────────────────────────────┐ - │ 21-empty-loops.c:165:1-165:1 │ + │ 21-empty-loops.c:165.1-165.1 │ │ (unknown) │ - │ YAML loc: 21-empty-loops.c:165:1-165:1 │ + │ YAML loc: 21-empty-loops.c:165.1-165.1 │ │ server: true │ └─────────────────────────────────────────────────────────┘ │ @@ -436,7 +436,7 @@ ┌───────────────────────────────────────────────────────┐ │ unknown │ │ (unknown) │ skip - │ [21-empty-loops.c:169:1-170:3 │ ───────┐ + │ [21-empty-loops.c:169.1-170.3 │ ───────┐ │ (unknown)] │ │ │ server: true │ ◀──────┘ └───────────────────────────────────────────────────────┘ @@ -444,9 +444,9 @@ │ Neg(1) ▼ ┌───────────────────────────────────────────────────────┐ - │ 21-empty-loops.c:175:1-175:1 │ + │ 21-empty-loops.c:175.1-175.1 │ │ (unknown) │ - │ YAML loc: 21-empty-loops.c:175:1-175:1 │ + │ YAML loc: 21-empty-loops.c:175.1-175.1 │ │ server: true │ └───────────────────────────────────────────────────────┘ │ diff --git a/tests/regression/00-sanity/33-hoare-over-paths.t b/tests/regression/00-sanity/33-hoare-over-paths.t index 9f88f836b0..9761d41087 100644 --- a/tests/regression/00-sanity/33-hoare-over-paths.t +++ b/tests/regression/00-sanity/33-hoare-over-paths.t @@ -1,6 +1,6 @@ $ goblint --set ana.path_sens[+] mutex --set result pretty-deterministic --set outfile pretty.txt 33-hoare-over-paths.c - [Success][Assert] Assertion "1" will succeed (33-hoare-over-paths.c:11:5-11:24) - [Success][Assert] Assertion "1" will succeed (33-hoare-over-paths.c:16:5-16:24) + [Success][Assert] Assertion "1" will succeed (33-hoare-over-paths.c:11.5-11.24) + [Success][Assert] Assertion "1" will succeed (33-hoare-over-paths.c:16.5-16.24) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 7 dead: 0 @@ -8,7 +8,7 @@ $ cat pretty.txt Mapping { - 33-hoare-over-paths.c:9:7-9:8(main) -> + 33-hoare-over-paths.c:9.7-9.8(main) -> PathSensitive (ProjectiveSet (MCP.D * map)):{(MCP.D:[expRelation:(), mallocWrapper:(wrapper call:Unknown node, unique calls:{}), base:({ @@ -30,7 +30,7 @@ mhp:(), assert:(), pthreadMutexType:()], map:{})} - 33-hoare-over-paths.c:10:5-10:10(main) -> + 33-hoare-over-paths.c:10.5-10.10(main) -> PathSensitive (ProjectiveSet (MCP.D * map)):{(MCP.D:[expRelation:(), mallocWrapper:(wrapper call:Unknown node, unique calls:{}), base:({ @@ -53,7 +53,7 @@ mhp:(), assert:(), pthreadMutexType:()], map:{})} - 33-hoare-over-paths.c:11:5-11:24(main) -> + 33-hoare-over-paths.c:11.5-11.24(main) -> PathSensitive (ProjectiveSet (MCP.D * map)):{(MCP.D:[expRelation:(), mallocWrapper:(wrapper call:Unknown node, unique calls:{}), base:({ @@ -75,7 +75,7 @@ mhp:(), assert:(), pthreadMutexType:()], map:{})} - 33-hoare-over-paths.c:15:5-15:27(main) -> + 33-hoare-over-paths.c:15.5-15.27(main) -> PathSensitive (ProjectiveSet (MCP.D * map)):{(MCP.D:[expRelation:(), mallocWrapper:(wrapper call:Unknown node, unique calls:{}), base:({ @@ -97,7 +97,7 @@ mhp:(), assert:(), pthreadMutexType:()], map:{})} - 33-hoare-over-paths.c:16:5-16:24(main) -> + 33-hoare-over-paths.c:16.5-16.24(main) -> PathSensitive (ProjectiveSet (MCP.D * map)):{(MCP.D:[expRelation:(), mallocWrapper:(wrapper call:Unknown node, unique calls:{}), base:({ @@ -119,7 +119,7 @@ mhp:(), assert:(), pthreadMutexType:()], map:{})} - 33-hoare-over-paths.c:33:10-33:11(main) -> + 33-hoare-over-paths.c:33.10-33.11(main) -> PathSensitive (ProjectiveSet (MCP.D * map)):{(MCP.D:[expRelation:(), mallocWrapper:(wrapper call:Unknown node, unique calls:{}), base:({ @@ -162,7 +162,7 @@ mhp:(), assert:(), pthreadMutexType:()], map:{})} - 33-hoare-over-paths.c:7:1-34:1(main) -> + 33-hoare-over-paths.c:7.1-34.1(main) -> PathSensitive (ProjectiveSet (MCP.D * map)):{(MCP.D:[expRelation:(), mallocWrapper:(wrapper call:Unknown node, unique calls:{}), base:({ @@ -181,7 +181,7 @@ mhp:(), assert:(), pthreadMutexType:()], map:{})} - 33-hoare-over-paths.c:7:1-34:1(main) -> + 33-hoare-over-paths.c:7.1-34.1(main) -> PathSensitive (ProjectiveSet (MCP.D * map)):{(MCP.D:[expRelation:(), mallocWrapper:(wrapper call:Unknown node, unique calls:{}), base:({ diff --git a/tests/regression/00-sanity/36-strict-loop-dead.t b/tests/regression/00-sanity/36-strict-loop-dead.t index a985909480..cec8c55aeb 100644 --- a/tests/regression/00-sanity/36-strict-loop-dead.t +++ b/tests/regression/00-sanity/36-strict-loop-dead.t @@ -7,4 +7,4 @@ live: 7 dead: 3 total lines: 10 - [Warning][Deadcode][CWE-571] condition 'n < 0' is always true (36-strict-loop-dead.c:5:7-5:12) + [Warning][Deadcode][CWE-571] condition 'n < 0' is always true (36-strict-loop-dead.c:5.7-5.12) diff --git a/tests/regression/02-base/87-casts-dep-on-param.t b/tests/regression/02-base/87-casts-dep-on-param.t index 7149803b29..c9668075d8 100644 --- a/tests/regression/02-base/87-casts-dep-on-param.t +++ b/tests/regression/02-base/87-casts-dep-on-param.t @@ -1,12 +1,12 @@ $ goblint --set ana.activated "['base', 'mallocWrapper']" --set ana.ctx_insens[+] 'base' --set ana.ctx_insens[+] 'mallocWrapper' --set ana.base.privatization none --enable warn.debug 87-casts-dep-on-param.c 2>&1 | sed -r 's/sid:[0-9]+/sid:$SID/' | tee default-output.txt [Warning] Without thread escape analysis, every local variable whose address is taken is considered escaped, i.e., global! - [Info][Unsound] Unknown address in {&i} has escaped. (87-casts-dep-on-param.c:11:3-11:11) - [Info][Unsound] Unknown value in {?} could be an escaped pointer address! (87-casts-dep-on-param.c:11:3-11:11) - [Debug][Analyzer] Base EvalInt i query answering bot instead of {?, NULL, &(alloc@sid:$SID)} (87-casts-dep-on-param.c:13:7-13:15) - [Debug][Analyzer] Base EvalInt i query answering bot instead of {?, NULL, &(alloc@sid:$SID)} (87-casts-dep-on-param.c:14:3-14:11) - [Info][Unsound] Unknown address in {&p} has escaped. (87-casts-dep-on-param.c:17:7-17:19) - [Info][Unsound] Unknown address in {&i} has escaped. (87-casts-dep-on-param.c:17:7-17:19) - [Info][Unsound] Unknown value in {?} could be an escaped pointer address! (87-casts-dep-on-param.c:17:7-17:19) + [Info][Unsound] Unknown address in {&i} has escaped. (87-casts-dep-on-param.c:11.3-11.11) + [Info][Unsound] Unknown value in {?} could be an escaped pointer address! (87-casts-dep-on-param.c:11.3-11.11) + [Debug][Analyzer] Base EvalInt i query answering bot instead of {?, NULL, &(alloc@sid:$SID)} (87-casts-dep-on-param.c:13.7-13.15) + [Debug][Analyzer] Base EvalInt i query answering bot instead of {?, NULL, &(alloc@sid:$SID)} (87-casts-dep-on-param.c:14.3-14.11) + [Info][Unsound] Unknown address in {&p} has escaped. (87-casts-dep-on-param.c:17.7-17.19) + [Info][Unsound] Unknown address in {&i} has escaped. (87-casts-dep-on-param.c:17.7-17.19) + [Info][Unsound] Unknown value in {?} could be an escaped pointer address! (87-casts-dep-on-param.c:17.7-17.19) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 15 dead: 0 @@ -16,9 +16,9 @@ $ diff default-output.txt full-output.txt 4,5c4,5 - < [Debug][Analyzer] Base EvalInt i query answering bot instead of {?, NULL, &(alloc@sid:$SID)} (87-casts-dep-on-param.c:13:7-13:15) - < [Debug][Analyzer] Base EvalInt i query answering bot instead of {?, NULL, &(alloc@sid:$SID)} (87-casts-dep-on-param.c:14:3-14:11) + < [Debug][Analyzer] Base EvalInt i query answering bot instead of {?, NULL, &(alloc@sid:$SID)} (87-casts-dep-on-param.c:13.7-13.15) + < [Debug][Analyzer] Base EvalInt i query answering bot instead of {?, NULL, &(alloc@sid:$SID)} (87-casts-dep-on-param.c:14.3-14.11) --- - > [Debug][Analyzer] Base EvalInt i query answering bot instead of {?, NULL, &(alloc@sid:$SID@tid:Top Threads(#top))} (87-casts-dep-on-param.c:13:7-13:15) - > [Debug][Analyzer] Base EvalInt i query answering bot instead of {?, NULL, &(alloc@sid:$SID@tid:Top Threads(#top))} (87-casts-dep-on-param.c:14:3-14:11) + > [Debug][Analyzer] Base EvalInt i query answering bot instead of {?, NULL, &(alloc@sid:$SID@tid:Top Threads(#top))} (87-casts-dep-on-param.c:13.7-13.15) + > [Debug][Analyzer] Base EvalInt i query answering bot instead of {?, NULL, &(alloc@sid:$SID@tid:Top Threads(#top))} (87-casts-dep-on-param.c:14.3-14.11) [1] diff --git a/tests/regression/04-mutex/01-simple_rc.t b/tests/regression/04-mutex/01-simple_rc.t index bd0bc0e161..bc1d227674 100644 --- a/tests/regression/04-mutex/01-simple_rc.t +++ b/tests/regression/04-mutex/01-simple_rc.t @@ -1,9 +1,9 @@ $ goblint --enable warn.deterministic 01-simple_rc.c 2>&1 | tee default-output.txt - [Warning][Race] Memory location myglobal (race with conf. 110): (01-simple_rc.c:4:5-4:13) - write with [lock:{mutex1}, thread:[main, t_fun@01-simple_rc.c:17:3-17:40]] (conf. 110) (exp: & myglobal) (01-simple_rc.c:10:3-10:22) - write with [mhp:{created={[main, t_fun@01-simple_rc.c:17:3-17:40]}}, lock:{mutex2}, thread:[main]] (conf. 110) (exp: & myglobal) (01-simple_rc.c:19:3-19:22) - read with [lock:{mutex1}, thread:[main, t_fun@01-simple_rc.c:17:3-17:40]] (conf. 110) (exp: & myglobal) (01-simple_rc.c:10:3-10:22) - read with [mhp:{created={[main, t_fun@01-simple_rc.c:17:3-17:40]}}, lock:{mutex2}, thread:[main]] (conf. 110) (exp: & myglobal) (01-simple_rc.c:19:3-19:22) + [Warning][Race] Memory location myglobal (race with conf. 110): (01-simple_rc.c:4.5-4.13) + write with [lock:{mutex1}, thread:[main, t_fun@01-simple_rc.c:17.3-17.40]] (conf. 110) (exp: & myglobal) (01-simple_rc.c:10.3-10.22) + write with [mhp:{created={[main, t_fun@01-simple_rc.c:17.3-17.40]}}, lock:{mutex2}, thread:[main]] (conf. 110) (exp: & myglobal) (01-simple_rc.c:19.3-19.22) + read with [lock:{mutex1}, thread:[main, t_fun@01-simple_rc.c:17.3-17.40]] (conf. 110) (exp: & myglobal) (01-simple_rc.c:10.3-10.22) + read with [mhp:{created={[main, t_fun@01-simple_rc.c:17.3-17.40]}}, lock:{mutex2}, thread:[main]] (conf. 110) (exp: & myglobal) (01-simple_rc.c:19.3-19.22) [Info][Race] Memory locations race summary: safe: 0 vulnerable: 0 @@ -18,13 +18,13 @@ $ diff default-output.txt full-output.txt 2,5c2,5 - < write with [lock:{mutex1}, thread:[main, t_fun@01-simple_rc.c:17:3-17:40]] (conf. 110) (exp: & myglobal) (01-simple_rc.c:10:3-10:22) - < write with [mhp:{created={[main, t_fun@01-simple_rc.c:17:3-17:40]}}, lock:{mutex2}, thread:[main]] (conf. 110) (exp: & myglobal) (01-simple_rc.c:19:3-19:22) - < read with [lock:{mutex1}, thread:[main, t_fun@01-simple_rc.c:17:3-17:40]] (conf. 110) (exp: & myglobal) (01-simple_rc.c:10:3-10:22) - < read with [mhp:{created={[main, t_fun@01-simple_rc.c:17:3-17:40]}}, lock:{mutex2}, thread:[main]] (conf. 110) (exp: & myglobal) (01-simple_rc.c:19:3-19:22) + < write with [lock:{mutex1}, thread:[main, t_fun@01-simple_rc.c:17.3-17.40]] (conf. 110) (exp: & myglobal) (01-simple_rc.c:10.3-10.22) + < write with [mhp:{created={[main, t_fun@01-simple_rc.c:17.3-17.40]}}, lock:{mutex2}, thread:[main]] (conf. 110) (exp: & myglobal) (01-simple_rc.c:19.3-19.22) + < read with [lock:{mutex1}, thread:[main, t_fun@01-simple_rc.c:17.3-17.40]] (conf. 110) (exp: & myglobal) (01-simple_rc.c:10.3-10.22) + < read with [mhp:{created={[main, t_fun@01-simple_rc.c:17.3-17.40]}}, lock:{mutex2}, thread:[main]] (conf. 110) (exp: & myglobal) (01-simple_rc.c:19.3-19.22) --- - > write with [mhp:{tid=[main, t_fun@01-simple_rc.c:17:3-17:40#⊤]}, lock:{mutex1}, thread:[main, t_fun@01-simple_rc.c:17:3-17:40#⊤]] (conf. 110) (exp: & myglobal) (01-simple_rc.c:10:3-10:22) - > write with [mhp:{tid=[main]; created={[main, t_fun@01-simple_rc.c:17:3-17:40#⊤]}}, lock:{mutex2}, thread:[main]] (conf. 110) (exp: & myglobal) (01-simple_rc.c:19:3-19:22) - > read with [mhp:{tid=[main, t_fun@01-simple_rc.c:17:3-17:40#⊤]}, lock:{mutex1}, thread:[main, t_fun@01-simple_rc.c:17:3-17:40#⊤]] (conf. 110) (exp: & myglobal) (01-simple_rc.c:10:3-10:22) - > read with [mhp:{tid=[main]; created={[main, t_fun@01-simple_rc.c:17:3-17:40#⊤]}}, lock:{mutex2}, thread:[main]] (conf. 110) (exp: & myglobal) (01-simple_rc.c:19:3-19:22) + > write with [mhp:{tid=[main, t_fun@01-simple_rc.c:17.3-17.40#⊤]}, lock:{mutex1}, thread:[main, t_fun@01-simple_rc.c:17.3-17.40#⊤]] (conf. 110) (exp: & myglobal) (01-simple_rc.c:10.3-10.22) + > write with [mhp:{tid=[main]; created={[main, t_fun@01-simple_rc.c:17.3-17.40#⊤]}}, lock:{mutex2}, thread:[main]] (conf. 110) (exp: & myglobal) (01-simple_rc.c:19.3-19.22) + > read with [mhp:{tid=[main, t_fun@01-simple_rc.c:17.3-17.40#⊤]}, lock:{mutex1}, thread:[main, t_fun@01-simple_rc.c:17.3-17.40#⊤]] (conf. 110) (exp: & myglobal) (01-simple_rc.c:10.3-10.22) + > read with [mhp:{tid=[main]; created={[main, t_fun@01-simple_rc.c:17.3-17.40#⊤]}}, lock:{mutex2}, thread:[main]] (conf. 110) (exp: & myglobal) (01-simple_rc.c:19.3-19.22) [1] diff --git a/tests/regression/04-mutex/49-type-invariants.t b/tests/regression/04-mutex/49-type-invariants.t index d757519b29..84007928af 100644 --- a/tests/regression/04-mutex/49-type-invariants.t +++ b/tests/regression/04-mutex/49-type-invariants.t @@ -1,75 +1,75 @@ $ goblint --enable warn.deterministic --enable ana.race.direct-arithmetic --enable allglobs 49-type-invariants.c 2>&1 | tee default-output-1.txt - [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (49-type-invariants.c:21:3-21:21) - [Warning][Race] Memory location s.field (race with conf. 110): (49-type-invariants.c:8:10-8:11) - write with [mhp:{created={[main, t_fun@49-type-invariants.c:20:3-20:40]}}, thread:[main]] (conf. 100) (exp: & tmp->field) (49-type-invariants.c:21:3-21:21) - read with thread:[main, t_fun@49-type-invariants.c:20:3-20:40] (conf. 110) (exp: & s.field) (49-type-invariants.c:11:3-11:23) + [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (49-type-invariants.c:21.3-21.21) + [Warning][Race] Memory location s.field (race with conf. 110): (49-type-invariants.c:8.10-8.11) + write with [mhp:{created={[main, t_fun@49-type-invariants.c:20.3-20.40]}}, thread:[main]] (conf. 100) (exp: & tmp->field) (49-type-invariants.c:21.3-21.21) + read with thread:[main, t_fun@49-type-invariants.c:20.3-20.40] (conf. 110) (exp: & s.field) (49-type-invariants.c:11.3-11.23) [Info][Race] Memory locations race summary: safe: 1 vulnerable: 0 unsafe: 1 total memory locations: 2 [Success][Race] Memory location (struct S).field (safe): - write with [mhp:{created={[main, t_fun@49-type-invariants.c:20:3-20:40]}}, thread:[main]] (conf. 100) (exp: & tmp->field) (49-type-invariants.c:21:3-21:21) + write with [mhp:{created={[main, t_fun@49-type-invariants.c:20.3-20.40]}}, thread:[main]] (conf. 100) (exp: & tmp->field) (49-type-invariants.c:21.3-21.21) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 7 dead: 0 total lines: 7 - [Info][Unsound] Write to unknown address: privatization is unsound. (49-type-invariants.c:21:3-21:21) - [Info][Imprecise] INVALIDATING ALL GLOBALS! (49-type-invariants.c:21:3-21:21) - [Info][Imprecise] Invalidating expressions: & s (49-type-invariants.c:21:3-21:21) - [Info][Imprecise] Invalidating expressions: & tmp (49-type-invariants.c:21:3-21:21) - [Error][Imprecise][Unsound] Function definition missing for getS (49-type-invariants.c:21:3-21:21) + [Info][Unsound] Write to unknown address: privatization is unsound. (49-type-invariants.c:21.3-21.21) + [Info][Imprecise] INVALIDATING ALL GLOBALS! (49-type-invariants.c:21.3-21.21) + [Info][Imprecise] Invalidating expressions: & s (49-type-invariants.c:21.3-21.21) + [Info][Imprecise] Invalidating expressions: & tmp (49-type-invariants.c:21.3-21.21) + [Error][Imprecise][Unsound] Function definition missing for getS (49-type-invariants.c:21.3-21.21) [Error][Imprecise][Unsound] Function definition missing $ goblint --enable warn.deterministic --disable ana.race.direct-arithmetic --enable allglobs 49-type-invariants.c 2>&1 | tee default-output-2.txt - [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (49-type-invariants.c:21:3-21:21) - [Warning][Race] Memory location s.field (race with conf. 110): (49-type-invariants.c:8:10-8:11) - write with [mhp:{created={[main, t_fun@49-type-invariants.c:20:3-20:40]}}, thread:[main]] (conf. 100) (exp: & tmp->field) (49-type-invariants.c:21:3-21:21) - read with thread:[main, t_fun@49-type-invariants.c:20:3-20:40] (conf. 110) (exp: & s.field) (49-type-invariants.c:11:3-11:23) + [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (49-type-invariants.c:21.3-21.21) + [Warning][Race] Memory location s.field (race with conf. 110): (49-type-invariants.c:8.10-8.11) + write with [mhp:{created={[main, t_fun@49-type-invariants.c:20.3-20.40]}}, thread:[main]] (conf. 100) (exp: & tmp->field) (49-type-invariants.c:21.3-21.21) + read with thread:[main, t_fun@49-type-invariants.c:20.3-20.40] (conf. 110) (exp: & s.field) (49-type-invariants.c:11.3-11.23) [Info][Race] Memory locations race summary: safe: 1 vulnerable: 0 unsafe: 1 total memory locations: 2 [Success][Race] Memory location (struct S).field (safe): - write with [mhp:{created={[main, t_fun@49-type-invariants.c:20:3-20:40]}}, thread:[main]] (conf. 100) (exp: & tmp->field) (49-type-invariants.c:21:3-21:21) + write with [mhp:{created={[main, t_fun@49-type-invariants.c:20.3-20.40]}}, thread:[main]] (conf. 100) (exp: & tmp->field) (49-type-invariants.c:21.3-21.21) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 7 dead: 0 total lines: 7 - [Info][Unsound] Write to unknown address: privatization is unsound. (49-type-invariants.c:21:3-21:21) - [Info][Imprecise] INVALIDATING ALL GLOBALS! (49-type-invariants.c:21:3-21:21) - [Info][Imprecise] Invalidating expressions: & s (49-type-invariants.c:21:3-21:21) - [Info][Imprecise] Invalidating expressions: & tmp (49-type-invariants.c:21:3-21:21) - [Error][Imprecise][Unsound] Function definition missing for getS (49-type-invariants.c:21:3-21:21) + [Info][Unsound] Write to unknown address: privatization is unsound. (49-type-invariants.c:21.3-21.21) + [Info][Imprecise] INVALIDATING ALL GLOBALS! (49-type-invariants.c:21.3-21.21) + [Info][Imprecise] Invalidating expressions: & s (49-type-invariants.c:21.3-21.21) + [Info][Imprecise] Invalidating expressions: & tmp (49-type-invariants.c:21.3-21.21) + [Error][Imprecise][Unsound] Function definition missing for getS (49-type-invariants.c:21.3-21.21) [Error][Imprecise][Unsound] Function definition missing $ goblint --enable warn.deterministic --enable ana.race.direct-arithmetic --enable allglobs --enable dbg.full-output 49-type-invariants.c > full-output-1.txt 2>&1 $ diff default-output-1.txt full-output-1.txt 3,4c3,4 - < write with [mhp:{created={[main, t_fun@49-type-invariants.c:20:3-20:40]}}, thread:[main]] (conf. 100) (exp: & tmp->field) (49-type-invariants.c:21:3-21:21) - < read with thread:[main, t_fun@49-type-invariants.c:20:3-20:40] (conf. 110) (exp: & s.field) (49-type-invariants.c:11:3-11:23) + < write with [mhp:{created={[main, t_fun@49-type-invariants.c:20.3-20.40]}}, thread:[main]] (conf. 100) (exp: & tmp->field) (49-type-invariants.c:21.3-21.21) + < read with thread:[main, t_fun@49-type-invariants.c:20.3-20.40] (conf. 110) (exp: & s.field) (49-type-invariants.c:11.3-11.23) --- - > write with [mhp:{tid=[main]; created={[main, t_fun@49-type-invariants.c:20:3-20:40#⊤]}}, thread:[main]] (conf. 100) (exp: & tmp->field) (49-type-invariants.c:21:3-21:21) - > read with [mhp:{tid=[main, t_fun@49-type-invariants.c:20:3-20:40#⊤]}, thread:[main, t_fun@49-type-invariants.c:20:3-20:40#⊤]] (conf. 110) (exp: & s.field) (49-type-invariants.c:11:3-11:23) + > write with [mhp:{tid=[main]; created={[main, t_fun@49-type-invariants.c:20.3-20.40#⊤]}}, thread:[main]] (conf. 100) (exp: & tmp->field) (49-type-invariants.c:21.3-21.21) + > read with [mhp:{tid=[main, t_fun@49-type-invariants.c:20.3-20.40#⊤]}, thread:[main, t_fun@49-type-invariants.c:20.3-20.40#⊤]] (conf. 110) (exp: & s.field) (49-type-invariants.c:11.3-11.23) 11c11 - < write with [mhp:{created={[main, t_fun@49-type-invariants.c:20:3-20:40]}}, thread:[main]] (conf. 100) (exp: & tmp->field) (49-type-invariants.c:21:3-21:21) + < write with [mhp:{created={[main, t_fun@49-type-invariants.c:20.3-20.40]}}, thread:[main]] (conf. 100) (exp: & tmp->field) (49-type-invariants.c:21.3-21.21) --- - > write with [mhp:{tid=[main]; created={[main, t_fun@49-type-invariants.c:20:3-20:40#⊤]}}, thread:[main]] (conf. 100) (exp: & tmp->field) (49-type-invariants.c:21:3-21:21) + > write with [mhp:{tid=[main]; created={[main, t_fun@49-type-invariants.c:20.3-20.40#⊤]}}, thread:[main]] (conf. 100) (exp: & tmp->field) (49-type-invariants.c:21.3-21.21) [1] $ goblint --enable warn.deterministic --disable ana.race.direct-arithmetic --enable allglobs --enable dbg.full-output 49-type-invariants.c > full-output-2.txt 2>&1 $ diff default-output-2.txt full-output-2.txt 3,4c3,4 - < write with [mhp:{created={[main, t_fun@49-type-invariants.c:20:3-20:40]}}, thread:[main]] (conf. 100) (exp: & tmp->field) (49-type-invariants.c:21:3-21:21) - < read with thread:[main, t_fun@49-type-invariants.c:20:3-20:40] (conf. 110) (exp: & s.field) (49-type-invariants.c:11:3-11:23) + < write with [mhp:{created={[main, t_fun@49-type-invariants.c:20.3-20.40]}}, thread:[main]] (conf. 100) (exp: & tmp->field) (49-type-invariants.c:21.3-21.21) + < read with thread:[main, t_fun@49-type-invariants.c:20.3-20.40] (conf. 110) (exp: & s.field) (49-type-invariants.c:11.3-11.23) --- - > write with [mhp:{tid=[main]; created={[main, t_fun@49-type-invariants.c:20:3-20:40#⊤]}}, thread:[main]] (conf. 100) (exp: & tmp->field) (49-type-invariants.c:21:3-21:21) - > read with [mhp:{tid=[main, t_fun@49-type-invariants.c:20:3-20:40#⊤]}, thread:[main, t_fun@49-type-invariants.c:20:3-20:40#⊤]] (conf. 110) (exp: & s.field) (49-type-invariants.c:11:3-11:23) + > write with [mhp:{tid=[main]; created={[main, t_fun@49-type-invariants.c:20.3-20.40#⊤]}}, thread:[main]] (conf. 100) (exp: & tmp->field) (49-type-invariants.c:21.3-21.21) + > read with [mhp:{tid=[main, t_fun@49-type-invariants.c:20.3-20.40#⊤]}, thread:[main, t_fun@49-type-invariants.c:20.3-20.40#⊤]] (conf. 110) (exp: & s.field) (49-type-invariants.c:11.3-11.23) 11c11 - < write with [mhp:{created={[main, t_fun@49-type-invariants.c:20:3-20:40]}}, thread:[main]] (conf. 100) (exp: & tmp->field) (49-type-invariants.c:21:3-21:21) + < write with [mhp:{created={[main, t_fun@49-type-invariants.c:20.3-20.40]}}, thread:[main]] (conf. 100) (exp: & tmp->field) (49-type-invariants.c:21.3-21.21) --- - > write with [mhp:{tid=[main]; created={[main, t_fun@49-type-invariants.c:20:3-20:40#⊤]}}, thread:[main]] (conf. 100) (exp: & tmp->field) (49-type-invariants.c:21:3-21:21) + > write with [mhp:{tid=[main]; created={[main, t_fun@49-type-invariants.c:20.3-20.40#⊤]}}, thread:[main]] (conf. 100) (exp: & tmp->field) (49-type-invariants.c:21.3-21.21) [1] diff --git a/tests/regression/04-mutex/77-type-nested-fields.t b/tests/regression/04-mutex/77-type-nested-fields.t index 15559cefec..5d2afcaec1 100644 --- a/tests/regression/04-mutex/77-type-nested-fields.t +++ b/tests/regression/04-mutex/77-type-nested-fields.t @@ -1,41 +1,41 @@ $ goblint --enable warn.deterministic --enable allglobs 77-type-nested-fields.c 2>&1 | tee default-output.txt - [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (77-type-nested-fields.c:31:3-31:20) - [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (77-type-nested-fields.c:38:3-38:22) + [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (77-type-nested-fields.c:31.3-31.20) + [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (77-type-nested-fields.c:38.3-38.22) [Warning][Race] Memory location (struct T).s.field (race with conf. 100): - write with thread:[main, t_fun@77-type-nested-fields.c:37:3-37:40] (conf. 100) (exp: & tmp->field) (77-type-nested-fields.c:31:3-31:20) - write with [mhp:{created={[main, t_fun@77-type-nested-fields.c:37:3-37:40]}}, thread:[main]] (conf. 100) (exp: & tmp->s.field) (77-type-nested-fields.c:38:3-38:22) + write with thread:[main, t_fun@77-type-nested-fields.c:37.3-37.40] (conf. 100) (exp: & tmp->field) (77-type-nested-fields.c:31.3-31.20) + write with [mhp:{created={[main, t_fun@77-type-nested-fields.c:37.3-37.40]}}, thread:[main]] (conf. 100) (exp: & tmp->s.field) (77-type-nested-fields.c:38.3-38.22) [Info][Race] Memory locations race summary: safe: 1 vulnerable: 0 unsafe: 1 total memory locations: 2 [Success][Race] Memory location (struct S).field (safe): - write with thread:[main, t_fun@77-type-nested-fields.c:37:3-37:40] (conf. 100) (exp: & tmp->field) (77-type-nested-fields.c:31:3-31:20) + write with thread:[main, t_fun@77-type-nested-fields.c:37.3-37.40] (conf. 100) (exp: & tmp->field) (77-type-nested-fields.c:31.3-31.20) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 7 dead: 0 total lines: 7 - [Info][Unsound] Write to unknown address: privatization is unsound. (77-type-nested-fields.c:31:3-31:20) - [Info][Unsound] Write to unknown address: privatization is unsound. (77-type-nested-fields.c:38:3-38:22) - [Info][Imprecise] INVALIDATING ALL GLOBALS! (77-type-nested-fields.c:31:3-31:20) - [Info][Imprecise] Invalidating expressions: & tmp (77-type-nested-fields.c:31:3-31:20) - [Info][Imprecise] INVALIDATING ALL GLOBALS! (77-type-nested-fields.c:38:3-38:22) - [Info][Imprecise] Invalidating expressions: & tmp (77-type-nested-fields.c:38:3-38:22) - [Error][Imprecise][Unsound] Function definition missing for getS (77-type-nested-fields.c:31:3-31:20) - [Error][Imprecise][Unsound] Function definition missing for getT (77-type-nested-fields.c:38:3-38:22) + [Info][Unsound] Write to unknown address: privatization is unsound. (77-type-nested-fields.c:31.3-31.20) + [Info][Unsound] Write to unknown address: privatization is unsound. (77-type-nested-fields.c:38.3-38.22) + [Info][Imprecise] INVALIDATING ALL GLOBALS! (77-type-nested-fields.c:31.3-31.20) + [Info][Imprecise] Invalidating expressions: & tmp (77-type-nested-fields.c:31.3-31.20) + [Info][Imprecise] INVALIDATING ALL GLOBALS! (77-type-nested-fields.c:38.3-38.22) + [Info][Imprecise] Invalidating expressions: & tmp (77-type-nested-fields.c:38.3-38.22) + [Error][Imprecise][Unsound] Function definition missing for getS (77-type-nested-fields.c:31.3-31.20) + [Error][Imprecise][Unsound] Function definition missing for getT (77-type-nested-fields.c:38.3-38.22) [Error][Imprecise][Unsound] Function definition missing $ goblint --enable warn.deterministic --enable allglobs --enable dbg.full-output 77-type-nested-fields.c > full-output.txt 2>&1 $ diff default-output.txt full-output.txt 4,5c4,5 - < write with thread:[main, t_fun@77-type-nested-fields.c:37:3-37:40] (conf. 100) (exp: & tmp->field) (77-type-nested-fields.c:31:3-31:20) - < write with [mhp:{created={[main, t_fun@77-type-nested-fields.c:37:3-37:40]}}, thread:[main]] (conf. 100) (exp: & tmp->s.field) (77-type-nested-fields.c:38:3-38:22) + < write with thread:[main, t_fun@77-type-nested-fields.c:37.3-37.40] (conf. 100) (exp: & tmp->field) (77-type-nested-fields.c:31.3-31.20) + < write with [mhp:{created={[main, t_fun@77-type-nested-fields.c:37.3-37.40]}}, thread:[main]] (conf. 100) (exp: & tmp->s.field) (77-type-nested-fields.c:38.3-38.22) --- - > write with [mhp:{tid=[main, t_fun@77-type-nested-fields.c:37:3-37:40#⊤]}, thread:[main, t_fun@77-type-nested-fields.c:37:3-37:40#⊤]] (conf. 100) (exp: & tmp->field) (77-type-nested-fields.c:31:3-31:20) - > write with [mhp:{tid=[main]; created={[main, t_fun@77-type-nested-fields.c:37:3-37:40#⊤]}}, thread:[main]] (conf. 100) (exp: & tmp->s.field) (77-type-nested-fields.c:38:3-38:22) + > write with [mhp:{tid=[main, t_fun@77-type-nested-fields.c:37.3-37.40#⊤]}, thread:[main, t_fun@77-type-nested-fields.c:37.3-37.40#⊤]] (conf. 100) (exp: & tmp->field) (77-type-nested-fields.c:31.3-31.20) + > write with [mhp:{tid=[main]; created={[main, t_fun@77-type-nested-fields.c:37.3-37.40#⊤]}}, thread:[main]] (conf. 100) (exp: & tmp->s.field) (77-type-nested-fields.c:38.3-38.22) 12c12 - < write with thread:[main, t_fun@77-type-nested-fields.c:37:3-37:40] (conf. 100) (exp: & tmp->field) (77-type-nested-fields.c:31:3-31:20) + < write with thread:[main, t_fun@77-type-nested-fields.c:37.3-37.40] (conf. 100) (exp: & tmp->field) (77-type-nested-fields.c:31.3-31.20) --- - > write with [mhp:{tid=[main, t_fun@77-type-nested-fields.c:37:3-37:40#⊤]}, thread:[main, t_fun@77-type-nested-fields.c:37:3-37:40#⊤]] (conf. 100) (exp: & tmp->field) (77-type-nested-fields.c:31:3-31:20) + > write with [mhp:{tid=[main, t_fun@77-type-nested-fields.c:37.3-37.40#⊤]}, thread:[main, t_fun@77-type-nested-fields.c:37.3-37.40#⊤]] (conf. 100) (exp: & tmp->field) (77-type-nested-fields.c:31.3-31.20) [1] diff --git a/tests/regression/04-mutex/79-type-nested-fields-deep1.t b/tests/regression/04-mutex/79-type-nested-fields-deep1.t index 680200aecd..275bdbdcd5 100644 --- a/tests/regression/04-mutex/79-type-nested-fields-deep1.t +++ b/tests/regression/04-mutex/79-type-nested-fields-deep1.t @@ -1,41 +1,41 @@ $ goblint --enable warn.deterministic --enable allglobs 79-type-nested-fields-deep1.c 2>&1 | tee default-output.txt - [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (79-type-nested-fields-deep1.c:36:3-36:20) - [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (79-type-nested-fields-deep1.c:43:3-43:24) + [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (79-type-nested-fields-deep1.c:36.3-36.20) + [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (79-type-nested-fields-deep1.c:43.3-43.24) [Warning][Race] Memory location (struct U).t.s.field (race with conf. 100): - write with thread:[main, t_fun@79-type-nested-fields-deep1.c:42:3-42:40] (conf. 100) (exp: & tmp->field) (79-type-nested-fields-deep1.c:36:3-36:20) - write with [mhp:{created={[main, t_fun@79-type-nested-fields-deep1.c:42:3-42:40]}}, thread:[main]] (conf. 100) (exp: & tmp->t.s.field) (79-type-nested-fields-deep1.c:43:3-43:24) + write with thread:[main, t_fun@79-type-nested-fields-deep1.c:42.3-42.40] (conf. 100) (exp: & tmp->field) (79-type-nested-fields-deep1.c:36.3-36.20) + write with [mhp:{created={[main, t_fun@79-type-nested-fields-deep1.c:42.3-42.40]}}, thread:[main]] (conf. 100) (exp: & tmp->t.s.field) (79-type-nested-fields-deep1.c:43.3-43.24) [Info][Race] Memory locations race summary: safe: 1 vulnerable: 0 unsafe: 1 total memory locations: 2 [Success][Race] Memory location (struct S).field (safe): - write with thread:[main, t_fun@79-type-nested-fields-deep1.c:42:3-42:40] (conf. 100) (exp: & tmp->field) (79-type-nested-fields-deep1.c:36:3-36:20) + write with thread:[main, t_fun@79-type-nested-fields-deep1.c:42.3-42.40] (conf. 100) (exp: & tmp->field) (79-type-nested-fields-deep1.c:36.3-36.20) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 7 dead: 0 total lines: 7 - [Info][Unsound] Write to unknown address: privatization is unsound. (79-type-nested-fields-deep1.c:36:3-36:20) - [Info][Unsound] Write to unknown address: privatization is unsound. (79-type-nested-fields-deep1.c:43:3-43:24) - [Info][Imprecise] INVALIDATING ALL GLOBALS! (79-type-nested-fields-deep1.c:36:3-36:20) - [Info][Imprecise] Invalidating expressions: & tmp (79-type-nested-fields-deep1.c:36:3-36:20) - [Info][Imprecise] INVALIDATING ALL GLOBALS! (79-type-nested-fields-deep1.c:43:3-43:24) - [Info][Imprecise] Invalidating expressions: & tmp (79-type-nested-fields-deep1.c:43:3-43:24) - [Error][Imprecise][Unsound] Function definition missing for getS (79-type-nested-fields-deep1.c:36:3-36:20) - [Error][Imprecise][Unsound] Function definition missing for getU (79-type-nested-fields-deep1.c:43:3-43:24) + [Info][Unsound] Write to unknown address: privatization is unsound. (79-type-nested-fields-deep1.c:36.3-36.20) + [Info][Unsound] Write to unknown address: privatization is unsound. (79-type-nested-fields-deep1.c:43.3-43.24) + [Info][Imprecise] INVALIDATING ALL GLOBALS! (79-type-nested-fields-deep1.c:36.3-36.20) + [Info][Imprecise] Invalidating expressions: & tmp (79-type-nested-fields-deep1.c:36.3-36.20) + [Info][Imprecise] INVALIDATING ALL GLOBALS! (79-type-nested-fields-deep1.c:43.3-43.24) + [Info][Imprecise] Invalidating expressions: & tmp (79-type-nested-fields-deep1.c:43.3-43.24) + [Error][Imprecise][Unsound] Function definition missing for getS (79-type-nested-fields-deep1.c:36.3-36.20) + [Error][Imprecise][Unsound] Function definition missing for getU (79-type-nested-fields-deep1.c:43.3-43.24) [Error][Imprecise][Unsound] Function definition missing $ goblint --enable warn.deterministic --enable allglobs --enable dbg.full-output 79-type-nested-fields-deep1.c > full-output.txt 2>&1 $ diff default-output.txt full-output.txt 4,5c4,5 - < write with thread:[main, t_fun@79-type-nested-fields-deep1.c:42:3-42:40] (conf. 100) (exp: & tmp->field) (79-type-nested-fields-deep1.c:36:3-36:20) - < write with [mhp:{created={[main, t_fun@79-type-nested-fields-deep1.c:42:3-42:40]}}, thread:[main]] (conf. 100) (exp: & tmp->t.s.field) (79-type-nested-fields-deep1.c:43:3-43:24) + < write with thread:[main, t_fun@79-type-nested-fields-deep1.c:42.3-42.40] (conf. 100) (exp: & tmp->field) (79-type-nested-fields-deep1.c:36.3-36.20) + < write with [mhp:{created={[main, t_fun@79-type-nested-fields-deep1.c:42.3-42.40]}}, thread:[main]] (conf. 100) (exp: & tmp->t.s.field) (79-type-nested-fields-deep1.c:43.3-43.24) --- - > write with [mhp:{tid=[main, t_fun@79-type-nested-fields-deep1.c:42:3-42:40#⊤]}, thread:[main, t_fun@79-type-nested-fields-deep1.c:42:3-42:40#⊤]] (conf. 100) (exp: & tmp->field) (79-type-nested-fields-deep1.c:36:3-36:20) - > write with [mhp:{tid=[main]; created={[main, t_fun@79-type-nested-fields-deep1.c:42:3-42:40#⊤]}}, thread:[main]] (conf. 100) (exp: & tmp->t.s.field) (79-type-nested-fields-deep1.c:43:3-43:24) + > write with [mhp:{tid=[main, t_fun@79-type-nested-fields-deep1.c:42.3-42.40#⊤]}, thread:[main, t_fun@79-type-nested-fields-deep1.c:42.3-42.40#⊤]] (conf. 100) (exp: & tmp->field) (79-type-nested-fields-deep1.c:36.3-36.20) + > write with [mhp:{tid=[main]; created={[main, t_fun@79-type-nested-fields-deep1.c:42.3-42.40#⊤]}}, thread:[main]] (conf. 100) (exp: & tmp->t.s.field) (79-type-nested-fields-deep1.c:43.3-43.24) 12c12 - < write with thread:[main, t_fun@79-type-nested-fields-deep1.c:42:3-42:40] (conf. 100) (exp: & tmp->field) (79-type-nested-fields-deep1.c:36:3-36:20) + < write with thread:[main, t_fun@79-type-nested-fields-deep1.c:42.3-42.40] (conf. 100) (exp: & tmp->field) (79-type-nested-fields-deep1.c:36.3-36.20) --- - > write with [mhp:{tid=[main, t_fun@79-type-nested-fields-deep1.c:42:3-42:40#⊤]}, thread:[main, t_fun@79-type-nested-fields-deep1.c:42:3-42:40#⊤]] (conf. 100) (exp: & tmp->field) (79-type-nested-fields-deep1.c:36:3-36:20) + > write with [mhp:{tid=[main, t_fun@79-type-nested-fields-deep1.c:42.3-42.40#⊤]}, thread:[main, t_fun@79-type-nested-fields-deep1.c:42.3-42.40#⊤]] (conf. 100) (exp: & tmp->field) (79-type-nested-fields-deep1.c:36.3-36.20) [1] diff --git a/tests/regression/04-mutex/80-type-nested-fields-deep2.t b/tests/regression/04-mutex/80-type-nested-fields-deep2.t index 4a2811ccbd..63350b4b51 100644 --- a/tests/regression/04-mutex/80-type-nested-fields-deep2.t +++ b/tests/regression/04-mutex/80-type-nested-fields-deep2.t @@ -1,41 +1,41 @@ $ goblint --enable warn.deterministic --enable allglobs 80-type-nested-fields-deep2.c 2>&1 | tee default-output.txt - [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (80-type-nested-fields-deep2.c:36:3-36:22) - [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (80-type-nested-fields-deep2.c:43:3-43:24) + [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (80-type-nested-fields-deep2.c:36.3-36.22) + [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (80-type-nested-fields-deep2.c:43.3-43.24) [Warning][Race] Memory location (struct U).t.s.field (race with conf. 100): - write with thread:[main, t_fun@80-type-nested-fields-deep2.c:42:3-42:40] (conf. 100) (exp: & tmp->s.field) (80-type-nested-fields-deep2.c:36:3-36:22) - write with [mhp:{created={[main, t_fun@80-type-nested-fields-deep2.c:42:3-42:40]}}, thread:[main]] (conf. 100) (exp: & tmp->t.s.field) (80-type-nested-fields-deep2.c:43:3-43:24) + write with thread:[main, t_fun@80-type-nested-fields-deep2.c:42.3-42.40] (conf. 100) (exp: & tmp->s.field) (80-type-nested-fields-deep2.c:36.3-36.22) + write with [mhp:{created={[main, t_fun@80-type-nested-fields-deep2.c:42.3-42.40]}}, thread:[main]] (conf. 100) (exp: & tmp->t.s.field) (80-type-nested-fields-deep2.c:43.3-43.24) [Info][Race] Memory locations race summary: safe: 1 vulnerable: 0 unsafe: 1 total memory locations: 2 [Success][Race] Memory location (struct T).s.field (safe): - write with thread:[main, t_fun@80-type-nested-fields-deep2.c:42:3-42:40] (conf. 100) (exp: & tmp->s.field) (80-type-nested-fields-deep2.c:36:3-36:22) + write with thread:[main, t_fun@80-type-nested-fields-deep2.c:42.3-42.40] (conf. 100) (exp: & tmp->s.field) (80-type-nested-fields-deep2.c:36.3-36.22) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 7 dead: 0 total lines: 7 - [Info][Unsound] Write to unknown address: privatization is unsound. (80-type-nested-fields-deep2.c:36:3-36:22) - [Info][Unsound] Write to unknown address: privatization is unsound. (80-type-nested-fields-deep2.c:43:3-43:24) - [Info][Imprecise] INVALIDATING ALL GLOBALS! (80-type-nested-fields-deep2.c:36:3-36:22) - [Info][Imprecise] Invalidating expressions: & tmp (80-type-nested-fields-deep2.c:36:3-36:22) - [Info][Imprecise] INVALIDATING ALL GLOBALS! (80-type-nested-fields-deep2.c:43:3-43:24) - [Info][Imprecise] Invalidating expressions: & tmp (80-type-nested-fields-deep2.c:43:3-43:24) - [Error][Imprecise][Unsound] Function definition missing for getT (80-type-nested-fields-deep2.c:36:3-36:22) - [Error][Imprecise][Unsound] Function definition missing for getU (80-type-nested-fields-deep2.c:43:3-43:24) + [Info][Unsound] Write to unknown address: privatization is unsound. (80-type-nested-fields-deep2.c:36.3-36.22) + [Info][Unsound] Write to unknown address: privatization is unsound. (80-type-nested-fields-deep2.c:43.3-43.24) + [Info][Imprecise] INVALIDATING ALL GLOBALS! (80-type-nested-fields-deep2.c:36.3-36.22) + [Info][Imprecise] Invalidating expressions: & tmp (80-type-nested-fields-deep2.c:36.3-36.22) + [Info][Imprecise] INVALIDATING ALL GLOBALS! (80-type-nested-fields-deep2.c:43.3-43.24) + [Info][Imprecise] Invalidating expressions: & tmp (80-type-nested-fields-deep2.c:43.3-43.24) + [Error][Imprecise][Unsound] Function definition missing for getT (80-type-nested-fields-deep2.c:36.3-36.22) + [Error][Imprecise][Unsound] Function definition missing for getU (80-type-nested-fields-deep2.c:43.3-43.24) [Error][Imprecise][Unsound] Function definition missing $ goblint --enable warn.deterministic --enable allglobs --enable dbg.full-output 80-type-nested-fields-deep2.c > full-output.txt 2>&1 $ diff default-output.txt full-output.txt 4,5c4,5 - < write with thread:[main, t_fun@80-type-nested-fields-deep2.c:42:3-42:40] (conf. 100) (exp: & tmp->s.field) (80-type-nested-fields-deep2.c:36:3-36:22) - < write with [mhp:{created={[main, t_fun@80-type-nested-fields-deep2.c:42:3-42:40]}}, thread:[main]] (conf. 100) (exp: & tmp->t.s.field) (80-type-nested-fields-deep2.c:43:3-43:24) + < write with thread:[main, t_fun@80-type-nested-fields-deep2.c:42.3-42.40] (conf. 100) (exp: & tmp->s.field) (80-type-nested-fields-deep2.c:36.3-36.22) + < write with [mhp:{created={[main, t_fun@80-type-nested-fields-deep2.c:42.3-42.40]}}, thread:[main]] (conf. 100) (exp: & tmp->t.s.field) (80-type-nested-fields-deep2.c:43.3-43.24) --- - > write with [mhp:{tid=[main, t_fun@80-type-nested-fields-deep2.c:42:3-42:40#⊤]}, thread:[main, t_fun@80-type-nested-fields-deep2.c:42:3-42:40#⊤]] (conf. 100) (exp: & tmp->s.field) (80-type-nested-fields-deep2.c:36:3-36:22) - > write with [mhp:{tid=[main]; created={[main, t_fun@80-type-nested-fields-deep2.c:42:3-42:40#⊤]}}, thread:[main]] (conf. 100) (exp: & tmp->t.s.field) (80-type-nested-fields-deep2.c:43:3-43:24) + > write with [mhp:{tid=[main, t_fun@80-type-nested-fields-deep2.c:42.3-42.40#⊤]}, thread:[main, t_fun@80-type-nested-fields-deep2.c:42.3-42.40#⊤]] (conf. 100) (exp: & tmp->s.field) (80-type-nested-fields-deep2.c:36.3-36.22) + > write with [mhp:{tid=[main]; created={[main, t_fun@80-type-nested-fields-deep2.c:42.3-42.40#⊤]}}, thread:[main]] (conf. 100) (exp: & tmp->t.s.field) (80-type-nested-fields-deep2.c:43.3-43.24) 12c12 - < write with thread:[main, t_fun@80-type-nested-fields-deep2.c:42:3-42:40] (conf. 100) (exp: & tmp->s.field) (80-type-nested-fields-deep2.c:36:3-36:22) + < write with thread:[main, t_fun@80-type-nested-fields-deep2.c:42.3-42.40] (conf. 100) (exp: & tmp->s.field) (80-type-nested-fields-deep2.c:36.3-36.22) --- - > write with [mhp:{tid=[main, t_fun@80-type-nested-fields-deep2.c:42:3-42:40#⊤]}, thread:[main, t_fun@80-type-nested-fields-deep2.c:42:3-42:40#⊤]] (conf. 100) (exp: & tmp->s.field) (80-type-nested-fields-deep2.c:36:3-36:22) + > write with [mhp:{tid=[main, t_fun@80-type-nested-fields-deep2.c:42.3-42.40#⊤]}, thread:[main, t_fun@80-type-nested-fields-deep2.c:42.3-42.40#⊤]] (conf. 100) (exp: & tmp->s.field) (80-type-nested-fields-deep2.c:36.3-36.22) [1] diff --git a/tests/regression/04-mutex/84-distribute-fields-1.t b/tests/regression/04-mutex/84-distribute-fields-1.t index 0fd55dcb53..cc919c0f65 100644 --- a/tests/regression/04-mutex/84-distribute-fields-1.t +++ b/tests/regression/04-mutex/84-distribute-fields-1.t @@ -1,14 +1,14 @@ $ goblint --enable warn.deterministic --enable allglobs 84-distribute-fields-1.c 2>&1 | tee default-output.txt - [Warning][Race] Memory location s.data (race with conf. 110): (84-distribute-fields-1.c:9:10-9:11) - write with thread:[main, t_fun@84-distribute-fields-1.c:18:3-18:40] (conf. 110) (exp: & s.data) (84-distribute-fields-1.c:12:3-12:13) - write with [mhp:{created={[main, t_fun@84-distribute-fields-1.c:18:3-18:40]}}, thread:[main]] (conf. 110) (exp: & s) (84-distribute-fields-1.c:20:3-20:9) + [Warning][Race] Memory location s.data (race with conf. 110): (84-distribute-fields-1.c:9.10-9.11) + write with thread:[main, t_fun@84-distribute-fields-1.c:18.3-18.40] (conf. 110) (exp: & s.data) (84-distribute-fields-1.c:12.3-12.13) + write with [mhp:{created={[main, t_fun@84-distribute-fields-1.c:18.3-18.40]}}, thread:[main]] (conf. 110) (exp: & s) (84-distribute-fields-1.c:20.3-20.9) [Info][Race] Memory locations race summary: safe: 1 vulnerable: 0 unsafe: 1 total memory locations: 2 - [Success][Race] Memory location s (safe): (84-distribute-fields-1.c:9:10-9:11) - write with [mhp:{created={[main, t_fun@84-distribute-fields-1.c:18:3-18:40]}}, thread:[main]] (conf. 110) (exp: & s) (84-distribute-fields-1.c:20:3-20:9) + [Success][Race] Memory location s (safe): (84-distribute-fields-1.c:9.10-9.11) + write with [mhp:{created={[main, t_fun@84-distribute-fields-1.c:18.3-18.40]}}, thread:[main]] (conf. 110) (exp: & s) (84-distribute-fields-1.c:20.3-20.9) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 8 dead: 0 @@ -18,13 +18,13 @@ $ diff default-output.txt full-output.txt 2,3c2,3 - < write with thread:[main, t_fun@84-distribute-fields-1.c:18:3-18:40] (conf. 110) (exp: & s.data) (84-distribute-fields-1.c:12:3-12:13) - < write with [mhp:{created={[main, t_fun@84-distribute-fields-1.c:18:3-18:40]}}, thread:[main]] (conf. 110) (exp: & s) (84-distribute-fields-1.c:20:3-20:9) + < write with thread:[main, t_fun@84-distribute-fields-1.c:18.3-18.40] (conf. 110) (exp: & s.data) (84-distribute-fields-1.c:12.3-12.13) + < write with [mhp:{created={[main, t_fun@84-distribute-fields-1.c:18.3-18.40]}}, thread:[main]] (conf. 110) (exp: & s) (84-distribute-fields-1.c:20.3-20.9) --- - > write with [mhp:{tid=[main, t_fun@84-distribute-fields-1.c:18:3-18:40#⊤]}, thread:[main, t_fun@84-distribute-fields-1.c:18:3-18:40#⊤]] (conf. 110) (exp: & s.data) (84-distribute-fields-1.c:12:3-12:13) - > write with [mhp:{tid=[main]; created={[main, t_fun@84-distribute-fields-1.c:18:3-18:40#⊤]}}, thread:[main]] (conf. 110) (exp: & s) (84-distribute-fields-1.c:20:3-20:9) + > write with [mhp:{tid=[main, t_fun@84-distribute-fields-1.c:18.3-18.40#⊤]}, thread:[main, t_fun@84-distribute-fields-1.c:18.3-18.40#⊤]] (conf. 110) (exp: & s.data) (84-distribute-fields-1.c:12.3-12.13) + > write with [mhp:{tid=[main]; created={[main, t_fun@84-distribute-fields-1.c:18.3-18.40#⊤]}}, thread:[main]] (conf. 110) (exp: & s) (84-distribute-fields-1.c:20.3-20.9) 10c10 - < write with [mhp:{created={[main, t_fun@84-distribute-fields-1.c:18:3-18:40]}}, thread:[main]] (conf. 110) (exp: & s) (84-distribute-fields-1.c:20:3-20:9) + < write with [mhp:{created={[main, t_fun@84-distribute-fields-1.c:18.3-18.40]}}, thread:[main]] (conf. 110) (exp: & s) (84-distribute-fields-1.c:20.3-20.9) --- - > write with [mhp:{tid=[main]; created={[main, t_fun@84-distribute-fields-1.c:18:3-18:40#⊤]}}, thread:[main]] (conf. 110) (exp: & s) (84-distribute-fields-1.c:20:3-20:9) + > write with [mhp:{tid=[main]; created={[main, t_fun@84-distribute-fields-1.c:18.3-18.40#⊤]}}, thread:[main]] (conf. 110) (exp: & s) (84-distribute-fields-1.c:20.3-20.9) [1] diff --git a/tests/regression/04-mutex/85-distribute-fields-2.t b/tests/regression/04-mutex/85-distribute-fields-2.t index 7f8fb7c942..3d351634f9 100644 --- a/tests/regression/04-mutex/85-distribute-fields-2.t +++ b/tests/regression/04-mutex/85-distribute-fields-2.t @@ -1,14 +1,14 @@ $ goblint --enable warn.deterministic --enable allglobs 85-distribute-fields-2.c 2>&1 | tee default-output.txt - [Warning][Race] Memory location t.s.data (race with conf. 110): (85-distribute-fields-2.c:15:10-15:11) - write with thread:[main, t_fun@85-distribute-fields-2.c:24:3-24:40] (conf. 110) (exp: & t.s.data) (85-distribute-fields-2.c:18:3-18:15) - write with [mhp:{created={[main, t_fun@85-distribute-fields-2.c:24:3-24:40]}}, thread:[main]] (conf. 110) (exp: & t.s) (85-distribute-fields-2.c:26:3-26:11) + [Warning][Race] Memory location t.s.data (race with conf. 110): (85-distribute-fields-2.c:15.10-15.11) + write with thread:[main, t_fun@85-distribute-fields-2.c:24.3-24.40] (conf. 110) (exp: & t.s.data) (85-distribute-fields-2.c:18.3-18.15) + write with [mhp:{created={[main, t_fun@85-distribute-fields-2.c:24.3-24.40]}}, thread:[main]] (conf. 110) (exp: & t.s) (85-distribute-fields-2.c:26.3-26.11) [Info][Race] Memory locations race summary: safe: 1 vulnerable: 0 unsafe: 1 total memory locations: 2 - [Success][Race] Memory location t.s (safe): (85-distribute-fields-2.c:15:10-15:11) - write with [mhp:{created={[main, t_fun@85-distribute-fields-2.c:24:3-24:40]}}, thread:[main]] (conf. 110) (exp: & t.s) (85-distribute-fields-2.c:26:3-26:11) + [Success][Race] Memory location t.s (safe): (85-distribute-fields-2.c:15.10-15.11) + write with [mhp:{created={[main, t_fun@85-distribute-fields-2.c:24.3-24.40]}}, thread:[main]] (conf. 110) (exp: & t.s) (85-distribute-fields-2.c:26.3-26.11) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 8 dead: 0 @@ -18,13 +18,13 @@ $ diff default-output.txt full-output.txt 2,3c2,3 - < write with thread:[main, t_fun@85-distribute-fields-2.c:24:3-24:40] (conf. 110) (exp: & t.s.data) (85-distribute-fields-2.c:18:3-18:15) - < write with [mhp:{created={[main, t_fun@85-distribute-fields-2.c:24:3-24:40]}}, thread:[main]] (conf. 110) (exp: & t.s) (85-distribute-fields-2.c:26:3-26:11) + < write with thread:[main, t_fun@85-distribute-fields-2.c:24.3-24.40] (conf. 110) (exp: & t.s.data) (85-distribute-fields-2.c:18.3-18.15) + < write with [mhp:{created={[main, t_fun@85-distribute-fields-2.c:24.3-24.40]}}, thread:[main]] (conf. 110) (exp: & t.s) (85-distribute-fields-2.c:26.3-26.11) --- - > write with [mhp:{tid=[main, t_fun@85-distribute-fields-2.c:24:3-24:40#⊤]}, thread:[main, t_fun@85-distribute-fields-2.c:24:3-24:40#⊤]] (conf. 110) (exp: & t.s.data) (85-distribute-fields-2.c:18:3-18:15) - > write with [mhp:{tid=[main]; created={[main, t_fun@85-distribute-fields-2.c:24:3-24:40#⊤]}}, thread:[main]] (conf. 110) (exp: & t.s) (85-distribute-fields-2.c:26:3-26:11) + > write with [mhp:{tid=[main, t_fun@85-distribute-fields-2.c:24.3-24.40#⊤]}, thread:[main, t_fun@85-distribute-fields-2.c:24.3-24.40#⊤]] (conf. 110) (exp: & t.s.data) (85-distribute-fields-2.c:18.3-18.15) + > write with [mhp:{tid=[main]; created={[main, t_fun@85-distribute-fields-2.c:24.3-24.40#⊤]}}, thread:[main]] (conf. 110) (exp: & t.s) (85-distribute-fields-2.c:26.3-26.11) 10c10 - < write with [mhp:{created={[main, t_fun@85-distribute-fields-2.c:24:3-24:40]}}, thread:[main]] (conf. 110) (exp: & t.s) (85-distribute-fields-2.c:26:3-26:11) + < write with [mhp:{created={[main, t_fun@85-distribute-fields-2.c:24.3-24.40]}}, thread:[main]] (conf. 110) (exp: & t.s) (85-distribute-fields-2.c:26.3-26.11) --- - > write with [mhp:{tid=[main]; created={[main, t_fun@85-distribute-fields-2.c:24:3-24:40#⊤]}}, thread:[main]] (conf. 110) (exp: & t.s) (85-distribute-fields-2.c:26:3-26:11) + > write with [mhp:{tid=[main]; created={[main, t_fun@85-distribute-fields-2.c:24.3-24.40#⊤]}}, thread:[main]] (conf. 110) (exp: & t.s) (85-distribute-fields-2.c:26.3-26.11) [1] diff --git a/tests/regression/04-mutex/86-distribute-fields-3.t b/tests/regression/04-mutex/86-distribute-fields-3.t index c5ebd6d28a..0f0f402ddd 100644 --- a/tests/regression/04-mutex/86-distribute-fields-3.t +++ b/tests/regression/04-mutex/86-distribute-fields-3.t @@ -1,14 +1,14 @@ $ goblint --enable warn.deterministic --enable allglobs 86-distribute-fields-3.c 2>&1 | tee default-output.txt - [Warning][Race] Memory location t.s.data (race with conf. 110): (86-distribute-fields-3.c:15:10-15:11) - write with thread:[main, t_fun@86-distribute-fields-3.c:24:3-24:40] (conf. 110) (exp: & t.s.data) (86-distribute-fields-3.c:18:3-18:15) - write with [mhp:{created={[main, t_fun@86-distribute-fields-3.c:24:3-24:40]}}, thread:[main]] (conf. 110) (exp: & t) (86-distribute-fields-3.c:26:3-26:9) + [Warning][Race] Memory location t.s.data (race with conf. 110): (86-distribute-fields-3.c:15.10-15.11) + write with thread:[main, t_fun@86-distribute-fields-3.c:24.3-24.40] (conf. 110) (exp: & t.s.data) (86-distribute-fields-3.c:18.3-18.15) + write with [mhp:{created={[main, t_fun@86-distribute-fields-3.c:24.3-24.40]}}, thread:[main]] (conf. 110) (exp: & t) (86-distribute-fields-3.c:26.3-26.9) [Info][Race] Memory locations race summary: safe: 1 vulnerable: 0 unsafe: 1 total memory locations: 2 - [Success][Race] Memory location t (safe): (86-distribute-fields-3.c:15:10-15:11) - write with [mhp:{created={[main, t_fun@86-distribute-fields-3.c:24:3-24:40]}}, thread:[main]] (conf. 110) (exp: & t) (86-distribute-fields-3.c:26:3-26:9) + [Success][Race] Memory location t (safe): (86-distribute-fields-3.c:15.10-15.11) + write with [mhp:{created={[main, t_fun@86-distribute-fields-3.c:24.3-24.40]}}, thread:[main]] (conf. 110) (exp: & t) (86-distribute-fields-3.c:26.3-26.9) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 8 dead: 0 @@ -18,13 +18,13 @@ $ diff default-output.txt full-output.txt 2,3c2,3 - < write with thread:[main, t_fun@86-distribute-fields-3.c:24:3-24:40] (conf. 110) (exp: & t.s.data) (86-distribute-fields-3.c:18:3-18:15) - < write with [mhp:{created={[main, t_fun@86-distribute-fields-3.c:24:3-24:40]}}, thread:[main]] (conf. 110) (exp: & t) (86-distribute-fields-3.c:26:3-26:9) + < write with thread:[main, t_fun@86-distribute-fields-3.c:24.3-24.40] (conf. 110) (exp: & t.s.data) (86-distribute-fields-3.c:18.3-18.15) + < write with [mhp:{created={[main, t_fun@86-distribute-fields-3.c:24.3-24.40]}}, thread:[main]] (conf. 110) (exp: & t) (86-distribute-fields-3.c:26.3-26.9) --- - > write with [mhp:{tid=[main, t_fun@86-distribute-fields-3.c:24:3-24:40#⊤]}, thread:[main, t_fun@86-distribute-fields-3.c:24:3-24:40#⊤]] (conf. 110) (exp: & t.s.data) (86-distribute-fields-3.c:18:3-18:15) - > write with [mhp:{tid=[main]; created={[main, t_fun@86-distribute-fields-3.c:24:3-24:40#⊤]}}, thread:[main]] (conf. 110) (exp: & t) (86-distribute-fields-3.c:26:3-26:9) + > write with [mhp:{tid=[main, t_fun@86-distribute-fields-3.c:24.3-24.40#⊤]}, thread:[main, t_fun@86-distribute-fields-3.c:24.3-24.40#⊤]] (conf. 110) (exp: & t.s.data) (86-distribute-fields-3.c:18.3-18.15) + > write with [mhp:{tid=[main]; created={[main, t_fun@86-distribute-fields-3.c:24.3-24.40#⊤]}}, thread:[main]] (conf. 110) (exp: & t) (86-distribute-fields-3.c:26.3-26.9) 10c10 - < write with [mhp:{created={[main, t_fun@86-distribute-fields-3.c:24:3-24:40]}}, thread:[main]] (conf. 110) (exp: & t) (86-distribute-fields-3.c:26:3-26:9) + < write with [mhp:{created={[main, t_fun@86-distribute-fields-3.c:24.3-24.40]}}, thread:[main]] (conf. 110) (exp: & t) (86-distribute-fields-3.c:26.3-26.9) --- - > write with [mhp:{tid=[main]; created={[main, t_fun@86-distribute-fields-3.c:24:3-24:40#⊤]}}, thread:[main]] (conf. 110) (exp: & t) (86-distribute-fields-3.c:26:3-26:9) + > write with [mhp:{tid=[main]; created={[main, t_fun@86-distribute-fields-3.c:24.3-24.40#⊤]}}, thread:[main]] (conf. 110) (exp: & t) (86-distribute-fields-3.c:26.3-26.9) [1] diff --git a/tests/regression/04-mutex/87-distribute-fields-4.t b/tests/regression/04-mutex/87-distribute-fields-4.t index 2d3dfb6b7c..ef6b9d6471 100644 --- a/tests/regression/04-mutex/87-distribute-fields-4.t +++ b/tests/regression/04-mutex/87-distribute-fields-4.t @@ -1,7 +1,7 @@ $ goblint --enable warn.deterministic --enable allglobs 87-distribute-fields-4.c 2>&1 | tee default-output.txt - [Warning][Race] Memory location s (race with conf. 110): (87-distribute-fields-4.c:9:10-9:11) - write with thread:[main, t_fun@87-distribute-fields-4.c:19:3-19:40] (conf. 110) (exp: & s) (87-distribute-fields-4.c:13:3-13:9) - write with [mhp:{created={[main, t_fun@87-distribute-fields-4.c:19:3-19:40]}}, thread:[main]] (conf. 110) (exp: & s) (87-distribute-fields-4.c:21:3-21:9) + [Warning][Race] Memory location s (race with conf. 110): (87-distribute-fields-4.c:9.10-9.11) + write with thread:[main, t_fun@87-distribute-fields-4.c:19.3-19.40] (conf. 110) (exp: & s) (87-distribute-fields-4.c:13.3-13.9) + write with [mhp:{created={[main, t_fun@87-distribute-fields-4.c:19.3-19.40]}}, thread:[main]] (conf. 110) (exp: & s) (87-distribute-fields-4.c:21.3-21.9) [Info][Race] Memory locations race summary: safe: 0 vulnerable: 0 @@ -16,9 +16,9 @@ $ diff default-output.txt full-output.txt 2,3c2,3 - < write with thread:[main, t_fun@87-distribute-fields-4.c:19:3-19:40] (conf. 110) (exp: & s) (87-distribute-fields-4.c:13:3-13:9) - < write with [mhp:{created={[main, t_fun@87-distribute-fields-4.c:19:3-19:40]}}, thread:[main]] (conf. 110) (exp: & s) (87-distribute-fields-4.c:21:3-21:9) + < write with thread:[main, t_fun@87-distribute-fields-4.c:19.3-19.40] (conf. 110) (exp: & s) (87-distribute-fields-4.c:13.3-13.9) + < write with [mhp:{created={[main, t_fun@87-distribute-fields-4.c:19.3-19.40]}}, thread:[main]] (conf. 110) (exp: & s) (87-distribute-fields-4.c:21.3-21.9) --- - > write with [mhp:{tid=[main, t_fun@87-distribute-fields-4.c:19:3-19:40#⊤]}, thread:[main, t_fun@87-distribute-fields-4.c:19:3-19:40#⊤]] (conf. 110) (exp: & s) (87-distribute-fields-4.c:13:3-13:9) - > write with [mhp:{tid=[main]; created={[main, t_fun@87-distribute-fields-4.c:19:3-19:40#⊤]}}, thread:[main]] (conf. 110) (exp: & s) (87-distribute-fields-4.c:21:3-21:9) + > write with [mhp:{tid=[main, t_fun@87-distribute-fields-4.c:19.3-19.40#⊤]}, thread:[main, t_fun@87-distribute-fields-4.c:19.3-19.40#⊤]] (conf. 110) (exp: & s) (87-distribute-fields-4.c:13.3-13.9) + > write with [mhp:{tid=[main]; created={[main, t_fun@87-distribute-fields-4.c:19.3-19.40#⊤]}}, thread:[main]] (conf. 110) (exp: & s) (87-distribute-fields-4.c:21.3-21.9) [1] diff --git a/tests/regression/04-mutex/88-distribute-fields-5.t b/tests/regression/04-mutex/88-distribute-fields-5.t index 0afdc729ef..adf70380d8 100644 --- a/tests/regression/04-mutex/88-distribute-fields-5.t +++ b/tests/regression/04-mutex/88-distribute-fields-5.t @@ -1,7 +1,7 @@ $ goblint --enable warn.deterministic --enable allglobs 88-distribute-fields-5.c 2>&1 | tee default-output.txt - [Warning][Race] Memory location t.s (race with conf. 110): (88-distribute-fields-5.c:15:10-15:11) - write with thread:[main, t_fun@88-distribute-fields-5.c:25:3-25:40] (conf. 110) (exp: & t.s) (88-distribute-fields-5.c:19:3-19:11) - write with [mhp:{created={[main, t_fun@88-distribute-fields-5.c:25:3-25:40]}}, thread:[main]] (conf. 110) (exp: & t.s) (88-distribute-fields-5.c:27:3-27:11) + [Warning][Race] Memory location t.s (race with conf. 110): (88-distribute-fields-5.c:15.10-15.11) + write with thread:[main, t_fun@88-distribute-fields-5.c:25.3-25.40] (conf. 110) (exp: & t.s) (88-distribute-fields-5.c:19.3-19.11) + write with [mhp:{created={[main, t_fun@88-distribute-fields-5.c:25.3-25.40]}}, thread:[main]] (conf. 110) (exp: & t.s) (88-distribute-fields-5.c:27.3-27.11) [Info][Race] Memory locations race summary: safe: 0 vulnerable: 0 @@ -16,9 +16,9 @@ $ diff default-output.txt full-output.txt 2,3c2,3 - < write with thread:[main, t_fun@88-distribute-fields-5.c:25:3-25:40] (conf. 110) (exp: & t.s) (88-distribute-fields-5.c:19:3-19:11) - < write with [mhp:{created={[main, t_fun@88-distribute-fields-5.c:25:3-25:40]}}, thread:[main]] (conf. 110) (exp: & t.s) (88-distribute-fields-5.c:27:3-27:11) + < write with thread:[main, t_fun@88-distribute-fields-5.c:25.3-25.40] (conf. 110) (exp: & t.s) (88-distribute-fields-5.c:19.3-19.11) + < write with [mhp:{created={[main, t_fun@88-distribute-fields-5.c:25.3-25.40]}}, thread:[main]] (conf. 110) (exp: & t.s) (88-distribute-fields-5.c:27.3-27.11) --- - > write with [mhp:{tid=[main, t_fun@88-distribute-fields-5.c:25:3-25:40#⊤]}, thread:[main, t_fun@88-distribute-fields-5.c:25:3-25:40#⊤]] (conf. 110) (exp: & t.s) (88-distribute-fields-5.c:19:3-19:11) - > write with [mhp:{tid=[main]; created={[main, t_fun@88-distribute-fields-5.c:25:3-25:40#⊤]}}, thread:[main]] (conf. 110) (exp: & t.s) (88-distribute-fields-5.c:27:3-27:11) + > write with [mhp:{tid=[main, t_fun@88-distribute-fields-5.c:25.3-25.40#⊤]}, thread:[main, t_fun@88-distribute-fields-5.c:25.3-25.40#⊤]] (conf. 110) (exp: & t.s) (88-distribute-fields-5.c:19.3-19.11) + > write with [mhp:{tid=[main]; created={[main, t_fun@88-distribute-fields-5.c:25.3-25.40#⊤]}}, thread:[main]] (conf. 110) (exp: & t.s) (88-distribute-fields-5.c:27.3-27.11) [1] diff --git a/tests/regression/04-mutex/89-distribute-fields-6.t b/tests/regression/04-mutex/89-distribute-fields-6.t index 20533099de..6b1791d23c 100644 --- a/tests/regression/04-mutex/89-distribute-fields-6.t +++ b/tests/regression/04-mutex/89-distribute-fields-6.t @@ -1,7 +1,7 @@ $ goblint --enable warn.deterministic --enable allglobs 89-distribute-fields-6.c 2>&1 | tee default-output.txt - [Warning][Race] Memory location t (race with conf. 110): (89-distribute-fields-6.c:15:10-15:11) - write with thread:[main, t_fun@89-distribute-fields-6.c:25:3-25:40] (conf. 110) (exp: & t) (89-distribute-fields-6.c:19:3-19:9) - write with [mhp:{created={[main, t_fun@89-distribute-fields-6.c:25:3-25:40]}}, thread:[main]] (conf. 110) (exp: & t) (89-distribute-fields-6.c:27:3-27:9) + [Warning][Race] Memory location t (race with conf. 110): (89-distribute-fields-6.c:15.10-15.11) + write with thread:[main, t_fun@89-distribute-fields-6.c:25.3-25.40] (conf. 110) (exp: & t) (89-distribute-fields-6.c:19.3-19.9) + write with [mhp:{created={[main, t_fun@89-distribute-fields-6.c:25.3-25.40]}}, thread:[main]] (conf. 110) (exp: & t) (89-distribute-fields-6.c:27.3-27.9) [Info][Race] Memory locations race summary: safe: 0 vulnerable: 0 @@ -16,9 +16,9 @@ $ diff default-output.txt full-output.txt 2,3c2,3 - < write with thread:[main, t_fun@89-distribute-fields-6.c:25:3-25:40] (conf. 110) (exp: & t) (89-distribute-fields-6.c:19:3-19:9) - < write with [mhp:{created={[main, t_fun@89-distribute-fields-6.c:25:3-25:40]}}, thread:[main]] (conf. 110) (exp: & t) (89-distribute-fields-6.c:27:3-27:9) + < write with thread:[main, t_fun@89-distribute-fields-6.c:25.3-25.40] (conf. 110) (exp: & t) (89-distribute-fields-6.c:19.3-19.9) + < write with [mhp:{created={[main, t_fun@89-distribute-fields-6.c:25.3-25.40]}}, thread:[main]] (conf. 110) (exp: & t) (89-distribute-fields-6.c:27.3-27.9) --- - > write with [mhp:{tid=[main, t_fun@89-distribute-fields-6.c:25:3-25:40#⊤]}, thread:[main, t_fun@89-distribute-fields-6.c:25:3-25:40#⊤]] (conf. 110) (exp: & t) (89-distribute-fields-6.c:19:3-19:9) - > write with [mhp:{tid=[main]; created={[main, t_fun@89-distribute-fields-6.c:25:3-25:40#⊤]}}, thread:[main]] (conf. 110) (exp: & t) (89-distribute-fields-6.c:27:3-27:9) + > write with [mhp:{tid=[main, t_fun@89-distribute-fields-6.c:25.3-25.40#⊤]}, thread:[main, t_fun@89-distribute-fields-6.c:25.3-25.40#⊤]] (conf. 110) (exp: & t) (89-distribute-fields-6.c:19.3-19.9) + > write with [mhp:{tid=[main]; created={[main, t_fun@89-distribute-fields-6.c:25.3-25.40#⊤]}}, thread:[main]] (conf. 110) (exp: & t) (89-distribute-fields-6.c:27.3-27.9) [1] diff --git a/tests/regression/04-mutex/90-distribute-fields-type-1.t b/tests/regression/04-mutex/90-distribute-fields-type-1.t index 1a5c739e9c..df7b7b25b1 100644 --- a/tests/regression/04-mutex/90-distribute-fields-type-1.t +++ b/tests/regression/04-mutex/90-distribute-fields-type-1.t @@ -1,47 +1,47 @@ $ goblint --enable warn.deterministic --enable allglobs 90-distribute-fields-type-1.c 2>&1 | tee default-output.txt - [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (90-distribute-fields-type-1.c:31:3-31:20) - [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (90-distribute-fields-type-1.c:39:3-39:17) + [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (90-distribute-fields-type-1.c:31.3-31.20) + [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (90-distribute-fields-type-1.c:39.3-39.17) [Warning][Race] Memory location (struct T).s.field (race with conf. 100): - write with thread:[main, t_fun@90-distribute-fields-type-1.c:37:3-37:40] (conf. 100) (exp: & tmp->field) (90-distribute-fields-type-1.c:31:3-31:20) - write with [mhp:{created={[main, t_fun@90-distribute-fields-type-1.c:37:3-37:40]}}, thread:[main]] (conf. 100) (exp: & tmp->s) (90-distribute-fields-type-1.c:39:3-39:17) + write with thread:[main, t_fun@90-distribute-fields-type-1.c:37.3-37.40] (conf. 100) (exp: & tmp->field) (90-distribute-fields-type-1.c:31.3-31.20) + write with [mhp:{created={[main, t_fun@90-distribute-fields-type-1.c:37.3-37.40]}}, thread:[main]] (conf. 100) (exp: & tmp->s) (90-distribute-fields-type-1.c:39.3-39.17) [Info][Race] Memory locations race summary: safe: 2 vulnerable: 0 unsafe: 1 total memory locations: 3 [Success][Race] Memory location (struct S).field (safe): - write with thread:[main, t_fun@90-distribute-fields-type-1.c:37:3-37:40] (conf. 100) (exp: & tmp->field) (90-distribute-fields-type-1.c:31:3-31:20) + write with thread:[main, t_fun@90-distribute-fields-type-1.c:37.3-37.40] (conf. 100) (exp: & tmp->field) (90-distribute-fields-type-1.c:31.3-31.20) [Success][Race] Memory location (struct T).s (safe): - write with [mhp:{created={[main, t_fun@90-distribute-fields-type-1.c:37:3-37:40]}}, thread:[main]] (conf. 100) (exp: & tmp->s) (90-distribute-fields-type-1.c:39:3-39:17) + write with [mhp:{created={[main, t_fun@90-distribute-fields-type-1.c:37.3-37.40]}}, thread:[main]] (conf. 100) (exp: & tmp->s) (90-distribute-fields-type-1.c:39.3-39.17) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 7 dead: 0 total lines: 7 - [Info][Unsound] Write to unknown address: privatization is unsound. (90-distribute-fields-type-1.c:31:3-31:20) - [Info][Unsound] Write to unknown address: privatization is unsound. (90-distribute-fields-type-1.c:39:3-39:17) - [Info][Imprecise] INVALIDATING ALL GLOBALS! (90-distribute-fields-type-1.c:31:3-31:20) - [Info][Imprecise] Invalidating expressions: & tmp (90-distribute-fields-type-1.c:31:3-31:20) - [Info][Imprecise] INVALIDATING ALL GLOBALS! (90-distribute-fields-type-1.c:39:3-39:17) - [Info][Imprecise] Invalidating expressions: & tmp (90-distribute-fields-type-1.c:39:3-39:17) - [Error][Imprecise][Unsound] Function definition missing for getS (90-distribute-fields-type-1.c:31:3-31:20) - [Error][Imprecise][Unsound] Function definition missing for getT (90-distribute-fields-type-1.c:39:3-39:17) + [Info][Unsound] Write to unknown address: privatization is unsound. (90-distribute-fields-type-1.c:31.3-31.20) + [Info][Unsound] Write to unknown address: privatization is unsound. (90-distribute-fields-type-1.c:39.3-39.17) + [Info][Imprecise] INVALIDATING ALL GLOBALS! (90-distribute-fields-type-1.c:31.3-31.20) + [Info][Imprecise] Invalidating expressions: & tmp (90-distribute-fields-type-1.c:31.3-31.20) + [Info][Imprecise] INVALIDATING ALL GLOBALS! (90-distribute-fields-type-1.c:39.3-39.17) + [Info][Imprecise] Invalidating expressions: & tmp (90-distribute-fields-type-1.c:39.3-39.17) + [Error][Imprecise][Unsound] Function definition missing for getS (90-distribute-fields-type-1.c:31.3-31.20) + [Error][Imprecise][Unsound] Function definition missing for getT (90-distribute-fields-type-1.c:39.3-39.17) [Error][Imprecise][Unsound] Function definition missing $ goblint --enable warn.deterministic --enable allglobs --enable dbg.full-output 90-distribute-fields-type-1.c > full-output.txt 2>&1 $ diff default-output.txt full-output.txt 4,5c4,5 - < write with thread:[main, t_fun@90-distribute-fields-type-1.c:37:3-37:40] (conf. 100) (exp: & tmp->field) (90-distribute-fields-type-1.c:31:3-31:20) - < write with [mhp:{created={[main, t_fun@90-distribute-fields-type-1.c:37:3-37:40]}}, thread:[main]] (conf. 100) (exp: & tmp->s) (90-distribute-fields-type-1.c:39:3-39:17) + < write with thread:[main, t_fun@90-distribute-fields-type-1.c:37.3-37.40] (conf. 100) (exp: & tmp->field) (90-distribute-fields-type-1.c:31.3-31.20) + < write with [mhp:{created={[main, t_fun@90-distribute-fields-type-1.c:37.3-37.40]}}, thread:[main]] (conf. 100) (exp: & tmp->s) (90-distribute-fields-type-1.c:39.3-39.17) --- - > write with [mhp:{tid=[main, t_fun@90-distribute-fields-type-1.c:37:3-37:40#⊤]}, thread:[main, t_fun@90-distribute-fields-type-1.c:37:3-37:40#⊤]] (conf. 100) (exp: & tmp->field) (90-distribute-fields-type-1.c:31:3-31:20) - > write with [mhp:{tid=[main]; created={[main, t_fun@90-distribute-fields-type-1.c:37:3-37:40#⊤]}}, thread:[main]] (conf. 100) (exp: & tmp->s) (90-distribute-fields-type-1.c:39:3-39:17) + > write with [mhp:{tid=[main, t_fun@90-distribute-fields-type-1.c:37.3-37.40#⊤]}, thread:[main, t_fun@90-distribute-fields-type-1.c:37.3-37.40#⊤]] (conf. 100) (exp: & tmp->field) (90-distribute-fields-type-1.c:31.3-31.20) + > write with [mhp:{tid=[main]; created={[main, t_fun@90-distribute-fields-type-1.c:37.3-37.40#⊤]}}, thread:[main]] (conf. 100) (exp: & tmp->s) (90-distribute-fields-type-1.c:39.3-39.17) 12c12 - < write with thread:[main, t_fun@90-distribute-fields-type-1.c:37:3-37:40] (conf. 100) (exp: & tmp->field) (90-distribute-fields-type-1.c:31:3-31:20) + < write with thread:[main, t_fun@90-distribute-fields-type-1.c:37.3-37.40] (conf. 100) (exp: & tmp->field) (90-distribute-fields-type-1.c:31.3-31.20) --- - > write with [mhp:{tid=[main, t_fun@90-distribute-fields-type-1.c:37:3-37:40#⊤]}, thread:[main, t_fun@90-distribute-fields-type-1.c:37:3-37:40#⊤]] (conf. 100) (exp: & tmp->field) (90-distribute-fields-type-1.c:31:3-31:20) + > write with [mhp:{tid=[main, t_fun@90-distribute-fields-type-1.c:37.3-37.40#⊤]}, thread:[main, t_fun@90-distribute-fields-type-1.c:37.3-37.40#⊤]] (conf. 100) (exp: & tmp->field) (90-distribute-fields-type-1.c:31.3-31.20) 14c14 - < write with [mhp:{created={[main, t_fun@90-distribute-fields-type-1.c:37:3-37:40]}}, thread:[main]] (conf. 100) (exp: & tmp->s) (90-distribute-fields-type-1.c:39:3-39:17) + < write with [mhp:{created={[main, t_fun@90-distribute-fields-type-1.c:37.3-37.40]}}, thread:[main]] (conf. 100) (exp: & tmp->s) (90-distribute-fields-type-1.c:39.3-39.17) --- - > write with [mhp:{tid=[main]; created={[main, t_fun@90-distribute-fields-type-1.c:37:3-37:40#⊤]}}, thread:[main]] (conf. 100) (exp: & tmp->s) (90-distribute-fields-type-1.c:39:3-39:17) + > write with [mhp:{tid=[main]; created={[main, t_fun@90-distribute-fields-type-1.c:37.3-37.40#⊤]}}, thread:[main]] (conf. 100) (exp: & tmp->s) (90-distribute-fields-type-1.c:39.3-39.17) [1] diff --git a/tests/regression/04-mutex/91-distribute-fields-type-2.t b/tests/regression/04-mutex/91-distribute-fields-type-2.t index e22b21d2bd..8bc0497438 100644 --- a/tests/regression/04-mutex/91-distribute-fields-type-2.t +++ b/tests/regression/04-mutex/91-distribute-fields-type-2.t @@ -1,47 +1,47 @@ $ goblint --enable warn.deterministic --enable allglobs 91-distribute-fields-type-2.c 2>&1 | tee default-output.txt - [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (91-distribute-fields-type-2.c:32:3-32:17) - [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (91-distribute-fields-type-2.c:40:3-40:17) + [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (91-distribute-fields-type-2.c:32.3-32.17) + [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (91-distribute-fields-type-2.c:40.3-40.17) [Warning][Race] Memory location (struct T).s (race with conf. 100): - write with thread:[main, t_fun@91-distribute-fields-type-2.c:38:3-38:40] (conf. 100) (exp: & *tmp) (91-distribute-fields-type-2.c:32:3-32:17) - write with [mhp:{created={[main, t_fun@91-distribute-fields-type-2.c:38:3-38:40]}}, thread:[main]] (conf. 100) (exp: & *tmp) (91-distribute-fields-type-2.c:40:3-40:17) + write with thread:[main, t_fun@91-distribute-fields-type-2.c:38.3-38.40] (conf. 100) (exp: & *tmp) (91-distribute-fields-type-2.c:32.3-32.17) + write with [mhp:{created={[main, t_fun@91-distribute-fields-type-2.c:38.3-38.40]}}, thread:[main]] (conf. 100) (exp: & *tmp) (91-distribute-fields-type-2.c:40.3-40.17) [Info][Race] Memory locations race summary: safe: 2 vulnerable: 0 unsafe: 1 total memory locations: 3 [Success][Race] Memory location (struct S) (safe): - write with thread:[main, t_fun@91-distribute-fields-type-2.c:38:3-38:40] (conf. 100) (exp: & *tmp) (91-distribute-fields-type-2.c:32:3-32:17) + write with thread:[main, t_fun@91-distribute-fields-type-2.c:38.3-38.40] (conf. 100) (exp: & *tmp) (91-distribute-fields-type-2.c:32.3-32.17) [Success][Race] Memory location (struct T) (safe): - write with [mhp:{created={[main, t_fun@91-distribute-fields-type-2.c:38:3-38:40]}}, thread:[main]] (conf. 100) (exp: & *tmp) (91-distribute-fields-type-2.c:40:3-40:17) + write with [mhp:{created={[main, t_fun@91-distribute-fields-type-2.c:38.3-38.40]}}, thread:[main]] (conf. 100) (exp: & *tmp) (91-distribute-fields-type-2.c:40.3-40.17) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 7 dead: 0 total lines: 7 - [Info][Unsound] Write to unknown address: privatization is unsound. (91-distribute-fields-type-2.c:32:3-32:17) - [Info][Unsound] Write to unknown address: privatization is unsound. (91-distribute-fields-type-2.c:40:3-40:17) - [Info][Imprecise] INVALIDATING ALL GLOBALS! (91-distribute-fields-type-2.c:32:3-32:17) - [Info][Imprecise] Invalidating expressions: & tmp (91-distribute-fields-type-2.c:32:3-32:17) - [Info][Imprecise] INVALIDATING ALL GLOBALS! (91-distribute-fields-type-2.c:40:3-40:17) - [Info][Imprecise] Invalidating expressions: & tmp (91-distribute-fields-type-2.c:40:3-40:17) - [Error][Imprecise][Unsound] Function definition missing for getS (91-distribute-fields-type-2.c:32:3-32:17) - [Error][Imprecise][Unsound] Function definition missing for getT (91-distribute-fields-type-2.c:40:3-40:17) + [Info][Unsound] Write to unknown address: privatization is unsound. (91-distribute-fields-type-2.c:32.3-32.17) + [Info][Unsound] Write to unknown address: privatization is unsound. (91-distribute-fields-type-2.c:40.3-40.17) + [Info][Imprecise] INVALIDATING ALL GLOBALS! (91-distribute-fields-type-2.c:32.3-32.17) + [Info][Imprecise] Invalidating expressions: & tmp (91-distribute-fields-type-2.c:32.3-32.17) + [Info][Imprecise] INVALIDATING ALL GLOBALS! (91-distribute-fields-type-2.c:40.3-40.17) + [Info][Imprecise] Invalidating expressions: & tmp (91-distribute-fields-type-2.c:40.3-40.17) + [Error][Imprecise][Unsound] Function definition missing for getS (91-distribute-fields-type-2.c:32.3-32.17) + [Error][Imprecise][Unsound] Function definition missing for getT (91-distribute-fields-type-2.c:40.3-40.17) [Error][Imprecise][Unsound] Function definition missing $ goblint --enable warn.deterministic --enable allglobs --enable dbg.full-output 91-distribute-fields-type-2.c > full-output.txt 2>&1 $ diff default-output.txt full-output.txt 4,5c4,5 - < write with thread:[main, t_fun@91-distribute-fields-type-2.c:38:3-38:40] (conf. 100) (exp: & *tmp) (91-distribute-fields-type-2.c:32:3-32:17) - < write with [mhp:{created={[main, t_fun@91-distribute-fields-type-2.c:38:3-38:40]}}, thread:[main]] (conf. 100) (exp: & *tmp) (91-distribute-fields-type-2.c:40:3-40:17) + < write with thread:[main, t_fun@91-distribute-fields-type-2.c:38.3-38.40] (conf. 100) (exp: & *tmp) (91-distribute-fields-type-2.c:32.3-32.17) + < write with [mhp:{created={[main, t_fun@91-distribute-fields-type-2.c:38.3-38.40]}}, thread:[main]] (conf. 100) (exp: & *tmp) (91-distribute-fields-type-2.c:40.3-40.17) --- - > write with [mhp:{tid=[main, t_fun@91-distribute-fields-type-2.c:38:3-38:40#⊤]}, thread:[main, t_fun@91-distribute-fields-type-2.c:38:3-38:40#⊤]] (conf. 100) (exp: & *tmp) (91-distribute-fields-type-2.c:32:3-32:17) - > write with [mhp:{tid=[main]; created={[main, t_fun@91-distribute-fields-type-2.c:38:3-38:40#⊤]}}, thread:[main]] (conf. 100) (exp: & *tmp) (91-distribute-fields-type-2.c:40:3-40:17) + > write with [mhp:{tid=[main, t_fun@91-distribute-fields-type-2.c:38.3-38.40#⊤]}, thread:[main, t_fun@91-distribute-fields-type-2.c:38.3-38.40#⊤]] (conf. 100) (exp: & *tmp) (91-distribute-fields-type-2.c:32.3-32.17) + > write with [mhp:{tid=[main]; created={[main, t_fun@91-distribute-fields-type-2.c:38.3-38.40#⊤]}}, thread:[main]] (conf. 100) (exp: & *tmp) (91-distribute-fields-type-2.c:40.3-40.17) 12c12 - < write with thread:[main, t_fun@91-distribute-fields-type-2.c:38:3-38:40] (conf. 100) (exp: & *tmp) (91-distribute-fields-type-2.c:32:3-32:17) + < write with thread:[main, t_fun@91-distribute-fields-type-2.c:38.3-38.40] (conf. 100) (exp: & *tmp) (91-distribute-fields-type-2.c:32.3-32.17) --- - > write with [mhp:{tid=[main, t_fun@91-distribute-fields-type-2.c:38:3-38:40#⊤]}, thread:[main, t_fun@91-distribute-fields-type-2.c:38:3-38:40#⊤]] (conf. 100) (exp: & *tmp) (91-distribute-fields-type-2.c:32:3-32:17) + > write with [mhp:{tid=[main, t_fun@91-distribute-fields-type-2.c:38.3-38.40#⊤]}, thread:[main, t_fun@91-distribute-fields-type-2.c:38.3-38.40#⊤]] (conf. 100) (exp: & *tmp) (91-distribute-fields-type-2.c:32.3-32.17) 14c14 - < write with [mhp:{created={[main, t_fun@91-distribute-fields-type-2.c:38:3-38:40]}}, thread:[main]] (conf. 100) (exp: & *tmp) (91-distribute-fields-type-2.c:40:3-40:17) + < write with [mhp:{created={[main, t_fun@91-distribute-fields-type-2.c:38.3-38.40]}}, thread:[main]] (conf. 100) (exp: & *tmp) (91-distribute-fields-type-2.c:40.3-40.17) --- - > write with [mhp:{tid=[main]; created={[main, t_fun@91-distribute-fields-type-2.c:38:3-38:40#⊤]}}, thread:[main]] (conf. 100) (exp: & *tmp) (91-distribute-fields-type-2.c:40:3-40:17) + > write with [mhp:{tid=[main]; created={[main, t_fun@91-distribute-fields-type-2.c:38.3-38.40#⊤]}}, thread:[main]] (conf. 100) (exp: & *tmp) (91-distribute-fields-type-2.c:40.3-40.17) [1] diff --git a/tests/regression/04-mutex/92-distribute-fields-type-deep.t b/tests/regression/04-mutex/92-distribute-fields-type-deep.t index d754ded21b..26b98a28b0 100644 --- a/tests/regression/04-mutex/92-distribute-fields-type-deep.t +++ b/tests/regression/04-mutex/92-distribute-fields-type-deep.t @@ -1,47 +1,47 @@ $ goblint --enable warn.deterministic --enable allglobs 92-distribute-fields-type-deep.c 2>&1 | tee default-output.txt - [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (92-distribute-fields-type-deep.c:36:3-36:20) - [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (92-distribute-fields-type-deep.c:44:3-44:17) + [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (92-distribute-fields-type-deep.c:36.3-36.20) + [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (92-distribute-fields-type-deep.c:44.3-44.17) [Warning][Race] Memory location (struct U).t.s.field (race with conf. 100): - write with thread:[main, t_fun@92-distribute-fields-type-deep.c:42:3-42:40] (conf. 100) (exp: & tmp->field) (92-distribute-fields-type-deep.c:36:3-36:20) - write with [mhp:{created={[main, t_fun@92-distribute-fields-type-deep.c:42:3-42:40]}}, thread:[main]] (conf. 100) (exp: & tmp->t) (92-distribute-fields-type-deep.c:44:3-44:17) + write with thread:[main, t_fun@92-distribute-fields-type-deep.c:42.3-42.40] (conf. 100) (exp: & tmp->field) (92-distribute-fields-type-deep.c:36.3-36.20) + write with [mhp:{created={[main, t_fun@92-distribute-fields-type-deep.c:42.3-42.40]}}, thread:[main]] (conf. 100) (exp: & tmp->t) (92-distribute-fields-type-deep.c:44.3-44.17) [Info][Race] Memory locations race summary: safe: 2 vulnerable: 0 unsafe: 1 total memory locations: 3 [Success][Race] Memory location (struct S).field (safe): - write with thread:[main, t_fun@92-distribute-fields-type-deep.c:42:3-42:40] (conf. 100) (exp: & tmp->field) (92-distribute-fields-type-deep.c:36:3-36:20) + write with thread:[main, t_fun@92-distribute-fields-type-deep.c:42.3-42.40] (conf. 100) (exp: & tmp->field) (92-distribute-fields-type-deep.c:36.3-36.20) [Success][Race] Memory location (struct U).t (safe): - write with [mhp:{created={[main, t_fun@92-distribute-fields-type-deep.c:42:3-42:40]}}, thread:[main]] (conf. 100) (exp: & tmp->t) (92-distribute-fields-type-deep.c:44:3-44:17) + write with [mhp:{created={[main, t_fun@92-distribute-fields-type-deep.c:42.3-42.40]}}, thread:[main]] (conf. 100) (exp: & tmp->t) (92-distribute-fields-type-deep.c:44.3-44.17) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 7 dead: 0 total lines: 7 - [Info][Unsound] Write to unknown address: privatization is unsound. (92-distribute-fields-type-deep.c:36:3-36:20) - [Info][Unsound] Write to unknown address: privatization is unsound. (92-distribute-fields-type-deep.c:44:3-44:17) - [Info][Imprecise] INVALIDATING ALL GLOBALS! (92-distribute-fields-type-deep.c:36:3-36:20) - [Info][Imprecise] Invalidating expressions: & tmp (92-distribute-fields-type-deep.c:36:3-36:20) - [Info][Imprecise] INVALIDATING ALL GLOBALS! (92-distribute-fields-type-deep.c:44:3-44:17) - [Info][Imprecise] Invalidating expressions: & tmp (92-distribute-fields-type-deep.c:44:3-44:17) - [Error][Imprecise][Unsound] Function definition missing for getS (92-distribute-fields-type-deep.c:36:3-36:20) - [Error][Imprecise][Unsound] Function definition missing for getU (92-distribute-fields-type-deep.c:44:3-44:17) + [Info][Unsound] Write to unknown address: privatization is unsound. (92-distribute-fields-type-deep.c:36.3-36.20) + [Info][Unsound] Write to unknown address: privatization is unsound. (92-distribute-fields-type-deep.c:44.3-44.17) + [Info][Imprecise] INVALIDATING ALL GLOBALS! (92-distribute-fields-type-deep.c:36.3-36.20) + [Info][Imprecise] Invalidating expressions: & tmp (92-distribute-fields-type-deep.c:36.3-36.20) + [Info][Imprecise] INVALIDATING ALL GLOBALS! (92-distribute-fields-type-deep.c:44.3-44.17) + [Info][Imprecise] Invalidating expressions: & tmp (92-distribute-fields-type-deep.c:44.3-44.17) + [Error][Imprecise][Unsound] Function definition missing for getS (92-distribute-fields-type-deep.c:36.3-36.20) + [Error][Imprecise][Unsound] Function definition missing for getU (92-distribute-fields-type-deep.c:44.3-44.17) [Error][Imprecise][Unsound] Function definition missing $ goblint --enable warn.deterministic --enable allglobs --enable dbg.full-output 92-distribute-fields-type-deep.c > full-output.txt 2>&1 $ diff default-output.txt full-output.txt 4,5c4,5 - < write with thread:[main, t_fun@92-distribute-fields-type-deep.c:42:3-42:40] (conf. 100) (exp: & tmp->field) (92-distribute-fields-type-deep.c:36:3-36:20) - < write with [mhp:{created={[main, t_fun@92-distribute-fields-type-deep.c:42:3-42:40]}}, thread:[main]] (conf. 100) (exp: & tmp->t) (92-distribute-fields-type-deep.c:44:3-44:17) + < write with thread:[main, t_fun@92-distribute-fields-type-deep.c:42.3-42.40] (conf. 100) (exp: & tmp->field) (92-distribute-fields-type-deep.c:36.3-36.20) + < write with [mhp:{created={[main, t_fun@92-distribute-fields-type-deep.c:42.3-42.40]}}, thread:[main]] (conf. 100) (exp: & tmp->t) (92-distribute-fields-type-deep.c:44.3-44.17) --- - > write with [mhp:{tid=[main, t_fun@92-distribute-fields-type-deep.c:42:3-42:40#⊤]}, thread:[main, t_fun@92-distribute-fields-type-deep.c:42:3-42:40#⊤]] (conf. 100) (exp: & tmp->field) (92-distribute-fields-type-deep.c:36:3-36:20) - > write with [mhp:{tid=[main]; created={[main, t_fun@92-distribute-fields-type-deep.c:42:3-42:40#⊤]}}, thread:[main]] (conf. 100) (exp: & tmp->t) (92-distribute-fields-type-deep.c:44:3-44:17) + > write with [mhp:{tid=[main, t_fun@92-distribute-fields-type-deep.c:42.3-42.40#⊤]}, thread:[main, t_fun@92-distribute-fields-type-deep.c:42.3-42.40#⊤]] (conf. 100) (exp: & tmp->field) (92-distribute-fields-type-deep.c:36.3-36.20) + > write with [mhp:{tid=[main]; created={[main, t_fun@92-distribute-fields-type-deep.c:42.3-42.40#⊤]}}, thread:[main]] (conf. 100) (exp: & tmp->t) (92-distribute-fields-type-deep.c:44.3-44.17) 12c12 - < write with thread:[main, t_fun@92-distribute-fields-type-deep.c:42:3-42:40] (conf. 100) (exp: & tmp->field) (92-distribute-fields-type-deep.c:36:3-36:20) + < write with thread:[main, t_fun@92-distribute-fields-type-deep.c:42.3-42.40] (conf. 100) (exp: & tmp->field) (92-distribute-fields-type-deep.c:36.3-36.20) --- - > write with [mhp:{tid=[main, t_fun@92-distribute-fields-type-deep.c:42:3-42:40#⊤]}, thread:[main, t_fun@92-distribute-fields-type-deep.c:42:3-42:40#⊤]] (conf. 100) (exp: & tmp->field) (92-distribute-fields-type-deep.c:36:3-36:20) + > write with [mhp:{tid=[main, t_fun@92-distribute-fields-type-deep.c:42.3-42.40#⊤]}, thread:[main, t_fun@92-distribute-fields-type-deep.c:42.3-42.40#⊤]] (conf. 100) (exp: & tmp->field) (92-distribute-fields-type-deep.c:36.3-36.20) 14c14 - < write with [mhp:{created={[main, t_fun@92-distribute-fields-type-deep.c:42:3-42:40]}}, thread:[main]] (conf. 100) (exp: & tmp->t) (92-distribute-fields-type-deep.c:44:3-44:17) + < write with [mhp:{created={[main, t_fun@92-distribute-fields-type-deep.c:42.3-42.40]}}, thread:[main]] (conf. 100) (exp: & tmp->t) (92-distribute-fields-type-deep.c:44.3-44.17) --- - > write with [mhp:{tid=[main]; created={[main, t_fun@92-distribute-fields-type-deep.c:42:3-42:40#⊤]}}, thread:[main]] (conf. 100) (exp: & tmp->t) (92-distribute-fields-type-deep.c:44:3-44:17) + > write with [mhp:{tid=[main]; created={[main, t_fun@92-distribute-fields-type-deep.c:42.3-42.40#⊤]}}, thread:[main]] (conf. 100) (exp: & tmp->t) (92-distribute-fields-type-deep.c:44.3-44.17) [1] diff --git a/tests/regression/04-mutex/93-distribute-fields-type-global.t b/tests/regression/04-mutex/93-distribute-fields-type-global.t index 7e0dc61a3c..ecee4042db 100644 --- a/tests/regression/04-mutex/93-distribute-fields-type-global.t +++ b/tests/regression/04-mutex/93-distribute-fields-type-global.t @@ -1,43 +1,43 @@ $ goblint --enable warn.deterministic --enable allglobs 93-distribute-fields-type-global.c 2>&1 | tee default-output.txt - [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (93-distribute-fields-type-global.c:13:3-13:29) - [Warning][Race] Memory location s.field (race with conf. 110): (93-distribute-fields-type-global.c:8:10-8:11) - read with thread:[main, t_fun@93-distribute-fields-type-global.c:20:3-20:40] (conf. 100) (exp: & tmp->field) (93-distribute-fields-type-global.c:13:3-13:29) - write with [mhp:{created={[main, t_fun@93-distribute-fields-type-global.c:20:3-20:40]}}, thread:[main]] (conf. 110) (exp: & s) (93-distribute-fields-type-global.c:22:3-22:9) + [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (93-distribute-fields-type-global.c:13.3-13.29) + [Warning][Race] Memory location s.field (race with conf. 110): (93-distribute-fields-type-global.c:8.10-8.11) + read with thread:[main, t_fun@93-distribute-fields-type-global.c:20.3-20.40] (conf. 100) (exp: & tmp->field) (93-distribute-fields-type-global.c:13.3-13.29) + write with [mhp:{created={[main, t_fun@93-distribute-fields-type-global.c:20.3-20.40]}}, thread:[main]] (conf. 110) (exp: & s) (93-distribute-fields-type-global.c:22.3-22.9) [Info][Race] Memory locations race summary: safe: 2 vulnerable: 0 unsafe: 1 total memory locations: 3 [Success][Race] Memory location (struct S).field (safe): - read with thread:[main, t_fun@93-distribute-fields-type-global.c:20:3-20:40] (conf. 100) (exp: & tmp->field) (93-distribute-fields-type-global.c:13:3-13:29) - [Success][Race] Memory location s (safe): (93-distribute-fields-type-global.c:8:10-8:11) - write with [mhp:{created={[main, t_fun@93-distribute-fields-type-global.c:20:3-20:40]}}, thread:[main]] (conf. 110) (exp: & s) (93-distribute-fields-type-global.c:22:3-22:9) + read with thread:[main, t_fun@93-distribute-fields-type-global.c:20.3-20.40] (conf. 100) (exp: & tmp->field) (93-distribute-fields-type-global.c:13.3-13.29) + [Success][Race] Memory location s (safe): (93-distribute-fields-type-global.c:8.10-8.11) + write with [mhp:{created={[main, t_fun@93-distribute-fields-type-global.c:20.3-20.40]}}, thread:[main]] (conf. 110) (exp: & s) (93-distribute-fields-type-global.c:22.3-22.9) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 7 dead: 0 total lines: 7 - [Info][Unsound] Write to unknown address: privatization is unsound. (93-distribute-fields-type-global.c:13:3-13:29) - [Info][Imprecise] INVALIDATING ALL GLOBALS! (93-distribute-fields-type-global.c:13:3-13:29) - [Info][Imprecise] Invalidating expressions: & s (93-distribute-fields-type-global.c:13:3-13:29) - [Info][Imprecise] Invalidating expressions: & tmp (93-distribute-fields-type-global.c:13:3-13:29) - [Error][Imprecise][Unsound] Function definition missing for getS (93-distribute-fields-type-global.c:13:3-13:29) + [Info][Unsound] Write to unknown address: privatization is unsound. (93-distribute-fields-type-global.c:13.3-13.29) + [Info][Imprecise] INVALIDATING ALL GLOBALS! (93-distribute-fields-type-global.c:13.3-13.29) + [Info][Imprecise] Invalidating expressions: & s (93-distribute-fields-type-global.c:13.3-13.29) + [Info][Imprecise] Invalidating expressions: & tmp (93-distribute-fields-type-global.c:13.3-13.29) + [Error][Imprecise][Unsound] Function definition missing for getS (93-distribute-fields-type-global.c:13.3-13.29) [Error][Imprecise][Unsound] Function definition missing $ goblint --enable warn.deterministic --enable allglobs --enable dbg.full-output 93-distribute-fields-type-global.c > full-output.txt 2>&1 $ diff default-output.txt full-output.txt 3,4c3,4 - < read with thread:[main, t_fun@93-distribute-fields-type-global.c:20:3-20:40] (conf. 100) (exp: & tmp->field) (93-distribute-fields-type-global.c:13:3-13:29) - < write with [mhp:{created={[main, t_fun@93-distribute-fields-type-global.c:20:3-20:40]}}, thread:[main]] (conf. 110) (exp: & s) (93-distribute-fields-type-global.c:22:3-22:9) + < read with thread:[main, t_fun@93-distribute-fields-type-global.c:20.3-20.40] (conf. 100) (exp: & tmp->field) (93-distribute-fields-type-global.c:13.3-13.29) + < write with [mhp:{created={[main, t_fun@93-distribute-fields-type-global.c:20.3-20.40]}}, thread:[main]] (conf. 110) (exp: & s) (93-distribute-fields-type-global.c:22.3-22.9) --- - > read with [mhp:{tid=[main, t_fun@93-distribute-fields-type-global.c:20:3-20:40#⊤]}, thread:[main, t_fun@93-distribute-fields-type-global.c:20:3-20:40#⊤]] (conf. 100) (exp: & tmp->field) (93-distribute-fields-type-global.c:13:3-13:29) - > write with [mhp:{tid=[main]; created={[main, t_fun@93-distribute-fields-type-global.c:20:3-20:40#⊤]}}, thread:[main]] (conf. 110) (exp: & s) (93-distribute-fields-type-global.c:22:3-22:9) + > read with [mhp:{tid=[main, t_fun@93-distribute-fields-type-global.c:20.3-20.40#⊤]}, thread:[main, t_fun@93-distribute-fields-type-global.c:20.3-20.40#⊤]] (conf. 100) (exp: & tmp->field) (93-distribute-fields-type-global.c:13.3-13.29) + > write with [mhp:{tid=[main]; created={[main, t_fun@93-distribute-fields-type-global.c:20.3-20.40#⊤]}}, thread:[main]] (conf. 110) (exp: & s) (93-distribute-fields-type-global.c:22.3-22.9) 11c11 - < read with thread:[main, t_fun@93-distribute-fields-type-global.c:20:3-20:40] (conf. 100) (exp: & tmp->field) (93-distribute-fields-type-global.c:13:3-13:29) + < read with thread:[main, t_fun@93-distribute-fields-type-global.c:20.3-20.40] (conf. 100) (exp: & tmp->field) (93-distribute-fields-type-global.c:13.3-13.29) --- - > read with [mhp:{tid=[main, t_fun@93-distribute-fields-type-global.c:20:3-20:40#⊤]}, thread:[main, t_fun@93-distribute-fields-type-global.c:20:3-20:40#⊤]] (conf. 100) (exp: & tmp->field) (93-distribute-fields-type-global.c:13:3-13:29) + > read with [mhp:{tid=[main, t_fun@93-distribute-fields-type-global.c:20.3-20.40#⊤]}, thread:[main, t_fun@93-distribute-fields-type-global.c:20.3-20.40#⊤]] (conf. 100) (exp: & tmp->field) (93-distribute-fields-type-global.c:13.3-13.29) 13c13 - < write with [mhp:{created={[main, t_fun@93-distribute-fields-type-global.c:20:3-20:40]}}, thread:[main]] (conf. 110) (exp: & s) (93-distribute-fields-type-global.c:22:3-22:9) + < write with [mhp:{created={[main, t_fun@93-distribute-fields-type-global.c:20.3-20.40]}}, thread:[main]] (conf. 110) (exp: & s) (93-distribute-fields-type-global.c:22.3-22.9) --- - > write with [mhp:{tid=[main]; created={[main, t_fun@93-distribute-fields-type-global.c:20:3-20:40#⊤]}}, thread:[main]] (conf. 110) (exp: & s) (93-distribute-fields-type-global.c:22:3-22:9) + > write with [mhp:{tid=[main]; created={[main, t_fun@93-distribute-fields-type-global.c:20.3-20.40#⊤]}}, thread:[main]] (conf. 110) (exp: & s) (93-distribute-fields-type-global.c:22.3-22.9) [1] diff --git a/tests/regression/06-symbeq/14-list_entry_rc.t b/tests/regression/06-symbeq/14-list_entry_rc.t index 0e5ec3ce9f..24eb2f97be 100644 --- a/tests/regression/06-symbeq/14-list_entry_rc.t +++ b/tests/regression/06-symbeq/14-list_entry_rc.t @@ -1,15 +1,15 @@ $ goblint --enable ana.race.direct-arithmetic --set ana.activated[+] "'var_eq'" --set ana.activated[+] "'symb_locks'" 14-list_entry_rc.c 2>&1 | sed -r 's/sid:[0-9]+/sid:$SID/' | tee default-output.txt - [Info][Imprecise] Invalidating expressions: & mutexattr (14-list_entry_rc.c:37:3-37:37) - [Warning][Unknown] unlocking mutex ((alloc@sid:$SID@tid:[main])[1].mutex) which may not be held (14-list_entry_rc.c:28:3-28:34) + [Info][Imprecise] Invalidating expressions: & mutexattr (14-list_entry_rc.c:37.3-37.37) + [Warning][Unknown] unlocking mutex ((alloc@sid:$SID@tid:[main])[1].mutex) which may not be held (14-list_entry_rc.c:28.3-28.34) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 23 dead: 0 total lines: 23 - [Warning][Race] Memory location (alloc@sid:$SID@tid:[main])[?].datum (race with conf. 110): (14-list_entry_rc.c:41:3-41:35) - write with thread:[main, t_fun@14-list_entry_rc.c:45:3-45:40] (conf. 110) (exp: & s->datum) (14-list_entry_rc.c:27:3-27:13) - write with [mhp:{created={[main, t_fun@14-list_entry_rc.c:45:3-45:40]}}, thread:[main]] (conf. 110) (exp: & s->datum) (14-list_entry_rc.c:27:3-27:13) - read with thread:[main, t_fun@14-list_entry_rc.c:45:3-45:40] (conf. 110) (exp: & s->datum) (14-list_entry_rc.c:27:3-27:13) - read with [mhp:{created={[main, t_fun@14-list_entry_rc.c:45:3-45:40]}}, thread:[main]] (conf. 110) (exp: & s->datum) (14-list_entry_rc.c:27:3-27:13) + [Warning][Race] Memory location (alloc@sid:$SID@tid:[main])[?].datum (race with conf. 110): (14-list_entry_rc.c:41.3-41.35) + write with thread:[main, t_fun@14-list_entry_rc.c:45.3-45.40] (conf. 110) (exp: & s->datum) (14-list_entry_rc.c:27.3-27.13) + write with [mhp:{created={[main, t_fun@14-list_entry_rc.c:45.3-45.40]}}, thread:[main]] (conf. 110) (exp: & s->datum) (14-list_entry_rc.c:27.3-27.13) + read with thread:[main, t_fun@14-list_entry_rc.c:45.3-45.40] (conf. 110) (exp: & s->datum) (14-list_entry_rc.c:27.3-27.13) + read with [mhp:{created={[main, t_fun@14-list_entry_rc.c:45.3-45.40]}}, thread:[main]] (conf. 110) (exp: & s->datum) (14-list_entry_rc.c:27.3-27.13) [Info][Race] Memory locations race summary: safe: 1 vulnerable: 0 @@ -20,19 +20,19 @@ $ diff default-output.txt full-output.txt 2c2 - < [Warning][Unknown] unlocking mutex ((alloc@sid:$SID@tid:[main])[1].mutex) which may not be held (14-list_entry_rc.c:28:3-28:34) + < [Warning][Unknown] unlocking mutex ((alloc@sid:$SID@tid:[main])[1].mutex) which may not be held (14-list_entry_rc.c:28.3-28.34) --- - > [Warning][Unknown] unlocking mutex ((alloc@sid:$SID@tid:[main](#top))[def_exc:1].mutex) which may not be held (14-list_entry_rc.c:28:3-28:34) + > [Warning][Unknown] unlocking mutex ((alloc@sid:$SID@tid:[main](#top))[def_exc:1].mutex) which may not be held (14-list_entry_rc.c:28.3-28.34) 7,11c7,11 - < [Warning][Race] Memory location (alloc@sid:$SID@tid:[main])[?].datum (race with conf. 110): (14-list_entry_rc.c:41:3-41:35) - < write with thread:[main, t_fun@14-list_entry_rc.c:45:3-45:40] (conf. 110) (exp: & s->datum) (14-list_entry_rc.c:27:3-27:13) - < write with [mhp:{created={[main, t_fun@14-list_entry_rc.c:45:3-45:40]}}, thread:[main]] (conf. 110) (exp: & s->datum) (14-list_entry_rc.c:27:3-27:13) - < read with thread:[main, t_fun@14-list_entry_rc.c:45:3-45:40] (conf. 110) (exp: & s->datum) (14-list_entry_rc.c:27:3-27:13) - < read with [mhp:{created={[main, t_fun@14-list_entry_rc.c:45:3-45:40]}}, thread:[main]] (conf. 110) (exp: & s->datum) (14-list_entry_rc.c:27:3-27:13) + < [Warning][Race] Memory location (alloc@sid:$SID@tid:[main])[?].datum (race with conf. 110): (14-list_entry_rc.c:41.3-41.35) + < write with thread:[main, t_fun@14-list_entry_rc.c:45.3-45.40] (conf. 110) (exp: & s->datum) (14-list_entry_rc.c:27.3-27.13) + < write with [mhp:{created={[main, t_fun@14-list_entry_rc.c:45.3-45.40]}}, thread:[main]] (conf. 110) (exp: & s->datum) (14-list_entry_rc.c:27.3-27.13) + < read with thread:[main, t_fun@14-list_entry_rc.c:45.3-45.40] (conf. 110) (exp: & s->datum) (14-list_entry_rc.c:27.3-27.13) + < read with [mhp:{created={[main, t_fun@14-list_entry_rc.c:45.3-45.40]}}, thread:[main]] (conf. 110) (exp: & s->datum) (14-list_entry_rc.c:27.3-27.13) --- - > [Warning][Race] Memory location (alloc@sid:$SID@tid:[main](#top))[?].datum (race with conf. 110): (14-list_entry_rc.c:41:3-41:35) - > write with [mhp:{tid=[main, t_fun@14-list_entry_rc.c:45:3-45:40#⊤]}, thread:[main, t_fun@14-list_entry_rc.c:45:3-45:40#⊤]] (conf. 110) (exp: & s->datum) (14-list_entry_rc.c:27:3-27:13) - > write with [mhp:{tid=[main]; created={[main, t_fun@14-list_entry_rc.c:45:3-45:40#⊤]}}, thread:[main]] (conf. 110) (exp: & s->datum) (14-list_entry_rc.c:27:3-27:13) - > read with [mhp:{tid=[main, t_fun@14-list_entry_rc.c:45:3-45:40#⊤]}, thread:[main, t_fun@14-list_entry_rc.c:45:3-45:40#⊤]] (conf. 110) (exp: & s->datum) (14-list_entry_rc.c:27:3-27:13) - > read with [mhp:{tid=[main]; created={[main, t_fun@14-list_entry_rc.c:45:3-45:40#⊤]}}, thread:[main]] (conf. 110) (exp: & s->datum) (14-list_entry_rc.c:27:3-27:13) + > [Warning][Race] Memory location (alloc@sid:$SID@tid:[main](#top))[?].datum (race with conf. 110): (14-list_entry_rc.c:41.3-41.35) + > write with [mhp:{tid=[main, t_fun@14-list_entry_rc.c:45.3-45.40#⊤]}, thread:[main, t_fun@14-list_entry_rc.c:45.3-45.40#⊤]] (conf. 110) (exp: & s->datum) (14-list_entry_rc.c:27.3-27.13) + > write with [mhp:{tid=[main]; created={[main, t_fun@14-list_entry_rc.c:45.3-45.40#⊤]}}, thread:[main]] (conf. 110) (exp: & s->datum) (14-list_entry_rc.c:27.3-27.13) + > read with [mhp:{tid=[main, t_fun@14-list_entry_rc.c:45.3-45.40#⊤]}, thread:[main, t_fun@14-list_entry_rc.c:45.3-45.40#⊤]] (conf. 110) (exp: & s->datum) (14-list_entry_rc.c:27.3-27.13) + > read with [mhp:{tid=[main]; created={[main, t_fun@14-list_entry_rc.c:45.3-45.40#⊤]}}, thread:[main]] (conf. 110) (exp: & s->datum) (14-list_entry_rc.c:27.3-27.13) [1] diff --git a/tests/regression/06-symbeq/16-type_rc.t b/tests/regression/06-symbeq/16-type_rc.t index a5f977008d..95fd2d308f 100644 --- a/tests/regression/06-symbeq/16-type_rc.t +++ b/tests/regression/06-symbeq/16-type_rc.t @@ -1,44 +1,44 @@ Disable info messages because race summary contains (safe) memory location count, which is different on Linux and OSX. $ goblint --enable warn.deterministic --disable warn.info --enable ana.race.direct-arithmetic --set ana.activated[+] "'var_eq'" --set ana.activated[+] "'symb_locks'" 16-type_rc.c 2>&1 | tee default-output-1.txt - [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (16-type_rc.c:21:3-21:15) - [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (16-type_rc.c:32:3-32:16) - [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (16-type_rc.c:33:3-33:16) - [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (16-type_rc.c:36:3-36:9) + [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (16-type_rc.c:21.3-21.15) + [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (16-type_rc.c:32.3-32.16) + [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (16-type_rc.c:33.3-33.16) + [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (16-type_rc.c:36.3-36.9) [Warning][Race] Memory location (struct s).datum (race with conf. 100): - write with thread:[main, t_fun@16-type_rc.c:35:3-35:37] (conf. 100) (exp: & s->datum) (16-type_rc.c:21:3-21:15) - write with [mhp:{created={[main, t_fun@16-type_rc.c:35:3-35:37]}}, thread:[main]] (conf. 100) (exp: & *d) (16-type_rc.c:36:3-36:9) - [Error][Imprecise][Unsound] Function definition missing for get_s (16-type_rc.c:20:12-20:24) - [Error][Imprecise][Unsound] Function definition missing for get_s (16-type_rc.c:31:3-31:14) + write with thread:[main, t_fun@16-type_rc.c:35.3-35.37] (conf. 100) (exp: & s->datum) (16-type_rc.c:21.3-21.15) + write with [mhp:{created={[main, t_fun@16-type_rc.c:35.3-35.37]}}, thread:[main]] (conf. 100) (exp: & *d) (16-type_rc.c:36.3-36.9) + [Error][Imprecise][Unsound] Function definition missing for get_s (16-type_rc.c:20.12-20.24) + [Error][Imprecise][Unsound] Function definition missing for get_s (16-type_rc.c:31.3-31.14) [Error][Imprecise][Unsound] Function definition missing $ goblint --enable warn.deterministic --disable warn.info --disable ana.race.direct-arithmetic --set ana.activated[+] "'var_eq'" --set ana.activated[+] "'symb_locks'" --enable allglobs 16-type_rc.c 2>&1 | tee default-output-2.txt - [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (16-type_rc.c:21:3-21:15) - [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (16-type_rc.c:32:3-32:16) - [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (16-type_rc.c:33:3-33:16) - [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (16-type_rc.c:36:3-36:9) + [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (16-type_rc.c:21.3-21.15) + [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (16-type_rc.c:32.3-32.16) + [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (16-type_rc.c:33.3-33.16) + [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (16-type_rc.c:36.3-36.9) [Success][Race] Memory location (struct s).datum (safe): - write with thread:[main, t_fun@16-type_rc.c:35:3-35:37] (conf. 100) (exp: & s->datum) (16-type_rc.c:21:3-21:15) - [Error][Imprecise][Unsound] Function definition missing for get_s (16-type_rc.c:20:12-20:24) - [Error][Imprecise][Unsound] Function definition missing for get_s (16-type_rc.c:31:3-31:14) + write with thread:[main, t_fun@16-type_rc.c:35.3-35.37] (conf. 100) (exp: & s->datum) (16-type_rc.c:21.3-21.15) + [Error][Imprecise][Unsound] Function definition missing for get_s (16-type_rc.c:20.12-20.24) + [Error][Imprecise][Unsound] Function definition missing for get_s (16-type_rc.c:31.3-31.14) [Error][Imprecise][Unsound] Function definition missing $ goblint --enable warn.deterministic --disable warn.info --enable ana.race.direct-arithmetic --set ana.activated[+] "'var_eq'" --set ana.activated[+] "'symb_locks'" --enable dbg.full-output 16-type_rc.c > full-output-1.txt 2>&1 $ diff default-output-1.txt full-output-1.txt 6,7c6,7 - < write with thread:[main, t_fun@16-type_rc.c:35:3-35:37] (conf. 100) (exp: & s->datum) (16-type_rc.c:21:3-21:15) - < write with [mhp:{created={[main, t_fun@16-type_rc.c:35:3-35:37]}}, thread:[main]] (conf. 100) (exp: & *d) (16-type_rc.c:36:3-36:9) + < write with thread:[main, t_fun@16-type_rc.c:35.3-35.37] (conf. 100) (exp: & s->datum) (16-type_rc.c:21.3-21.15) + < write with [mhp:{created={[main, t_fun@16-type_rc.c:35.3-35.37]}}, thread:[main]] (conf. 100) (exp: & *d) (16-type_rc.c:36.3-36.9) --- - > write with [mhp:{tid=[main, t_fun@16-type_rc.c:35:3-35:37#⊤]}, thread:[main, t_fun@16-type_rc.c:35:3-35:37#⊤]] (conf. 100) (exp: & s->datum) (16-type_rc.c:21:3-21:15) - > write with [mhp:{tid=[main]; created={[main, t_fun@16-type_rc.c:35:3-35:37#⊤]}}, thread:[main]] (conf. 100) (exp: & *d) (16-type_rc.c:36:3-36:9) + > write with [mhp:{tid=[main, t_fun@16-type_rc.c:35.3-35.37#⊤]}, thread:[main, t_fun@16-type_rc.c:35.3-35.37#⊤]] (conf. 100) (exp: & s->datum) (16-type_rc.c:21.3-21.15) + > write with [mhp:{tid=[main]; created={[main, t_fun@16-type_rc.c:35.3-35.37#⊤]}}, thread:[main]] (conf. 100) (exp: & *d) (16-type_rc.c:36.3-36.9) [1] $ goblint --enable warn.deterministic --disable warn.info --disable ana.race.direct-arithmetic --set ana.activated[+] "'var_eq'" --set ana.activated[+] "'symb_locks'" --enable allglobs --enable dbg.full-output 16-type_rc.c > full-output-2.txt 2>&1 $ diff default-output-2.txt full-output-2.txt 6c6 - < write with thread:[main, t_fun@16-type_rc.c:35:3-35:37] (conf. 100) (exp: & s->datum) (16-type_rc.c:21:3-21:15) + < write with thread:[main, t_fun@16-type_rc.c:35.3-35.37] (conf. 100) (exp: & s->datum) (16-type_rc.c:21.3-21.15) --- - > write with [mhp:{tid=[main, t_fun@16-type_rc.c:35:3-35:37#⊤]}, thread:[main, t_fun@16-type_rc.c:35:3-35:37#⊤]] (conf. 100) (exp: & s->datum) (16-type_rc.c:21:3-21:15) + > write with [mhp:{tid=[main, t_fun@16-type_rc.c:35.3-35.37#⊤]}, thread:[main, t_fun@16-type_rc.c:35.3-35.37#⊤]] (conf. 100) (exp: & s->datum) (16-type_rc.c:21.3-21.15) [1] diff --git a/tests/regression/06-symbeq/21-mult_accs_rc.t b/tests/regression/06-symbeq/21-mult_accs_rc.t index 2eacd0382e..7f1aa4250c 100644 --- a/tests/regression/06-symbeq/21-mult_accs_rc.t +++ b/tests/regression/06-symbeq/21-mult_accs_rc.t @@ -1,62 +1,62 @@ Disable info messages because race summary contains (safe) memory location count, which is different on Linux and OSX. $ goblint --enable warn.deterministic --disable warn.info --enable ana.race.direct-arithmetic --set ana.activated[+] "'var_eq'" --set ana.activated[+] "'symb_locks'" 21-mult_accs_rc.c 2>&1 | tee default-output-1.txt - [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (21-mult_accs_rc.c:14:3-14:32) - [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (21-mult_accs_rc.c:16:3-16:14) - [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (21-mult_accs_rc.c:17:3-17:34) - [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (21-mult_accs_rc.c:28:3-28:16) - [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (21-mult_accs_rc.c:29:3-29:15) - [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (21-mult_accs_rc.c:34:3-34:9) + [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (21-mult_accs_rc.c:14.3-14.32) + [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (21-mult_accs_rc.c:16.3-16.14) + [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (21-mult_accs_rc.c:17.3-17.34) + [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (21-mult_accs_rc.c:28.3-28.16) + [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (21-mult_accs_rc.c:29.3-29.15) + [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (21-mult_accs_rc.c:34.3-34.9) [Warning][Race] Memory location (struct s).data (race with conf. 100): - write with thread:[main, t_fun@21-mult_accs_rc.c:31:3-31:37] (conf. 100) (exp: & s->data) (21-mult_accs_rc.c:16:3-16:14) - write with [symblock:{p-lock:*.mutex}, mhp:{created={[main, t_fun@21-mult_accs_rc.c:31:3-31:37]}}, thread:[main]] (conf. 100) (exp: & *d) (21-mult_accs_rc.c:34:3-34:9) - [Warning][Unknown] locking NULL mutex (21-mult_accs_rc.c:14:3-14:32) - [Warning][Unknown] unlocking NULL mutex (21-mult_accs_rc.c:17:3-17:34) - [Warning][Unknown] unlocking unknown mutex which may not be held (21-mult_accs_rc.c:17:3-17:34) - [Warning][Unknown] locking NULL mutex (21-mult_accs_rc.c:33:3-33:24) - [Warning][Unknown] unlocking NULL mutex (21-mult_accs_rc.c:35:3-35:26) - [Warning][Unknown] unlocking unknown mutex which may not be held (21-mult_accs_rc.c:35:3-35:26) - [Error][Imprecise][Unsound] Function definition missing for get_s (21-mult_accs_rc.c:13:3-13:14) - [Error][Imprecise][Unsound] Function definition missing for get_s (21-mult_accs_rc.c:15:3-15:14) - [Error][Imprecise][Unsound] Function definition missing for get_s (21-mult_accs_rc.c:27:3-27:14) + write with thread:[main, t_fun@21-mult_accs_rc.c:31.3-31.37] (conf. 100) (exp: & s->data) (21-mult_accs_rc.c:16.3-16.14) + write with [symblock:{p-lock:*.mutex}, mhp:{created={[main, t_fun@21-mult_accs_rc.c:31.3-31.37]}}, thread:[main]] (conf. 100) (exp: & *d) (21-mult_accs_rc.c:34.3-34.9) + [Warning][Unknown] locking NULL mutex (21-mult_accs_rc.c:14.3-14.32) + [Warning][Unknown] unlocking NULL mutex (21-mult_accs_rc.c:17.3-17.34) + [Warning][Unknown] unlocking unknown mutex which may not be held (21-mult_accs_rc.c:17.3-17.34) + [Warning][Unknown] locking NULL mutex (21-mult_accs_rc.c:33.3-33.24) + [Warning][Unknown] unlocking NULL mutex (21-mult_accs_rc.c:35.3-35.26) + [Warning][Unknown] unlocking unknown mutex which may not be held (21-mult_accs_rc.c:35.3-35.26) + [Error][Imprecise][Unsound] Function definition missing for get_s (21-mult_accs_rc.c:13.3-13.14) + [Error][Imprecise][Unsound] Function definition missing for get_s (21-mult_accs_rc.c:15.3-15.14) + [Error][Imprecise][Unsound] Function definition missing for get_s (21-mult_accs_rc.c:27.3-27.14) [Error][Imprecise][Unsound] Function definition missing $ goblint --enable warn.deterministic --disable warn.info --disable ana.race.direct-arithmetic --set ana.activated[+] "'var_eq'" --set ana.activated[+] "'symb_locks'" --enable allglobs 21-mult_accs_rc.c 2>&1 | tee default-output-2.txt - [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (21-mult_accs_rc.c:14:3-14:32) - [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (21-mult_accs_rc.c:16:3-16:14) - [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (21-mult_accs_rc.c:17:3-17:34) - [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (21-mult_accs_rc.c:28:3-28:16) - [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (21-mult_accs_rc.c:29:3-29:15) - [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (21-mult_accs_rc.c:34:3-34:9) + [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (21-mult_accs_rc.c:14.3-14.32) + [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (21-mult_accs_rc.c:16.3-16.14) + [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (21-mult_accs_rc.c:17.3-17.34) + [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (21-mult_accs_rc.c:28.3-28.16) + [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (21-mult_accs_rc.c:29.3-29.15) + [Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (21-mult_accs_rc.c:34.3-34.9) [Success][Race] Memory location (struct s).data (safe): - write with thread:[main, t_fun@21-mult_accs_rc.c:31:3-31:37] (conf. 100) (exp: & s->data) (21-mult_accs_rc.c:16:3-16:14) - [Warning][Unknown] locking NULL mutex (21-mult_accs_rc.c:14:3-14:32) - [Warning][Unknown] unlocking NULL mutex (21-mult_accs_rc.c:17:3-17:34) - [Warning][Unknown] unlocking unknown mutex which may not be held (21-mult_accs_rc.c:17:3-17:34) - [Warning][Unknown] locking NULL mutex (21-mult_accs_rc.c:33:3-33:24) - [Warning][Unknown] unlocking NULL mutex (21-mult_accs_rc.c:35:3-35:26) - [Warning][Unknown] unlocking unknown mutex which may not be held (21-mult_accs_rc.c:35:3-35:26) - [Error][Imprecise][Unsound] Function definition missing for get_s (21-mult_accs_rc.c:13:3-13:14) - [Error][Imprecise][Unsound] Function definition missing for get_s (21-mult_accs_rc.c:15:3-15:14) - [Error][Imprecise][Unsound] Function definition missing for get_s (21-mult_accs_rc.c:27:3-27:14) + write with thread:[main, t_fun@21-mult_accs_rc.c:31.3-31.37] (conf. 100) (exp: & s->data) (21-mult_accs_rc.c:16.3-16.14) + [Warning][Unknown] locking NULL mutex (21-mult_accs_rc.c:14.3-14.32) + [Warning][Unknown] unlocking NULL mutex (21-mult_accs_rc.c:17.3-17.34) + [Warning][Unknown] unlocking unknown mutex which may not be held (21-mult_accs_rc.c:17.3-17.34) + [Warning][Unknown] locking NULL mutex (21-mult_accs_rc.c:33.3-33.24) + [Warning][Unknown] unlocking NULL mutex (21-mult_accs_rc.c:35.3-35.26) + [Warning][Unknown] unlocking unknown mutex which may not be held (21-mult_accs_rc.c:35.3-35.26) + [Error][Imprecise][Unsound] Function definition missing for get_s (21-mult_accs_rc.c:13.3-13.14) + [Error][Imprecise][Unsound] Function definition missing for get_s (21-mult_accs_rc.c:15.3-15.14) + [Error][Imprecise][Unsound] Function definition missing for get_s (21-mult_accs_rc.c:27.3-27.14) [Error][Imprecise][Unsound] Function definition missing $ goblint --enable warn.deterministic --disable warn.info --enable ana.race.direct-arithmetic --set ana.activated[+] "'var_eq'" --set ana.activated[+] "'symb_locks'" --enable dbg.full-output 21-mult_accs_rc.c > full-output-1.txt 2>&1 $ diff default-output-1.txt full-output-1.txt 8,9c8,9 - < write with thread:[main, t_fun@21-mult_accs_rc.c:31:3-31:37] (conf. 100) (exp: & s->data) (21-mult_accs_rc.c:16:3-16:14) - < write with [symblock:{p-lock:*.mutex}, mhp:{created={[main, t_fun@21-mult_accs_rc.c:31:3-31:37]}}, thread:[main]] (conf. 100) (exp: & *d) (21-mult_accs_rc.c:34:3-34:9) + < write with thread:[main, t_fun@21-mult_accs_rc.c:31.3-31.37] (conf. 100) (exp: & s->data) (21-mult_accs_rc.c:16.3-16.14) + < write with [symblock:{p-lock:*.mutex}, mhp:{created={[main, t_fun@21-mult_accs_rc.c:31.3-31.37]}}, thread:[main]] (conf. 100) (exp: & *d) (21-mult_accs_rc.c:34.3-34.9) --- - > write with [mhp:{tid=[main, t_fun@21-mult_accs_rc.c:31:3-31:37#⊤]}, thread:[main, t_fun@21-mult_accs_rc.c:31:3-31:37#⊤]] (conf. 100) (exp: & s->data) (21-mult_accs_rc.c:16:3-16:14) - > write with [symblock:{p-lock:*.mutex}, mhp:{tid=[main]; created={[main, t_fun@21-mult_accs_rc.c:31:3-31:37#⊤]}}, thread:[main]] (conf. 100) (exp: & *d) (21-mult_accs_rc.c:34:3-34:9) + > write with [mhp:{tid=[main, t_fun@21-mult_accs_rc.c:31.3-31.37#⊤]}, thread:[main, t_fun@21-mult_accs_rc.c:31.3-31.37#⊤]] (conf. 100) (exp: & s->data) (21-mult_accs_rc.c:16.3-16.14) + > write with [symblock:{p-lock:*.mutex}, mhp:{tid=[main]; created={[main, t_fun@21-mult_accs_rc.c:31.3-31.37#⊤]}}, thread:[main]] (conf. 100) (exp: & *d) (21-mult_accs_rc.c:34.3-34.9) [1] $ goblint --enable warn.deterministic --disable warn.info --disable ana.race.direct-arithmetic --set ana.activated[+] "'var_eq'" --set ana.activated[+] "'symb_locks'" --enable allglobs --enable dbg.full-output 21-mult_accs_rc.c > full-output-2.txt 2>&1 $ diff default-output-2.txt full-output-2.txt 8c8 - < write with thread:[main, t_fun@21-mult_accs_rc.c:31:3-31:37] (conf. 100) (exp: & s->data) (21-mult_accs_rc.c:16:3-16:14) + < write with thread:[main, t_fun@21-mult_accs_rc.c:31.3-31.37] (conf. 100) (exp: & s->data) (21-mult_accs_rc.c:16.3-16.14) --- - > write with [mhp:{tid=[main, t_fun@21-mult_accs_rc.c:31:3-31:37#⊤]}, thread:[main, t_fun@21-mult_accs_rc.c:31:3-31:37#⊤]] (conf. 100) (exp: & s->data) (21-mult_accs_rc.c:16:3-16:14) + > write with [mhp:{tid=[main, t_fun@21-mult_accs_rc.c:31.3-31.37#⊤]}, thread:[main, t_fun@21-mult_accs_rc.c:31.3-31.37#⊤]] (conf. 100) (exp: & s->data) (21-mult_accs_rc.c:16.3-16.14) [1] diff --git a/tests/regression/13-privatized/01-priv_nr.t b/tests/regression/13-privatized/01-priv_nr.t index f5b970a93c..55215e81c5 100644 --- a/tests/regression/13-privatized/01-priv_nr.t +++ b/tests/regression/13-privatized/01-priv_nr.t @@ -1,10 +1,10 @@ `protection` privatization: $ goblint --enable witness.yaml.enabled --set witness.yaml.entry-types '["location_invariant"]' --disable witness.invariant.other --set ana.base.privatization protection 01-priv_nr.c - [Success][Assert] Assertion "glob1 == 5" will succeed (01-priv_nr.c:22:3-22:30) - [Success][Assert] Assertion "t == 5" will succeed (01-priv_nr.c:12:3-12:26) - [Success][Assert] Assertion "glob1 == -10" will succeed (01-priv_nr.c:14:3-14:32) - [Success][Assert] Assertion "glob1 == 6" will succeed (01-priv_nr.c:26:3-26:30) + [Success][Assert] Assertion "glob1 == 5" will succeed (01-priv_nr.c:22.3-22.30) + [Success][Assert] Assertion "t == 5" will succeed (01-priv_nr.c:12.3-12.26) + [Success][Assert] Assertion "glob1 == -10" will succeed (01-priv_nr.c:14.3-14.32) + [Success][Assert] Assertion "glob1 == 6" will succeed (01-priv_nr.c:26.3-26.30) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 19 dead: 0 @@ -55,10 +55,10 @@ `vojdani` privatization: $ goblint --enable witness.yaml.enabled --set witness.yaml.entry-types '["location_invariant"]' --disable witness.invariant.other --set ana.base.privatization vojdani 01-priv_nr.c - [Success][Assert] Assertion "glob1 == 5" will succeed (01-priv_nr.c:22:3-22:30) - [Success][Assert] Assertion "t == 5" will succeed (01-priv_nr.c:12:3-12:26) - [Success][Assert] Assertion "glob1 == -10" will succeed (01-priv_nr.c:14:3-14:32) - [Success][Assert] Assertion "glob1 == 6" will succeed (01-priv_nr.c:26:3-26:30) + [Success][Assert] Assertion "glob1 == 5" will succeed (01-priv_nr.c:22.3-22.30) + [Success][Assert] Assertion "t == 5" will succeed (01-priv_nr.c:12.3-12.26) + [Success][Assert] Assertion "glob1 == -10" will succeed (01-priv_nr.c:14.3-14.32) + [Success][Assert] Assertion "glob1 == 6" will succeed (01-priv_nr.c:26.3-26.30) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 19 dead: 0 @@ -109,10 +109,10 @@ `mutex-meet` privatization: $ goblint --enable witness.yaml.enabled --set witness.yaml.entry-types '["location_invariant"]' --disable witness.invariant.other --set ana.base.privatization mutex-meet 01-priv_nr.c - [Success][Assert] Assertion "glob1 == 5" will succeed (01-priv_nr.c:22:3-22:30) - [Success][Assert] Assertion "t == 5" will succeed (01-priv_nr.c:12:3-12:26) - [Success][Assert] Assertion "glob1 == -10" will succeed (01-priv_nr.c:14:3-14:32) - [Success][Assert] Assertion "glob1 == 6" will succeed (01-priv_nr.c:26:3-26:30) + [Success][Assert] Assertion "glob1 == 5" will succeed (01-priv_nr.c:22.3-22.30) + [Success][Assert] Assertion "t == 5" will succeed (01-priv_nr.c:12.3-12.26) + [Success][Assert] Assertion "glob1 == -10" will succeed (01-priv_nr.c:14.3-14.32) + [Success][Assert] Assertion "glob1 == 6" will succeed (01-priv_nr.c:26.3-26.30) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 19 dead: 0 @@ -163,10 +163,10 @@ `write+lock` privatization: $ goblint --enable witness.yaml.enabled --set witness.yaml.entry-types '["location_invariant"]' --disable witness.invariant.other --set ana.base.privatization write+lock 01-priv_nr.c - [Success][Assert] Assertion "glob1 == 5" will succeed (01-priv_nr.c:22:3-22:30) - [Success][Assert] Assertion "t == 5" will succeed (01-priv_nr.c:12:3-12:26) - [Success][Assert] Assertion "glob1 == -10" will succeed (01-priv_nr.c:14:3-14:32) - [Success][Assert] Assertion "glob1 == 6" will succeed (01-priv_nr.c:26:3-26:30) + [Success][Assert] Assertion "glob1 == 5" will succeed (01-priv_nr.c:22.3-22.30) + [Success][Assert] Assertion "t == 5" will succeed (01-priv_nr.c:12.3-12.26) + [Success][Assert] Assertion "glob1 == -10" will succeed (01-priv_nr.c:14.3-14.32) + [Success][Assert] Assertion "glob1 == 6" will succeed (01-priv_nr.c:26.3-26.30) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 19 dead: 0 diff --git a/tests/regression/13-privatized/04-priv_multi.t b/tests/regression/13-privatized/04-priv_multi.t index b36663f72b..67f557018b 100644 --- a/tests/regression/13-privatized/04-priv_multi.t +++ b/tests/regression/13-privatized/04-priv_multi.t @@ -1,6 +1,6 @@ $ goblint --set ana.base.privatization protection --enable witness.yaml.enabled --set ana.activated[+] mutexGhosts --set witness.yaml.entry-types '["flow_insensitive_invariant", "ghost_instrumentation"]' 04-priv_multi.c - [Success][Assert] Assertion "p == 5" will succeed (04-priv_multi.c:50:7-50:30) - [Success][Assert] Assertion "A == B" will succeed (04-priv_multi.c:71:5-71:28) + [Success][Assert] Assertion "p == 5" will succeed (04-priv_multi.c:50.7-50.30) + [Success][Assert] Assertion "A == B" will succeed (04-priv_multi.c:71.5-71.28) [Warning][Deadcode] Function 'dispose' has dead code: on line 53 (04-priv_multi.c:53-53) on line 56 (04-priv_multi.c:56-56) @@ -11,10 +11,10 @@ live: 40 dead: 4 total lines: 44 - [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (04-priv_multi.c:25:10-25:11) - [Warning][Deadcode][CWE-571] condition 'A > 0' is always true (04-priv_multi.c:27:9-27:14) - [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (04-priv_multi.c:45:10-45:11) - [Warning][Deadcode][CWE-571] condition 'B > 0' is always true (04-priv_multi.c:47:9-47:14) + [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (04-priv_multi.c:25.10-25.11) + [Warning][Deadcode][CWE-571] condition 'A > 0' is always true (04-priv_multi.c:27.9-27.14) + [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (04-priv_multi.c:45.10-45.11) + [Warning][Deadcode][CWE-571] condition 'B > 0' is always true (04-priv_multi.c:47.9-47.14) [Info][Witness] witness generation summary: location invariants: 0 loop invariants: 0 @@ -185,8 +185,8 @@ Flow-insensitive invariants as location invariants. $ goblint --set ana.base.privatization protection --enable witness.yaml.enabled --set ana.activated[+] mutexGhosts --set witness.yaml.entry-types '["flow_insensitive_invariant", "ghost_instrumentation"]' --set witness.invariant.flow_insensitive-as location_invariant 04-priv_multi.c - [Success][Assert] Assertion "p == 5" will succeed (04-priv_multi.c:50:7-50:30) - [Success][Assert] Assertion "A == B" will succeed (04-priv_multi.c:71:5-71:28) + [Success][Assert] Assertion "p == 5" will succeed (04-priv_multi.c:50.7-50.30) + [Success][Assert] Assertion "A == B" will succeed (04-priv_multi.c:71.5-71.28) [Warning][Deadcode] Function 'dispose' has dead code: on line 53 (04-priv_multi.c:53-53) on line 56 (04-priv_multi.c:56-56) @@ -197,10 +197,10 @@ Flow-insensitive invariants as location invariants. live: 40 dead: 4 total lines: 44 - [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (04-priv_multi.c:25:10-25:11) - [Warning][Deadcode][CWE-571] condition 'A > 0' is always true (04-priv_multi.c:27:9-27:14) - [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (04-priv_multi.c:45:10-45:11) - [Warning][Deadcode][CWE-571] condition 'B > 0' is always true (04-priv_multi.c:47:9-47:14) + [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (04-priv_multi.c:25.10-25.11) + [Warning][Deadcode][CWE-571] condition 'A > 0' is always true (04-priv_multi.c:27.9-27.14) + [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (04-priv_multi.c:45.10-45.11) + [Warning][Deadcode][CWE-571] condition 'B > 0' is always true (04-priv_multi.c:47.9-47.14) [Info][Witness] witness generation summary: location invariants: 9 loop invariants: 0 diff --git a/tests/regression/13-privatized/25-struct_nr.t b/tests/regression/13-privatized/25-struct_nr.t index 8e5e844a37..52e0ba8fa3 100644 --- a/tests/regression/13-privatized/25-struct_nr.t +++ b/tests/regression/13-privatized/25-struct_nr.t @@ -1,8 +1,8 @@ $ goblint --set ana.base.privatization protection --enable witness.yaml.enabled --set ana.activated[+] mutexGhosts --set witness.yaml.entry-types '["flow_insensitive_invariant", "ghost_instrumentation"]' 25-struct_nr.c - [Success][Assert] Assertion "glob1 == 5" will succeed (25-struct_nr.c:26:3-26:30) - [Success][Assert] Assertion "t == 5" will succeed (25-struct_nr.c:16:3-16:26) - [Success][Assert] Assertion "glob1 == -10" will succeed (25-struct_nr.c:18:3-18:32) - [Success][Assert] Assertion "glob1 == 6" will succeed (25-struct_nr.c:30:3-30:30) + [Success][Assert] Assertion "glob1 == 5" will succeed (25-struct_nr.c:26.3-26.30) + [Success][Assert] Assertion "t == 5" will succeed (25-struct_nr.c:16.3-16.26) + [Success][Assert] Assertion "glob1 == -10" will succeed (25-struct_nr.c:18.3-18.32) + [Success][Assert] Assertion "glob1 == 6" will succeed (25-struct_nr.c:30.3-30.30) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 19 dead: 0 diff --git a/tests/regression/13-privatized/63-access-threadspawn-lval.t b/tests/regression/13-privatized/63-access-threadspawn-lval.t index 2b7acced59..0774d8ed2e 100644 --- a/tests/regression/13-privatized/63-access-threadspawn-lval.t +++ b/tests/regression/13-privatized/63-access-threadspawn-lval.t @@ -6,19 +6,19 @@ Should have (safe) write accesses to id1 and id2: vulnerable: 0 unsafe: 0 total memory locations: 2 - [Success][Race] Memory location id1 (safe): (63-access-threadspawn-lval.c:4:11-4:14) - write with [multi:false, thread:[main]] (conf. 110) (exp: & *((pthread_t * __restrict )(& id1))) (63-access-threadspawn-lval.c:27:3-27:37) - [Success][Race] Memory location id2 (safe): (63-access-threadspawn-lval.c:5:11-5:14) - write with [mhp:{created={[main, f@63-access-threadspawn-lval.c:27:3-27:37]}}, thread:[main]] (conf. 110) (exp: (pthread_t * __restrict )(& id2)) (63-access-threadspawn-lval.c:28:3-28:37) - write with [mhp:{created={[main, f@63-access-threadspawn-lval.c:27:3-27:37]}}, thread:[main]] (conf. 110) (exp: & *((pthread_t * __restrict )(& id2))) (63-access-threadspawn-lval.c:28:3-28:37) + [Success][Race] Memory location id1 (safe): (63-access-threadspawn-lval.c:4.11-4.14) + write with [multi:false, thread:[main]] (conf. 110) (exp: & *((pthread_t * __restrict )(& id1))) (63-access-threadspawn-lval.c:27.3-27.37) + [Success][Race] Memory location id2 (safe): (63-access-threadspawn-lval.c:5.11-5.14) + write with [mhp:{created={[main, f@63-access-threadspawn-lval.c:27.3-27.37]}}, thread:[main]] (conf. 110) (exp: (pthread_t * __restrict )(& id2)) (63-access-threadspawn-lval.c:28.3-28.37) + write with [mhp:{created={[main, f@63-access-threadspawn-lval.c:27.3-27.37]}}, thread:[main]] (conf. 110) (exp: & *((pthread_t * __restrict )(& id2))) (63-access-threadspawn-lval.c:28.3-28.37) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 13 dead: 0 total lines: 13 - [Info][Imprecise] INVALIDATING ALL GLOBALS! (63-access-threadspawn-lval.c:13:3-13:11) - [Info][Imprecise] Invalidating expressions: & A, & id2, & id1 (63-access-threadspawn-lval.c:13:3-13:11) - [Info][Imprecise] INVALIDATING ALL GLOBALS! (63-access-threadspawn-lval.c:21:3-21:12) - [Info][Imprecise] Invalidating expressions: & A, & id2, & id1, & e (63-access-threadspawn-lval.c:21:3-21:12) - [Error][Imprecise][Unsound] Function definition missing for magic1 (63-access-threadspawn-lval.c:13:3-13:11) - [Error][Imprecise][Unsound] Function definition missing for magic2 (63-access-threadspawn-lval.c:21:3-21:12) + [Info][Imprecise] INVALIDATING ALL GLOBALS! (63-access-threadspawn-lval.c:13.3-13.11) + [Info][Imprecise] Invalidating expressions: & A, & id2, & id1 (63-access-threadspawn-lval.c:13.3-13.11) + [Info][Imprecise] INVALIDATING ALL GLOBALS! (63-access-threadspawn-lval.c:21.3-21.12) + [Info][Imprecise] Invalidating expressions: & A, & id2, & id1, & e (63-access-threadspawn-lval.c:21.3-21.12) + [Error][Imprecise][Unsound] Function definition missing for magic1 (63-access-threadspawn-lval.c:13.3-13.11) + [Error][Imprecise][Unsound] Function definition missing for magic2 (63-access-threadspawn-lval.c:21.3-21.12) [Error][Imprecise][Unsound] Function definition missing diff --git a/tests/regression/13-privatized/64-access-invalidate.t b/tests/regression/13-privatized/64-access-invalidate.t index 28227ec475..fdce6f1d7e 100644 --- a/tests/regression/13-privatized/64-access-invalidate.t +++ b/tests/regression/13-privatized/64-access-invalidate.t @@ -1,18 +1,18 @@ Should have (safe) write access to id1 and magic2 invalidate to A: $ goblint --enable allglobs 64-access-invalidate.c - [Error][Imprecise][Unsound] Function definition missing for magic2 (64-access-invalidate.c:16:3-16:12) - [Info][Imprecise] INVALIDATING ALL GLOBALS! (64-access-invalidate.c:16:3-16:12) - [Info][Imprecise] Invalidating expressions: & A, & id, & e (64-access-invalidate.c:16:3-16:12) - [Error][Imprecise][Unsound] Function definition missing for magic1 (64-access-invalidate.c:12:3-12:11) - [Info][Imprecise] INVALIDATING ALL GLOBALS! (64-access-invalidate.c:12:3-12:11) - [Info][Imprecise] Invalidating expressions: & A, & id (64-access-invalidate.c:12:3-12:11) + [Error][Imprecise][Unsound] Function definition missing for magic2 (64-access-invalidate.c:16.3-16.12) + [Info][Imprecise] INVALIDATING ALL GLOBALS! (64-access-invalidate.c:16.3-16.12) + [Info][Imprecise] Invalidating expressions: & A, & id, & e (64-access-invalidate.c:16.3-16.12) + [Error][Imprecise][Unsound] Function definition missing for magic1 (64-access-invalidate.c:12.3-12.11) + [Info][Imprecise] INVALIDATING ALL GLOBALS! (64-access-invalidate.c:12.3-12.11) + [Info][Imprecise] Invalidating expressions: & A, & id (64-access-invalidate.c:12.3-12.11) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 10 dead: 0 total lines: 10 - [Success][Race] Memory location id (safe): (64-access-invalidate.c:4:11-4:13) - write with [multi:false, thread:[main]] (conf. 110) (exp: & *((pthread_t * __restrict )(& id))) (64-access-invalidate.c:21:3-21:36) + [Success][Race] Memory location id (safe): (64-access-invalidate.c:4.11-4.13) + write with [multi:false, thread:[main]] (conf. 110) (exp: & *((pthread_t * __restrict )(& id))) (64-access-invalidate.c:21.3-21.36) [Info][Race] Memory locations race summary: safe: 1 vulnerable: 0 diff --git a/tests/regression/13-privatized/74-mutex.t b/tests/regression/13-privatized/74-mutex.t index c8c92ddcef..5f6b5ac5ee 100644 --- a/tests/regression/13-privatized/74-mutex.t +++ b/tests/regression/13-privatized/74-mutex.t @@ -1,12 +1,12 @@ $ goblint --enable ana.sv-comp.functions --set ana.base.privatization protection --enable witness.yaml.enabled --set ana.activated[+] mutexGhosts --set witness.yaml.entry-types '["flow_insensitive_invariant", "ghost_instrumentation"]' 74-mutex.c - [Success][Assert] Assertion "used == 0" will succeed (74-mutex.c:37:3-37:29) + [Success][Assert] Assertion "used == 0" will succeed (74-mutex.c:37.3-37.29) [Warning][Deadcode] Function 'producer' has dead code: on line 26 (74-mutex.c:26-26) [Warning][Deadcode] Logical lines of code (LLoC) summary: live: 14 dead: 1 total lines: 15 - [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (74-mutex.c:19:10-19:11) + [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (74-mutex.c:19.10-19.11) [Info][Witness] witness generation summary: location invariants: 0 loop invariants: 0 @@ -94,14 +94,14 @@ Flow-insensitive invariants as location invariants. $ goblint --enable ana.sv-comp.functions --set ana.base.privatization protection --enable witness.yaml.enabled --set ana.activated[+] mutexGhosts --set witness.yaml.entry-types '["flow_insensitive_invariant", "ghost_instrumentation"]' --set witness.invariant.flow_insensitive-as location_invariant 74-mutex.c - [Success][Assert] Assertion "used == 0" will succeed (74-mutex.c:37:3-37:29) + [Success][Assert] Assertion "used == 0" will succeed (74-mutex.c:37.3-37.29) [Warning][Deadcode] Function 'producer' has dead code: on line 26 (74-mutex.c:26-26) [Warning][Deadcode] Logical lines of code (LLoC) summary: live: 14 dead: 1 total lines: 15 - [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (74-mutex.c:19:10-19:11) + [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (74-mutex.c:19.10-19.11) [Info][Witness] witness generation summary: location invariants: 2 loop invariants: 0 @@ -144,14 +144,14 @@ Should also work with earlyglobs. Earlyglobs shouldn't cause protected writes in multithreaded mode from being immediately published to protected invariant. $ goblint --enable ana.sv-comp.functions --set ana.base.privatization protection --enable exp.earlyglobs 74-mutex.c - [Success][Assert] Assertion "used == 0" will succeed (74-mutex.c:37:3-37:29) + [Success][Assert] Assertion "used == 0" will succeed (74-mutex.c:37.3-37.29) [Warning][Deadcode] Function 'producer' has dead code: on line 26 (74-mutex.c:26-26) [Warning][Deadcode] Logical lines of code (LLoC) summary: live: 14 dead: 1 total lines: 15 - [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (74-mutex.c:19:10-19:11) + [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (74-mutex.c:19.10-19.11) [Info][Race] Memory locations race summary: safe: 1 vulnerable: 0 @@ -161,14 +161,14 @@ Earlyglobs shouldn't cause protected writes in multithreaded mode from being imm Same with ghost_instrumentation and invariant_set entries. $ goblint --enable ana.sv-comp.functions --set ana.base.privatization protection --enable witness.yaml.enabled --set ana.activated[+] mutexGhosts --set witness.yaml.entry-types '["flow_insensitive_invariant", "ghost_instrumentation"]' --set witness.invariant.flow_insensitive-as invariant_set-location_invariant 74-mutex.c - [Success][Assert] Assertion "used == 0" will succeed (74-mutex.c:37:3-37:29) + [Success][Assert] Assertion "used == 0" will succeed (74-mutex.c:37.3-37.29) [Warning][Deadcode] Function 'producer' has dead code: on line 26 (74-mutex.c:26-26) [Warning][Deadcode] Logical lines of code (LLoC) summary: live: 14 dead: 1 total lines: 15 - [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (74-mutex.c:19:10-19:11) + [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (74-mutex.c:19.10-19.11) [Info][Witness] witness generation summary: location invariants: 2 loop invariants: 0 @@ -266,14 +266,14 @@ Same with ghost_instrumentation and invariant_set entries. Same protected invariant with vojdani but no unprotected invariant. $ goblint --enable ana.sv-comp.functions --set ana.base.privatization vojdani --enable witness.yaml.enabled --set ana.activated[+] mutexGhosts --set witness.yaml.entry-types '["flow_insensitive_invariant", "ghost_instrumentation"]' 74-mutex.c - [Success][Assert] Assertion "used == 0" will succeed (74-mutex.c:37:3-37:29) + [Success][Assert] Assertion "used == 0" will succeed (74-mutex.c:37.3-37.29) [Warning][Deadcode] Function 'producer' has dead code: on line 26 (74-mutex.c:26-26) [Warning][Deadcode] Logical lines of code (LLoC) summary: live: 14 dead: 1 total lines: 15 - [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (74-mutex.c:19:10-19:11) + [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (74-mutex.c:19.10-19.11) [Info][Witness] witness generation summary: location invariants: 0 loop invariants: 0 @@ -356,14 +356,14 @@ Same protected invariant with vojdani but no unprotected invariant. Same as protection with mutex-meet. $ goblint --enable ana.sv-comp.functions --set ana.base.privatization mutex-meet --enable witness.yaml.enabled --set ana.activated[+] mutexGhosts --set witness.yaml.entry-types '["flow_insensitive_invariant", "ghost_instrumentation"]' 74-mutex.c - [Success][Assert] Assertion "used == 0" will succeed (74-mutex.c:37:3-37:29) + [Success][Assert] Assertion "used == 0" will succeed (74-mutex.c:37.3-37.29) [Warning][Deadcode] Function 'producer' has dead code: on line 26 (74-mutex.c:26-26) [Warning][Deadcode] Logical lines of code (LLoC) summary: live: 14 dead: 1 total lines: 15 - [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (74-mutex.c:19:10-19:11) + [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (74-mutex.c:19.10-19.11) [Info][Witness] witness generation summary: location invariants: 0 loop invariants: 0 @@ -451,14 +451,14 @@ Same as protection with mutex-meet. Should also work with earlyglobs. $ goblint --enable ana.sv-comp.functions --set ana.base.privatization mutex-meet --enable exp.earlyglobs 74-mutex.c - [Success][Assert] Assertion "used == 0" will succeed (74-mutex.c:37:3-37:29) + [Success][Assert] Assertion "used == 0" will succeed (74-mutex.c:37.3-37.29) [Warning][Deadcode] Function 'producer' has dead code: on line 26 (74-mutex.c:26-26) [Warning][Deadcode] Logical lines of code (LLoC) summary: live: 14 dead: 1 total lines: 15 - [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (74-mutex.c:19:10-19:11) + [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (74-mutex.c:19.10-19.11) [Info][Race] Memory locations race summary: safe: 1 vulnerable: 0 diff --git a/tests/regression/13-privatized/92-idx_priv.t b/tests/regression/13-privatized/92-idx_priv.t index 8c91141fac..8d4623eea8 100644 --- a/tests/regression/13-privatized/92-idx_priv.t +++ b/tests/regression/13-privatized/92-idx_priv.t @@ -1,5 +1,5 @@ $ goblint --set ana.base.privatization protection --enable witness.yaml.enabled --set ana.activated[+] mutexGhosts --set witness.yaml.entry-types '["flow_insensitive_invariant", "ghost_instrumentation"]' 92-idx_priv.c - [Success][Assert] Assertion "data == 0" will succeed (92-idx_priv.c:22:3-22:29) + [Success][Assert] Assertion "data == 0" will succeed (92-idx_priv.c:22.3-22.29) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 14 dead: 0 diff --git a/tests/regression/13-privatized/93-unlock-idx-ambiguous.t b/tests/regression/13-privatized/93-unlock-idx-ambiguous.t index 8f24d728bf..4837bc637d 100644 --- a/tests/regression/13-privatized/93-unlock-idx-ambiguous.t +++ b/tests/regression/13-privatized/93-unlock-idx-ambiguous.t @@ -1,6 +1,6 @@ $ goblint --set ana.base.privatization protection --enable ana.sv-comp.functions 93-unlock-idx-ambiguous.c - [Warning][Unknown] unlocking mutex (m[def_exc:Unknown int([0,1])]) which may not be held (93-unlock-idx-ambiguous.c:14:3-14:30) - [Warning][Assert] Assertion "g == 0" is unknown. (93-unlock-idx-ambiguous.c:24:3-24:26) + [Warning][Unknown] unlocking mutex (m[def_exc:Unknown int([0,1])]) which may not be held (93-unlock-idx-ambiguous.c:14.3-14.30) + [Warning][Assert] Assertion "g == 0" is unknown. (93-unlock-idx-ambiguous.c:24.3-24.26) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 14 dead: 0 @@ -12,8 +12,8 @@ total memory locations: 1 $ goblint --set ana.base.privatization mutex-meet --enable ana.sv-comp.functions 93-unlock-idx-ambiguous.c - [Warning][Unknown] unlocking mutex (m[def_exc:Unknown int([0,1])]) which may not be held (93-unlock-idx-ambiguous.c:14:3-14:30) - [Warning][Assert] Assertion "g == 0" is unknown. (93-unlock-idx-ambiguous.c:24:3-24:26) + [Warning][Unknown] unlocking mutex (m[def_exc:Unknown int([0,1])]) which may not be held (93-unlock-idx-ambiguous.c:14.3-14.30) + [Warning][Assert] Assertion "g == 0" is unknown. (93-unlock-idx-ambiguous.c:24.3-24.26) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 14 dead: 0 @@ -25,8 +25,8 @@ total memory locations: 1 $ goblint --set ana.base.privatization lock --enable ana.sv-comp.functions 93-unlock-idx-ambiguous.c - [Warning][Unknown] unlocking mutex (m[def_exc:Unknown int([0,1])]) which may not be held (93-unlock-idx-ambiguous.c:14:3-14:30) - [Warning][Assert] Assertion "g == 0" is unknown. (93-unlock-idx-ambiguous.c:24:3-24:26) + [Warning][Unknown] unlocking mutex (m[def_exc:Unknown int([0,1])]) which may not be held (93-unlock-idx-ambiguous.c:14.3-14.30) + [Warning][Assert] Assertion "g == 0" is unknown. (93-unlock-idx-ambiguous.c:24.3-24.26) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 14 dead: 0 @@ -38,8 +38,8 @@ total memory locations: 1 $ goblint --set ana.base.privatization write --enable ana.sv-comp.functions 93-unlock-idx-ambiguous.c - [Warning][Unknown] unlocking mutex (m[def_exc:Unknown int([0,1])]) which may not be held (93-unlock-idx-ambiguous.c:14:3-14:30) - [Warning][Assert] Assertion "g == 0" is unknown. (93-unlock-idx-ambiguous.c:24:3-24:26) + [Warning][Unknown] unlocking mutex (m[def_exc:Unknown int([0,1])]) which may not be held (93-unlock-idx-ambiguous.c:14.3-14.30) + [Warning][Assert] Assertion "g == 0" is unknown. (93-unlock-idx-ambiguous.c:24.3-24.26) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 14 dead: 0 @@ -51,8 +51,8 @@ total memory locations: 1 $ goblint --set ana.base.privatization mine-nothread --enable ana.sv-comp.functions 93-unlock-idx-ambiguous.c - [Warning][Unknown] unlocking mutex (m[def_exc:Unknown int([0,1])]) which may not be held (93-unlock-idx-ambiguous.c:14:3-14:30) - [Warning][Assert] Assertion "g == 0" is unknown. (93-unlock-idx-ambiguous.c:24:3-24:26) + [Warning][Unknown] unlocking mutex (m[def_exc:Unknown int([0,1])]) which may not be held (93-unlock-idx-ambiguous.c:14.3-14.30) + [Warning][Assert] Assertion "g == 0" is unknown. (93-unlock-idx-ambiguous.c:24.3-24.26) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 14 dead: 0 diff --git a/tests/regression/13-privatized/94-unlock-unknown.t b/tests/regression/13-privatized/94-unlock-unknown.t index cc0aa921fe..0e289c3188 100644 --- a/tests/regression/13-privatized/94-unlock-unknown.t +++ b/tests/regression/13-privatized/94-unlock-unknown.t @@ -1,7 +1,7 @@ $ goblint --set ana.base.privatization protection --enable ana.sv-comp.functions 94-unlock-unknown.c - [Warning][Unknown] unlocking unknown mutex which may not be held (94-unlock-unknown.c:12:3-12:26) - [Warning][Unknown] unlocking NULL mutex (94-unlock-unknown.c:12:3-12:26) - [Warning][Assert] Assertion "g == 0" is unknown. (94-unlock-unknown.c:22:3-22:26) + [Warning][Unknown] unlocking unknown mutex which may not be held (94-unlock-unknown.c:12.3-12.26) + [Warning][Unknown] unlocking NULL mutex (94-unlock-unknown.c:12.3-12.26) + [Warning][Assert] Assertion "g == 0" is unknown. (94-unlock-unknown.c:22.3-22.26) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 11 dead: 0 @@ -13,9 +13,9 @@ total memory locations: 1 $ goblint --set ana.base.privatization mutex-meet --enable ana.sv-comp.functions 94-unlock-unknown.c - [Warning][Unknown] unlocking unknown mutex which may not be held (94-unlock-unknown.c:12:3-12:26) - [Warning][Unknown] unlocking NULL mutex (94-unlock-unknown.c:12:3-12:26) - [Warning][Assert] Assertion "g == 0" is unknown. (94-unlock-unknown.c:22:3-22:26) + [Warning][Unknown] unlocking unknown mutex which may not be held (94-unlock-unknown.c:12.3-12.26) + [Warning][Unknown] unlocking NULL mutex (94-unlock-unknown.c:12.3-12.26) + [Warning][Assert] Assertion "g == 0" is unknown. (94-unlock-unknown.c:22.3-22.26) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 11 dead: 0 @@ -27,9 +27,9 @@ total memory locations: 1 $ goblint --set ana.base.privatization lock --enable ana.sv-comp.functions 94-unlock-unknown.c - [Warning][Unknown] unlocking unknown mutex which may not be held (94-unlock-unknown.c:12:3-12:26) - [Warning][Unknown] unlocking NULL mutex (94-unlock-unknown.c:12:3-12:26) - [Warning][Assert] Assertion "g == 0" is unknown. (94-unlock-unknown.c:22:3-22:26) + [Warning][Unknown] unlocking unknown mutex which may not be held (94-unlock-unknown.c:12.3-12.26) + [Warning][Unknown] unlocking NULL mutex (94-unlock-unknown.c:12.3-12.26) + [Warning][Assert] Assertion "g == 0" is unknown. (94-unlock-unknown.c:22.3-22.26) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 11 dead: 0 @@ -41,9 +41,9 @@ total memory locations: 1 $ goblint --set ana.base.privatization write --enable ana.sv-comp.functions 94-unlock-unknown.c - [Warning][Unknown] unlocking unknown mutex which may not be held (94-unlock-unknown.c:12:3-12:26) - [Warning][Unknown] unlocking NULL mutex (94-unlock-unknown.c:12:3-12:26) - [Warning][Assert] Assertion "g == 0" is unknown. (94-unlock-unknown.c:22:3-22:26) + [Warning][Unknown] unlocking unknown mutex which may not be held (94-unlock-unknown.c:12.3-12.26) + [Warning][Unknown] unlocking NULL mutex (94-unlock-unknown.c:12.3-12.26) + [Warning][Assert] Assertion "g == 0" is unknown. (94-unlock-unknown.c:22.3-22.26) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 11 dead: 0 @@ -55,9 +55,9 @@ total memory locations: 1 $ goblint --set ana.base.privatization mine-nothread --enable ana.sv-comp.functions 94-unlock-unknown.c - [Warning][Unknown] unlocking unknown mutex which may not be held (94-unlock-unknown.c:12:3-12:26) - [Warning][Unknown] unlocking NULL mutex (94-unlock-unknown.c:12:3-12:26) - [Warning][Assert] Assertion "g == 0" is unknown. (94-unlock-unknown.c:22:3-22:26) + [Warning][Unknown] unlocking unknown mutex which may not be held (94-unlock-unknown.c:12.3-12.26) + [Warning][Unknown] unlocking NULL mutex (94-unlock-unknown.c:12.3-12.26) + [Warning][Assert] Assertion "g == 0" is unknown. (94-unlock-unknown.c:22.3-22.26) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 11 dead: 0 diff --git a/tests/regression/29-svcomp/16-atomic_priv.t b/tests/regression/29-svcomp/16-atomic_priv.t index 9b4ab5607c..7313a3a3ed 100644 --- a/tests/regression/29-svcomp/16-atomic_priv.t +++ b/tests/regression/29-svcomp/16-atomic_priv.t @@ -1,17 +1,17 @@ $ goblint --enable ana.sv-comp.functions --set ana.base.privatization protection-atomic --enable witness.yaml.enabled --set ana.activated[+] mutexGhosts --set witness.yaml.entry-types '["flow_insensitive_invariant", "ghost_instrumentation"]' 16-atomic_priv.c - [Success][Assert] Assertion "myglobal == 5" will succeed (16-atomic_priv.c:12:3-12:33) - [Success][Assert] Assertion "myglobal == 6" will succeed (16-atomic_priv.c:14:3-14:33) - [Success][Assert] Assertion "myglobal == 5" will succeed (16-atomic_priv.c:16:3-16:33) - [Success][Assert] Assertion "myglobal == 5" will succeed (16-atomic_priv.c:24:3-24:33) - [Success][Assert] Assertion "myglobal == 5" will succeed (16-atomic_priv.c:26:3-26:33) + [Success][Assert] Assertion "myglobal == 5" will succeed (16-atomic_priv.c:12.3-12.33) + [Success][Assert] Assertion "myglobal == 6" will succeed (16-atomic_priv.c:14.3-14.33) + [Success][Assert] Assertion "myglobal == 5" will succeed (16-atomic_priv.c:16.3-16.33) + [Success][Assert] Assertion "myglobal == 5" will succeed (16-atomic_priv.c:24.3-24.33) + [Success][Assert] Assertion "myglobal == 5" will succeed (16-atomic_priv.c:26.3-26.33) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 17 dead: 0 total lines: 17 - [Warning][Race] Memory location myglobal (race with conf. 110): (16-atomic_priv.c:8:5-8:17) - write with [lock:{[__VERIFIER_atomic]}, thread:[main, t_fun@16-atomic_priv.c:23:3-23:40]] (conf. 110) (exp: & myglobal) (16-atomic_priv.c:13:3-13:13) - write with [lock:{[__VERIFIER_atomic]}, thread:[main, t_fun@16-atomic_priv.c:23:3-23:40]] (conf. 110) (exp: & myglobal) (16-atomic_priv.c:15:3-15:13) - read with [mhp:{created={[main, t_fun@16-atomic_priv.c:23:3-23:40]}}, thread:[main]] (conf. 110) (exp: & myglobal) (16-atomic_priv.c:24:3-24:33) + [Warning][Race] Memory location myglobal (race with conf. 110): (16-atomic_priv.c:8.5-8.17) + write with [lock:{[__VERIFIER_atomic]}, thread:[main, t_fun@16-atomic_priv.c:23.3-23.40]] (conf. 110) (exp: & myglobal) (16-atomic_priv.c:13.3-13.13) + write with [lock:{[__VERIFIER_atomic]}, thread:[main, t_fun@16-atomic_priv.c:23.3-23.40]] (conf. 110) (exp: & myglobal) (16-atomic_priv.c:15.3-15.13) + read with [mhp:{created={[main, t_fun@16-atomic_priv.c:23.3-23.40]}}, thread:[main]] (conf. 110) (exp: & myglobal) (16-atomic_priv.c:24.3-24.33) [Info][Witness] witness generation summary: location invariants: 0 loop invariants: 0 @@ -52,19 +52,19 @@ Non-atomic privatization: $ goblint --enable ana.sv-comp.functions --set ana.base.privatization protection --enable witness.yaml.enabled --set ana.activated[+] mutexGhosts --set witness.yaml.entry-types '["flow_insensitive_invariant", "ghost_instrumentation"]' 16-atomic_priv.c - [Success][Assert] Assertion "myglobal == 5" will succeed (16-atomic_priv.c:12:3-12:33) - [Success][Assert] Assertion "myglobal == 6" will succeed (16-atomic_priv.c:14:3-14:33) - [Success][Assert] Assertion "myglobal == 5" will succeed (16-atomic_priv.c:16:3-16:33) - [Warning][Assert] Assertion "myglobal == 5" is unknown. (16-atomic_priv.c:24:3-24:33) - [Success][Assert] Assertion "myglobal == 5" will succeed (16-atomic_priv.c:26:3-26:33) + [Success][Assert] Assertion "myglobal == 5" will succeed (16-atomic_priv.c:12.3-12.33) + [Success][Assert] Assertion "myglobal == 6" will succeed (16-atomic_priv.c:14.3-14.33) + [Success][Assert] Assertion "myglobal == 5" will succeed (16-atomic_priv.c:16.3-16.33) + [Warning][Assert] Assertion "myglobal == 5" is unknown. (16-atomic_priv.c:24.3-24.33) + [Success][Assert] Assertion "myglobal == 5" will succeed (16-atomic_priv.c:26.3-26.33) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 17 dead: 0 total lines: 17 - [Warning][Race] Memory location myglobal (race with conf. 110): (16-atomic_priv.c:8:5-8:17) - write with [lock:{[__VERIFIER_atomic]}, thread:[main, t_fun@16-atomic_priv.c:23:3-23:40]] (conf. 110) (exp: & myglobal) (16-atomic_priv.c:13:3-13:13) - write with [lock:{[__VERIFIER_atomic]}, thread:[main, t_fun@16-atomic_priv.c:23:3-23:40]] (conf. 110) (exp: & myglobal) (16-atomic_priv.c:15:3-15:13) - read with [mhp:{created={[main, t_fun@16-atomic_priv.c:23:3-23:40]}}, thread:[main]] (conf. 110) (exp: & myglobal) (16-atomic_priv.c:24:3-24:33) + [Warning][Race] Memory location myglobal (race with conf. 110): (16-atomic_priv.c:8.5-8.17) + write with [lock:{[__VERIFIER_atomic]}, thread:[main, t_fun@16-atomic_priv.c:23.3-23.40]] (conf. 110) (exp: & myglobal) (16-atomic_priv.c:13.3-13.13) + write with [lock:{[__VERIFIER_atomic]}, thread:[main, t_fun@16-atomic_priv.c:23.3-23.40]] (conf. 110) (exp: & myglobal) (16-atomic_priv.c:15.3-15.13) + read with [mhp:{created={[main, t_fun@16-atomic_priv.c:23.3-23.40]}}, thread:[main]] (conf. 110) (exp: & myglobal) (16-atomic_priv.c:24.3-24.33) [Info][Witness] witness generation summary: location invariants: 0 loop invariants: 0 diff --git a/tests/regression/29-svcomp/32-no-ov.t b/tests/regression/29-svcomp/32-no-ov.t index 72978a1fac..cf9e893680 100644 --- a/tests/regression/29-svcomp/32-no-ov.t +++ b/tests/regression/29-svcomp/32-no-ov.t @@ -1,10 +1,10 @@ $ goblint --enable ana.int.interval --enable ana.sv-comp.enabled --enable ana.sv-comp.functions --set ana.specification "CHECK( init(main()), LTL(G ! overflow) )" 32-no-ov.c [Info] Setting "ana.int.interval" to true [Info] SV-COMP specification: CHECK( init(main()), LTL(G ! overflow) ) - [Warning][Integer > Overflow][CWE-190] Unsigned integer overflow (32-no-ov.c:5:6-5:159) - [Warning][Integer > Overflow][CWE-190] Unsigned integer overflow (32-no-ov.c:5:6-5:159) - [Warning][Integer > Overflow][CWE-191] Unsigned integer underflow (32-no-ov.c:5:6-5:159) - [Warning][Integer > Overflow][CWE-190] Signed integer overflow (32-no-ov.c:5:6-5:159) + [Warning][Integer > Overflow][CWE-190] Unsigned integer overflow (32-no-ov.c:5.6-5.159) + [Warning][Integer > Overflow][CWE-190] Unsigned integer overflow (32-no-ov.c:5.6-5.159) + [Warning][Integer > Overflow][CWE-191] Unsigned integer underflow (32-no-ov.c:5.6-5.159) + [Warning][Integer > Overflow][CWE-190] Signed integer overflow (32-no-ov.c:5.6-5.159) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 3 dead: 0 diff --git a/tests/regression/29-svcomp/33-verifier-assert-undef.t b/tests/regression/29-svcomp/33-verifier-assert-undef.t index 3acd4f7e25..ca17530443 100644 --- a/tests/regression/29-svcomp/33-verifier-assert-undef.t +++ b/tests/regression/29-svcomp/33-verifier-assert-undef.t @@ -1,7 +1,7 @@ $ goblint --enable ana.sv-comp.functions 33-verifier-assert-undef.c - [Success][Assert] Assertion "1" will succeed (33-verifier-assert-undef.c:5:3-5:23) - [Warning][Assert] Assertion "r" is unknown. (33-verifier-assert-undef.c:6:3-6:23) - [Error][Assert] Assertion "0" will fail. (33-verifier-assert-undef.c:7:3-7:23) + [Success][Assert] Assertion "1" will succeed (33-verifier-assert-undef.c:5.3-5.23) + [Warning][Assert] Assertion "r" is unknown. (33-verifier-assert-undef.c:6.3-6.23) + [Error][Assert] Assertion "0" will fail. (33-verifier-assert-undef.c:7.3-7.23) [Warning][Deadcode] Function 'main' does not return [Warning][Deadcode] Function 'main' has dead code: on line 8 (33-verifier-assert-undef.c:8-8) diff --git a/tests/regression/29-svcomp/34-verifier-assert-def.t b/tests/regression/29-svcomp/34-verifier-assert-def.t index c581893e36..93ac3638d1 100644 --- a/tests/regression/29-svcomp/34-verifier-assert-def.t +++ b/tests/regression/29-svcomp/34-verifier-assert-def.t @@ -1,18 +1,18 @@ $ goblint --enable ana.sv-comp.functions --enable ana.int.interval 34-verifier-assert-def.c - [Warning][Integer > Overflow][CWE-190] Signed integer overflow (34-verifier-assert-def.c:4:7-4:18) + [Warning][Integer > Overflow][CWE-190] Signed integer overflow (34-verifier-assert-def.c:4.7-4.18) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 8 dead: 0 total lines: 8 $ goblint --enable ana.sv-comp.functions --set exp.extraspecials[+] __VERIFIER_assert 34-verifier-assert-def.c - [Info][Analyzer] Using special for defined function __VERIFIER_assert (34-verifier-assert-def.c:9:3-9:23) - [Success][Assert] Assertion "1" will succeed (34-verifier-assert-def.c:9:3-9:23) - [Info][Analyzer] Using special for defined function __VERIFIER_assert (34-verifier-assert-def.c:10:3-10:23) - [Warning][Assert] Assertion "r" is unknown. (34-verifier-assert-def.c:10:3-10:23) - [Info][Analyzer] Using special for defined function __VERIFIER_assert (34-verifier-assert-def.c:11:3-11:23) - [Error][Assert] Assertion "0" will fail. (34-verifier-assert-def.c:11:3-11:23) - [Warning][Deadcode] Function '__VERIFIER_assert' is uncalled: 2 LLoC (34-verifier-assert-def.c:3:1-5:1) + [Info][Analyzer] Using special for defined function __VERIFIER_assert (34-verifier-assert-def.c:9.3-9.23) + [Success][Assert] Assertion "1" will succeed (34-verifier-assert-def.c:9.3-9.23) + [Info][Analyzer] Using special for defined function __VERIFIER_assert (34-verifier-assert-def.c:10.3-10.23) + [Warning][Assert] Assertion "r" is unknown. (34-verifier-assert-def.c:10.3-10.23) + [Info][Analyzer] Using special for defined function __VERIFIER_assert (34-verifier-assert-def.c:11.3-11.23) + [Error][Assert] Assertion "0" will fail. (34-verifier-assert-def.c:11.3-11.23) + [Warning][Deadcode] Function '__VERIFIER_assert' is uncalled: 2 LLoC (34-verifier-assert-def.c:3.1-5.1) [Warning][Deadcode] Function 'main' does not return [Warning][Deadcode] Function 'main' has dead code: on line 12 (34-verifier-assert-def.c:12-12) diff --git a/tests/regression/29-svcomp/36-svcomp-arch.t b/tests/regression/29-svcomp/36-svcomp-arch.t index a0715e3872..3749007a98 100644 --- a/tests/regression/29-svcomp/36-svcomp-arch.t +++ b/tests/regression/29-svcomp/36-svcomp-arch.t @@ -3,7 +3,7 @@ There should be overflow on ILP32: $ goblint --enable ana.sv-comp.enabled --set ana.specification "CHECK( init(main()), LTL(G ! overflow) )" --set exp.architecture 32bit 36-svcomp-arch.c [Info] Setting "ana.int.interval" to true [Info] SV-COMP specification: CHECK( init(main()), LTL(G ! overflow) ) - [Warning][Integer > Overflow][CWE-190] Signed integer overflow (36-svcomp-arch.c:6:8-6:17) + [Warning][Integer > Overflow][CWE-190] Signed integer overflow (36-svcomp-arch.c:6.8-6.17) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 4 dead: 0 diff --git a/tests/regression/36-apron/12-traces-min-rpb1.t b/tests/regression/36-apron/12-traces-min-rpb1.t index 0d6ac5430f..662665422d 100644 --- a/tests/regression/36-apron/12-traces-min-rpb1.t +++ b/tests/regression/36-apron/12-traces-min-rpb1.t @@ -1,13 +1,13 @@ $ goblint --enable witness.yaml.enabled --enable warn.deterministic --set witness.yaml.entry-types '["location_invariant"]' --disable witness.invariant.other --disable ana.base.invariant.enabled --set ana.relation.privatization mutex-meet --set ana.activated[+] apron --enable ana.sv-comp.functions --set ana.apron.domain polyhedra 12-traces-min-rpb1.c - [Warning][Assert] Assertion "g == h" is unknown. (12-traces-min-rpb1.c:27:3-27:26) - [Success][Assert] Assertion "g == h" will succeed (12-traces-min-rpb1.c:16:3-16:26) - [Success][Assert] Assertion "g == h" will succeed (12-traces-min-rpb1.c:29:3-29:26) - [Warning][Race] Memory location g (race with conf. 110): (12-traces-min-rpb1.c:7:5-7:10) - write with [lock:{A}, thread:[main, t_fun@12-traces-min-rpb1.c:25:3-25:40]] (conf. 110) (exp: & g) (12-traces-min-rpb1.c:14:3-14:8) - read with [mhp:{created={[main, t_fun@12-traces-min-rpb1.c:25:3-25:40]}}, thread:[main]] (conf. 110) (exp: & g) (12-traces-min-rpb1.c:27:3-27:26) - [Warning][Race] Memory location h (race with conf. 110): (12-traces-min-rpb1.c:8:5-8:10) - write with [lock:{A}, thread:[main, t_fun@12-traces-min-rpb1.c:25:3-25:40]] (conf. 110) (exp: & h) (12-traces-min-rpb1.c:15:3-15:8) - read with [mhp:{created={[main, t_fun@12-traces-min-rpb1.c:25:3-25:40]}}, thread:[main]] (conf. 110) (exp: & h) (12-traces-min-rpb1.c:27:3-27:26) + [Warning][Assert] Assertion "g == h" is unknown. (12-traces-min-rpb1.c:27.3-27.26) + [Success][Assert] Assertion "g == h" will succeed (12-traces-min-rpb1.c:16.3-16.26) + [Success][Assert] Assertion "g == h" will succeed (12-traces-min-rpb1.c:29.3-29.26) + [Warning][Race] Memory location g (race with conf. 110): (12-traces-min-rpb1.c:7.5-7.10) + write with [lock:{A}, thread:[main, t_fun@12-traces-min-rpb1.c:25.3-25.40]] (conf. 110) (exp: & g) (12-traces-min-rpb1.c:14.3-14.8) + read with [mhp:{created={[main, t_fun@12-traces-min-rpb1.c:25.3-25.40]}}, thread:[main]] (conf. 110) (exp: & g) (12-traces-min-rpb1.c:27.3-27.26) + [Warning][Race] Memory location h (race with conf. 110): (12-traces-min-rpb1.c:8.5-8.10) + write with [lock:{A}, thread:[main, t_fun@12-traces-min-rpb1.c:25.3-25.40]] (conf. 110) (exp: & h) (12-traces-min-rpb1.c:15.3-15.8) + read with [mhp:{created={[main, t_fun@12-traces-min-rpb1.c:25.3-25.40]}}, thread:[main]] (conf. 110) (exp: & h) (12-traces-min-rpb1.c:27.3-27.26) [Info][Race] Memory locations race summary: safe: 0 vulnerable: 0 @@ -57,15 +57,15 @@ $ goblint --enable warn.deterministic --set ana.activated[+] apron --set ana.path_sens[+] threadflag --enable ana.sv-comp.functions --enable witness.yaml.enabled --set ana.activated[+] mutexGhosts --set witness.yaml.entry-types '["flow_insensitive_invariant", "ghost_instrumentation"]' 12-traces-min-rpb1.c --enable ana.apron.invariant.diff-box - [Warning][Assert] Assertion "g == h" is unknown. (12-traces-min-rpb1.c:27:3-27:26) - [Success][Assert] Assertion "g == h" will succeed (12-traces-min-rpb1.c:16:3-16:26) - [Success][Assert] Assertion "g == h" will succeed (12-traces-min-rpb1.c:29:3-29:26) - [Warning][Race] Memory location g (race with conf. 110): (12-traces-min-rpb1.c:7:5-7:10) - write with [lock:{A}, thread:[main, t_fun@12-traces-min-rpb1.c:25:3-25:40]] (conf. 110) (exp: & g) (12-traces-min-rpb1.c:14:3-14:8) - read with [mhp:{created={[main, t_fun@12-traces-min-rpb1.c:25:3-25:40]}}, thread:[main]] (conf. 110) (exp: & g) (12-traces-min-rpb1.c:27:3-27:26) - [Warning][Race] Memory location h (race with conf. 110): (12-traces-min-rpb1.c:8:5-8:10) - write with [lock:{A}, thread:[main, t_fun@12-traces-min-rpb1.c:25:3-25:40]] (conf. 110) (exp: & h) (12-traces-min-rpb1.c:15:3-15:8) - read with [mhp:{created={[main, t_fun@12-traces-min-rpb1.c:25:3-25:40]}}, thread:[main]] (conf. 110) (exp: & h) (12-traces-min-rpb1.c:27:3-27:26) + [Warning][Assert] Assertion "g == h" is unknown. (12-traces-min-rpb1.c:27.3-27.26) + [Success][Assert] Assertion "g == h" will succeed (12-traces-min-rpb1.c:16.3-16.26) + [Success][Assert] Assertion "g == h" will succeed (12-traces-min-rpb1.c:29.3-29.26) + [Warning][Race] Memory location g (race with conf. 110): (12-traces-min-rpb1.c:7.5-7.10) + write with [lock:{A}, thread:[main, t_fun@12-traces-min-rpb1.c:25.3-25.40]] (conf. 110) (exp: & g) (12-traces-min-rpb1.c:14.3-14.8) + read with [mhp:{created={[main, t_fun@12-traces-min-rpb1.c:25.3-25.40]}}, thread:[main]] (conf. 110) (exp: & g) (12-traces-min-rpb1.c:27.3-27.26) + [Warning][Race] Memory location h (race with conf. 110): (12-traces-min-rpb1.c:8.5-8.10) + write with [lock:{A}, thread:[main, t_fun@12-traces-min-rpb1.c:25.3-25.40]] (conf. 110) (exp: & h) (12-traces-min-rpb1.c:15.3-15.8) + read with [mhp:{created={[main, t_fun@12-traces-min-rpb1.c:25.3-25.40]}}, thread:[main]] (conf. 110) (exp: & h) (12-traces-min-rpb1.c:27.3-27.26) [Info][Race] Memory locations race summary: safe: 0 vulnerable: 0 diff --git a/tests/regression/36-apron/52-queuesize.t b/tests/regression/36-apron/52-queuesize.t index fd435cab3e..610211cbf5 100644 --- a/tests/regression/36-apron/52-queuesize.t +++ b/tests/regression/36-apron/52-queuesize.t @@ -3,39 +3,39 @@ Without diff-box: $ goblint --enable witness.yaml.enabled --set witness.yaml.entry-types '["location_invariant"]' --disable witness.invariant.other --disable ana.base.invariant.enabled --set ana.relation.privatization mutex-meet --set ana.activated[+] apron --enable ana.sv-comp.functions --set ana.apron.domain polyhedra --enable ana.relation.invariant.one-var --disable ana.apron.invariant.diff-box 52-queuesize.c - [Success][Assert] Assertion "free >= 0" will succeed (52-queuesize.c:67:5-67:31) - [Success][Assert] Assertion "free <= capacity" will succeed (52-queuesize.c:68:5-68:38) - [Success][Assert] Assertion "used >= 0" will succeed (52-queuesize.c:69:5-69:31) - [Success][Assert] Assertion "used <= capacity" will succeed (52-queuesize.c:70:5-70:38) - [Success][Assert] Assertion "used + free == capacity" will succeed (52-queuesize.c:71:5-71:45) - [Success][Assert] Assertion "free >= 0" will succeed (52-queuesize.c:15:3-15:29) - [Success][Assert] Assertion "free <= capacity" will succeed (52-queuesize.c:16:3-16:36) - [Success][Assert] Assertion "used >= 0" will succeed (52-queuesize.c:17:3-17:29) - [Success][Assert] Assertion "used <= capacity" will succeed (52-queuesize.c:18:3-18:36) - [Success][Assert] Assertion "used + free == capacity" will succeed (52-queuesize.c:19:3-19:43) - [Success][Assert] Assertion "free >= 0" will succeed (52-queuesize.c:26:3-26:29) - [Success][Assert] Assertion "free <= capacity" will succeed (52-queuesize.c:27:3-27:36) - [Success][Assert] Assertion "used >= 0" will succeed (52-queuesize.c:28:3-28:29) - [Success][Assert] Assertion "used <= capacity" will succeed (52-queuesize.c:29:3-29:36) - [Success][Assert] Assertion "used + free == capacity" will succeed (52-queuesize.c:30:3-30:43) - [Success][Assert] Assertion "free >= 0" will succeed (52-queuesize.c:36:3-36:29) - [Success][Assert] Assertion "free <= capacity" will succeed (52-queuesize.c:37:3-37:36) - [Success][Assert] Assertion "used >= 0" will succeed (52-queuesize.c:38:3-38:29) - [Success][Assert] Assertion "used <= capacity" will succeed (52-queuesize.c:39:3-39:36) - [Success][Assert] Assertion "used + free == capacity" will succeed (52-queuesize.c:40:3-40:43) - [Success][Assert] Assertion "free >= 0" will succeed (52-queuesize.c:47:3-47:29) - [Success][Assert] Assertion "free <= capacity" will succeed (52-queuesize.c:48:3-48:36) - [Success][Assert] Assertion "used >= 0" will succeed (52-queuesize.c:49:3-49:29) - [Success][Assert] Assertion "used <= capacity" will succeed (52-queuesize.c:50:3-50:36) - [Success][Assert] Assertion "used + free == capacity" will succeed (52-queuesize.c:51:3-51:43) + [Success][Assert] Assertion "free >= 0" will succeed (52-queuesize.c:67.5-67.31) + [Success][Assert] Assertion "free <= capacity" will succeed (52-queuesize.c:68.5-68.38) + [Success][Assert] Assertion "used >= 0" will succeed (52-queuesize.c:69.5-69.31) + [Success][Assert] Assertion "used <= capacity" will succeed (52-queuesize.c:70.5-70.38) + [Success][Assert] Assertion "used + free == capacity" will succeed (52-queuesize.c:71.5-71.45) + [Success][Assert] Assertion "free >= 0" will succeed (52-queuesize.c:15.3-15.29) + [Success][Assert] Assertion "free <= capacity" will succeed (52-queuesize.c:16.3-16.36) + [Success][Assert] Assertion "used >= 0" will succeed (52-queuesize.c:17.3-17.29) + [Success][Assert] Assertion "used <= capacity" will succeed (52-queuesize.c:18.3-18.36) + [Success][Assert] Assertion "used + free == capacity" will succeed (52-queuesize.c:19.3-19.43) + [Success][Assert] Assertion "free >= 0" will succeed (52-queuesize.c:26.3-26.29) + [Success][Assert] Assertion "free <= capacity" will succeed (52-queuesize.c:27.3-27.36) + [Success][Assert] Assertion "used >= 0" will succeed (52-queuesize.c:28.3-28.29) + [Success][Assert] Assertion "used <= capacity" will succeed (52-queuesize.c:29.3-29.36) + [Success][Assert] Assertion "used + free == capacity" will succeed (52-queuesize.c:30.3-30.43) + [Success][Assert] Assertion "free >= 0" will succeed (52-queuesize.c:36.3-36.29) + [Success][Assert] Assertion "free <= capacity" will succeed (52-queuesize.c:37.3-37.36) + [Success][Assert] Assertion "used >= 0" will succeed (52-queuesize.c:38.3-38.29) + [Success][Assert] Assertion "used <= capacity" will succeed (52-queuesize.c:39.3-39.36) + [Success][Assert] Assertion "used + free == capacity" will succeed (52-queuesize.c:40.3-40.43) + [Success][Assert] Assertion "free >= 0" will succeed (52-queuesize.c:47.3-47.29) + [Success][Assert] Assertion "free <= capacity" will succeed (52-queuesize.c:48.3-48.36) + [Success][Assert] Assertion "used >= 0" will succeed (52-queuesize.c:49.3-49.29) + [Success][Assert] Assertion "used <= capacity" will succeed (52-queuesize.c:50.3-50.36) + [Success][Assert] Assertion "used + free == capacity" will succeed (52-queuesize.c:51.3-51.43) [Warning][Deadcode] Function 'worker' has dead code: on line 58 (52-queuesize.c:58-58) [Warning][Deadcode] Logical lines of code (LLoC) summary: live: 53 dead: 1 total lines: 54 - [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (52-queuesize.c:56:10-56:11) - [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (52-queuesize.c:78:12-78:13) + [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (52-queuesize.c:56.10-56.11) + [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (52-queuesize.c:78.12-78.13) [Info][Witness] witness generation summary: location invariants: 8 loop invariants: 0 @@ -134,39 +134,39 @@ Without diff-box: With diff-box: $ goblint --enable witness.yaml.enabled --set witness.yaml.entry-types '["location_invariant"]' --disable witness.invariant.other --disable ana.base.invariant.enabled --set ana.relation.privatization mutex-meet --set ana.activated[+] apron --enable ana.sv-comp.functions --set ana.apron.domain polyhedra --enable ana.relation.invariant.one-var --enable ana.apron.invariant.diff-box 52-queuesize.c - [Success][Assert] Assertion "free >= 0" will succeed (52-queuesize.c:67:5-67:31) - [Success][Assert] Assertion "free <= capacity" will succeed (52-queuesize.c:68:5-68:38) - [Success][Assert] Assertion "used >= 0" will succeed (52-queuesize.c:69:5-69:31) - [Success][Assert] Assertion "used <= capacity" will succeed (52-queuesize.c:70:5-70:38) - [Success][Assert] Assertion "used + free == capacity" will succeed (52-queuesize.c:71:5-71:45) - [Success][Assert] Assertion "free >= 0" will succeed (52-queuesize.c:15:3-15:29) - [Success][Assert] Assertion "free <= capacity" will succeed (52-queuesize.c:16:3-16:36) - [Success][Assert] Assertion "used >= 0" will succeed (52-queuesize.c:17:3-17:29) - [Success][Assert] Assertion "used <= capacity" will succeed (52-queuesize.c:18:3-18:36) - [Success][Assert] Assertion "used + free == capacity" will succeed (52-queuesize.c:19:3-19:43) - [Success][Assert] Assertion "free >= 0" will succeed (52-queuesize.c:26:3-26:29) - [Success][Assert] Assertion "free <= capacity" will succeed (52-queuesize.c:27:3-27:36) - [Success][Assert] Assertion "used >= 0" will succeed (52-queuesize.c:28:3-28:29) - [Success][Assert] Assertion "used <= capacity" will succeed (52-queuesize.c:29:3-29:36) - [Success][Assert] Assertion "used + free == capacity" will succeed (52-queuesize.c:30:3-30:43) - [Success][Assert] Assertion "free >= 0" will succeed (52-queuesize.c:36:3-36:29) - [Success][Assert] Assertion "free <= capacity" will succeed (52-queuesize.c:37:3-37:36) - [Success][Assert] Assertion "used >= 0" will succeed (52-queuesize.c:38:3-38:29) - [Success][Assert] Assertion "used <= capacity" will succeed (52-queuesize.c:39:3-39:36) - [Success][Assert] Assertion "used + free == capacity" will succeed (52-queuesize.c:40:3-40:43) - [Success][Assert] Assertion "free >= 0" will succeed (52-queuesize.c:47:3-47:29) - [Success][Assert] Assertion "free <= capacity" will succeed (52-queuesize.c:48:3-48:36) - [Success][Assert] Assertion "used >= 0" will succeed (52-queuesize.c:49:3-49:29) - [Success][Assert] Assertion "used <= capacity" will succeed (52-queuesize.c:50:3-50:36) - [Success][Assert] Assertion "used + free == capacity" will succeed (52-queuesize.c:51:3-51:43) + [Success][Assert] Assertion "free >= 0" will succeed (52-queuesize.c:67.5-67.31) + [Success][Assert] Assertion "free <= capacity" will succeed (52-queuesize.c:68.5-68.38) + [Success][Assert] Assertion "used >= 0" will succeed (52-queuesize.c:69.5-69.31) + [Success][Assert] Assertion "used <= capacity" will succeed (52-queuesize.c:70.5-70.38) + [Success][Assert] Assertion "used + free == capacity" will succeed (52-queuesize.c:71.5-71.45) + [Success][Assert] Assertion "free >= 0" will succeed (52-queuesize.c:15.3-15.29) + [Success][Assert] Assertion "free <= capacity" will succeed (52-queuesize.c:16.3-16.36) + [Success][Assert] Assertion "used >= 0" will succeed (52-queuesize.c:17.3-17.29) + [Success][Assert] Assertion "used <= capacity" will succeed (52-queuesize.c:18.3-18.36) + [Success][Assert] Assertion "used + free == capacity" will succeed (52-queuesize.c:19.3-19.43) + [Success][Assert] Assertion "free >= 0" will succeed (52-queuesize.c:26.3-26.29) + [Success][Assert] Assertion "free <= capacity" will succeed (52-queuesize.c:27.3-27.36) + [Success][Assert] Assertion "used >= 0" will succeed (52-queuesize.c:28.3-28.29) + [Success][Assert] Assertion "used <= capacity" will succeed (52-queuesize.c:29.3-29.36) + [Success][Assert] Assertion "used + free == capacity" will succeed (52-queuesize.c:30.3-30.43) + [Success][Assert] Assertion "free >= 0" will succeed (52-queuesize.c:36.3-36.29) + [Success][Assert] Assertion "free <= capacity" will succeed (52-queuesize.c:37.3-37.36) + [Success][Assert] Assertion "used >= 0" will succeed (52-queuesize.c:38.3-38.29) + [Success][Assert] Assertion "used <= capacity" will succeed (52-queuesize.c:39.3-39.36) + [Success][Assert] Assertion "used + free == capacity" will succeed (52-queuesize.c:40.3-40.43) + [Success][Assert] Assertion "free >= 0" will succeed (52-queuesize.c:47.3-47.29) + [Success][Assert] Assertion "free <= capacity" will succeed (52-queuesize.c:48.3-48.36) + [Success][Assert] Assertion "used >= 0" will succeed (52-queuesize.c:49.3-49.29) + [Success][Assert] Assertion "used <= capacity" will succeed (52-queuesize.c:50.3-50.36) + [Success][Assert] Assertion "used + free == capacity" will succeed (52-queuesize.c:51.3-51.43) [Warning][Deadcode] Function 'worker' has dead code: on line 58 (52-queuesize.c:58-58) [Warning][Deadcode] Logical lines of code (LLoC) summary: live: 53 dead: 1 total lines: 54 - [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (52-queuesize.c:56:10-56:11) - [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (52-queuesize.c:78:12-78:13) + [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (52-queuesize.c:56.10-56.11) + [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (52-queuesize.c:78.12-78.13) [Info][Witness] witness generation summary: location invariants: 6 loop invariants: 0 diff --git a/tests/regression/41-stdlib/03-noqsort.t b/tests/regression/41-stdlib/03-noqsort.t index cd56e0047d..cdcfd2abbe 100644 --- a/tests/regression/41-stdlib/03-noqsort.t +++ b/tests/regression/41-stdlib/03-noqsort.t @@ -1,7 +1,7 @@ There should be no CIL warning about multiple definitions: $ goblint --set pre.cppflags[+] -DGOBLINT_NO_QSORT 03-noqsort.c - [Warning][Deadcode] Function 'qsort' is uncalled: 1 LLoC (03-noqsort.c:6:1-7:1) + [Warning][Deadcode] Function 'qsort' is uncalled: 1 LLoC (03-noqsort.c:6.1-7.1) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 2 dead: 1 (1 in uncalled functions) diff --git a/tests/regression/45-escape/51-fresh-global.t b/tests/regression/45-escape/51-fresh-global.t index ceb21425e8..5ef0b1b994 100644 --- a/tests/regression/45-escape/51-fresh-global.t +++ b/tests/regression/45-escape/51-fresh-global.t @@ -3,9 +3,9 @@ live: 15 dead: 0 total lines: 15 - [Warning][Race] Memory location (alloc@sid:$SID@tid:main) (race with conf. 110): (51-fresh-global.c:25:7-25:31) - write with lock:{A} (conf. 110) (exp: & *i) (51-fresh-global.c:10:3-10:10) - write with thread:main (conf. 110) (exp: & *i) (51-fresh-global.c:27:3-27:9) + [Warning][Race] Memory location (alloc@sid:$SID@tid:main) (race with conf. 110): (51-fresh-global.c:25.7-25.31) + write with lock:{A} (conf. 110) (exp: & *i) (51-fresh-global.c:10.3-10.10) + write with thread:main (conf. 110) (exp: & *i) (51-fresh-global.c:27.3-27.9) [Info][Race] Memory locations race summary: safe: 1 vulnerable: 0 @@ -16,7 +16,7 @@ $ diff default-output.txt full-output.txt 5c5 - < [Warning][Race] Memory location (alloc@sid:$SID@tid:main) (race with conf. 110): (51-fresh-global.c:25:7-25:31) + < [Warning][Race] Memory location (alloc@sid:$SID@tid:main) (race with conf. 110): (51-fresh-global.c:25.7-25.31) --- - > [Warning][Race] Memory location (alloc@sid:$SID@tid:main(#top)) (race with conf. 110): (51-fresh-global.c:25:7-25:31) + > [Warning][Race] Memory location (alloc@sid:$SID@tid:main(#top)) (race with conf. 110): (51-fresh-global.c:25.7-25.31) [1] diff --git a/tests/regression/46-apron2/87-unlock-idx-ambiguous.t b/tests/regression/46-apron2/87-unlock-idx-ambiguous.t index abbdd74f00..07ac06cf2f 100644 --- a/tests/regression/46-apron2/87-unlock-idx-ambiguous.t +++ b/tests/regression/46-apron2/87-unlock-idx-ambiguous.t @@ -1,6 +1,6 @@ $ goblint --set ana.activated[+] apron --set ana.relation.privatization mutex-meet --enable ana.sv-comp.functions --set ana.path_sens[+] threadflag 87-unlock-idx-ambiguous.c - [Warning][Unknown] unlocking mutex (m[def_exc:Unknown int([0,1])]) which may not be held (87-unlock-idx-ambiguous.c:15:3-15:30) - [Warning][Assert] Assertion "g == 0" is unknown. (87-unlock-idx-ambiguous.c:25:3-25:26) + [Warning][Unknown] unlocking mutex (m[def_exc:Unknown int([0,1])]) which may not be held (87-unlock-idx-ambiguous.c:15.3-15.30) + [Warning][Assert] Assertion "g == 0" is unknown. (87-unlock-idx-ambiguous.c:25.3-25.26) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 14 dead: 0 @@ -12,8 +12,8 @@ total memory locations: 1 $ goblint --set ana.activated[+] apron --set ana.relation.privatization mutex-meet-tid --enable ana.sv-comp.functions --set ana.path_sens[+] threadflag 87-unlock-idx-ambiguous.c - [Warning][Unknown] unlocking mutex (m[def_exc:Unknown int([0,1])]) which may not be held (87-unlock-idx-ambiguous.c:15:3-15:30) - [Warning][Assert] Assertion "g == 0" is unknown. (87-unlock-idx-ambiguous.c:25:3-25:26) + [Warning][Unknown] unlocking mutex (m[def_exc:Unknown int([0,1])]) which may not be held (87-unlock-idx-ambiguous.c:15.3-15.30) + [Warning][Assert] Assertion "g == 0" is unknown. (87-unlock-idx-ambiguous.c:25.3-25.26) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 14 dead: 0 @@ -25,8 +25,8 @@ total memory locations: 1 $ goblint --set ana.activated[+] apron --set ana.relation.privatization mutex-meet-tid-cluster12 --enable ana.sv-comp.functions --set ana.path_sens[+] threadflag 87-unlock-idx-ambiguous.c - [Warning][Unknown] unlocking mutex (m[def_exc:Unknown int([0,1])]) which may not be held (87-unlock-idx-ambiguous.c:15:3-15:30) - [Warning][Assert] Assertion "g == 0" is unknown. (87-unlock-idx-ambiguous.c:25:3-25:26) + [Warning][Unknown] unlocking mutex (m[def_exc:Unknown int([0,1])]) which may not be held (87-unlock-idx-ambiguous.c:15.3-15.30) + [Warning][Assert] Assertion "g == 0" is unknown. (87-unlock-idx-ambiguous.c:25.3-25.26) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 14 dead: 0 diff --git a/tests/regression/46-apron2/88-unlock-unknown.t b/tests/regression/46-apron2/88-unlock-unknown.t index 35e4ec4503..800d373a87 100644 --- a/tests/regression/46-apron2/88-unlock-unknown.t +++ b/tests/regression/46-apron2/88-unlock-unknown.t @@ -1,7 +1,7 @@ $ goblint --set ana.activated[+] apron --set ana.relation.privatization mutex-meet --enable ana.sv-comp.functions 88-unlock-unknown.c - [Warning][Unknown] unlocking unknown mutex which may not be held (88-unlock-unknown.c:12:3-12:26) - [Warning][Unknown] unlocking NULL mutex (88-unlock-unknown.c:12:3-12:26) - [Warning][Assert] Assertion "g == 0" is unknown. (88-unlock-unknown.c:22:3-22:26) + [Warning][Unknown] unlocking unknown mutex which may not be held (88-unlock-unknown.c:12.3-12.26) + [Warning][Unknown] unlocking NULL mutex (88-unlock-unknown.c:12.3-12.26) + [Warning][Assert] Assertion "g == 0" is unknown. (88-unlock-unknown.c:22.3-22.26) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 11 dead: 0 @@ -13,9 +13,9 @@ total memory locations: 1 $ goblint --set ana.activated[+] apron --set ana.relation.privatization mutex-meet-tid --enable ana.sv-comp.functions --set ana.path_sens[+] threadflag 88-unlock-unknown.c - [Warning][Unknown] unlocking unknown mutex which may not be held (88-unlock-unknown.c:12:3-12:26) - [Warning][Unknown] unlocking NULL mutex (88-unlock-unknown.c:12:3-12:26) - [Warning][Assert] Assertion "g == 0" is unknown. (88-unlock-unknown.c:22:3-22:26) + [Warning][Unknown] unlocking unknown mutex which may not be held (88-unlock-unknown.c:12.3-12.26) + [Warning][Unknown] unlocking NULL mutex (88-unlock-unknown.c:12.3-12.26) + [Warning][Assert] Assertion "g == 0" is unknown. (88-unlock-unknown.c:22.3-22.26) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 11 dead: 0 @@ -27,9 +27,9 @@ total memory locations: 1 $ goblint --set ana.activated[+] apron --set ana.relation.privatization mutex-meet-tid-cluster12 --enable ana.sv-comp.functions --set ana.path_sens[+] threadflag 88-unlock-unknown.c - [Warning][Unknown] unlocking unknown mutex which may not be held (88-unlock-unknown.c:12:3-12:26) - [Warning][Unknown] unlocking NULL mutex (88-unlock-unknown.c:12:3-12:26) - [Warning][Assert] Assertion "g == 0" is unknown. (88-unlock-unknown.c:22:3-22:26) + [Warning][Unknown] unlocking unknown mutex which may not be held (88-unlock-unknown.c:12.3-12.26) + [Warning][Unknown] unlocking NULL mutex (88-unlock-unknown.c:12.3-12.26) + [Warning][Assert] Assertion "g == 0" is unknown. (88-unlock-unknown.c:22.3-22.26) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 11 dead: 0 diff --git a/tests/regression/46-apron2/95-witness-mm-escape.t b/tests/regression/46-apron2/95-witness-mm-escape.t index e30530a142..8bedfd43ce 100644 --- a/tests/regression/46-apron2/95-witness-mm-escape.t +++ b/tests/regression/46-apron2/95-witness-mm-escape.t @@ -3,21 +3,21 @@ live: 7 dead: 0 total lines: 7 - [Success][Witness] invariant confirmed: 0 <= g (95-witness-mm-escape.c:19:1) - [Success][Witness] invariant confirmed: 0 <= *b (95-witness-mm-escape.c:19:1) - [Success][Witness] invariant confirmed: g <= 127 (95-witness-mm-escape.c:19:1) - [Success][Witness] invariant confirmed: *b <= 127 (95-witness-mm-escape.c:19:1) - [Success][Witness] invariant confirmed: -8LL + (long long )g >= 0LL (95-witness-mm-escape.c:19:1) - [Success][Witness] invariant confirmed: 2147483648LL + (long long )a >= 0LL (95-witness-mm-escape.c:19:1) - [Success][Witness] invariant confirmed: (2147483638LL + (long long )a) + (long long )g >= 0LL (95-witness-mm-escape.c:19:1) - [Success][Witness] invariant confirmed: (2147483637LL - (long long )a) + (long long )g >= 0LL (95-witness-mm-escape.c:19:1) - [Success][Witness] invariant confirmed: 10LL - (long long )g >= 0LL (95-witness-mm-escape.c:19:1) - [Success][Witness] invariant confirmed: 2147483647LL - (long long )a >= 0LL (95-witness-mm-escape.c:19:1) - [Success][Witness] invariant confirmed: (2147483658LL + (long long )a) - (long long )g >= 0LL (95-witness-mm-escape.c:19:1) - [Success][Witness] invariant confirmed: (2147483657LL - (long long )a) - (long long )g >= 0LL (95-witness-mm-escape.c:19:1) - [Success][Witness] invariant confirmed: b == & g (95-witness-mm-escape.c:19:1) - [Success][Witness] invariant confirmed: g != 0 (95-witness-mm-escape.c:19:1) - [Success][Witness] invariant confirmed: *b != 0 (95-witness-mm-escape.c:19:1) + [Success][Witness] invariant confirmed: 0 <= g (95-witness-mm-escape.c:19.1) + [Success][Witness] invariant confirmed: 0 <= *b (95-witness-mm-escape.c:19.1) + [Success][Witness] invariant confirmed: g <= 127 (95-witness-mm-escape.c:19.1) + [Success][Witness] invariant confirmed: *b <= 127 (95-witness-mm-escape.c:19.1) + [Success][Witness] invariant confirmed: -8LL + (long long )g >= 0LL (95-witness-mm-escape.c:19.1) + [Success][Witness] invariant confirmed: 2147483648LL + (long long )a >= 0LL (95-witness-mm-escape.c:19.1) + [Success][Witness] invariant confirmed: (2147483638LL + (long long )a) + (long long )g >= 0LL (95-witness-mm-escape.c:19.1) + [Success][Witness] invariant confirmed: (2147483637LL - (long long )a) + (long long )g >= 0LL (95-witness-mm-escape.c:19.1) + [Success][Witness] invariant confirmed: 10LL - (long long )g >= 0LL (95-witness-mm-escape.c:19.1) + [Success][Witness] invariant confirmed: 2147483647LL - (long long )a >= 0LL (95-witness-mm-escape.c:19.1) + [Success][Witness] invariant confirmed: (2147483658LL + (long long )a) - (long long )g >= 0LL (95-witness-mm-escape.c:19.1) + [Success][Witness] invariant confirmed: (2147483657LL - (long long )a) - (long long )g >= 0LL (95-witness-mm-escape.c:19.1) + [Success][Witness] invariant confirmed: b == & g (95-witness-mm-escape.c:19.1) + [Success][Witness] invariant confirmed: g != 0 (95-witness-mm-escape.c:19.1) + [Success][Witness] invariant confirmed: *b != 0 (95-witness-mm-escape.c:19.1) [Info][Witness] witness validation summary: confirmed: 15 unconfirmed: 0 diff --git a/tests/regression/46-apron2/96-witness-mm-escape2.t b/tests/regression/46-apron2/96-witness-mm-escape2.t index 1f73026a5b..fd93a77653 100644 --- a/tests/regression/46-apron2/96-witness-mm-escape2.t +++ b/tests/regression/46-apron2/96-witness-mm-escape2.t @@ -15,7 +15,7 @@ unsupported: 0 disabled: 0 total validation entries: 4 - [Success][Witness] invariant confirmed: (unsigned long )arg == 0UL (96-witness-mm-escape2.c:8:5) - [Success][Witness] invariant confirmed: -128 <= g (96-witness-mm-escape2.c:22:1) - [Success][Witness] invariant confirmed: g != 0 (96-witness-mm-escape2.c:22:1) - [Success][Witness] invariant confirmed: g <= 127 (96-witness-mm-escape2.c:22:1) + [Success][Witness] invariant confirmed: (unsigned long )arg == 0UL (96-witness-mm-escape2.c:8.5) + [Success][Witness] invariant confirmed: -128 <= g (96-witness-mm-escape2.c:22.1) + [Success][Witness] invariant confirmed: g != 0 (96-witness-mm-escape2.c:22.1) + [Success][Witness] invariant confirmed: g <= 127 (96-witness-mm-escape2.c:22.1) diff --git a/tests/regression/46-apron2/98-issue-1511b.t b/tests/regression/46-apron2/98-issue-1511b.t index f7c460b428..ad74a238dd 100644 --- a/tests/regression/46-apron2/98-issue-1511b.t +++ b/tests/regression/46-apron2/98-issue-1511b.t @@ -15,29 +15,29 @@ unsupported: 0 disabled: 0 total validation entries: 26 - [Success][Witness] invariant confirmed: (1LL + (long long )j) - (long long )k >= 0LL (98-issue-1511b.c:22:5) - [Success][Witness] invariant confirmed: (1LL - (long long )j) - (long long )k >= 0LL (98-issue-1511b.c:22:5) - [Success][Witness] invariant confirmed: (2147483646LL + (long long )j) + (long long )k >= 0LL (98-issue-1511b.c:22:5) - [Success][Witness] invariant confirmed: (2147483646LL - (long long )d) + (long long )k >= 0LL (98-issue-1511b.c:22:5) - [Success][Witness] invariant confirmed: (2147483646LL - (long long )j) + (long long )k >= 0LL (98-issue-1511b.c:22:5) - [Success][Witness] invariant confirmed: (2147483647LL + (long long )d) + (long long )k >= 0LL (98-issue-1511b.c:22:5) - [Success][Witness] invariant confirmed: (2147483647LL - (long long )d) + (long long )j >= 0LL (98-issue-1511b.c:22:5) - [Success][Witness] invariant confirmed: (2147483647LL - (long long )d) - (long long )j >= 0LL (98-issue-1511b.c:22:5) - [Success][Witness] invariant confirmed: (2147483648LL + (long long )d) + (long long )j >= 0LL (98-issue-1511b.c:22:5) - [Success][Witness] invariant confirmed: (2147483648LL + (long long )d) - (long long )j >= 0LL (98-issue-1511b.c:22:5) - [Success][Witness] invariant confirmed: (2147483648LL - (long long )d) - (long long )k >= 0LL (98-issue-1511b.c:22:5) - [Success][Witness] invariant confirmed: (2147483649LL + (long long )d) - (long long )k >= 0LL (98-issue-1511b.c:22:5) - [Success][Witness] invariant confirmed: j == 0 (98-issue-1511b.c:22:5) - [Success][Witness] invariant confirmed: (1LL + (long long )j) - (long long )k >= 0LL (98-issue-1511b.c:27:5) - [Success][Witness] invariant confirmed: (1LL - (long long )j) - (long long )k >= 0LL (98-issue-1511b.c:27:5) - [Success][Witness] invariant confirmed: (2147483646LL + (long long )j) + (long long )k >= 0LL (98-issue-1511b.c:27:5) - [Success][Witness] invariant confirmed: (2147483646LL - (long long )d) + (long long )k >= 0LL (98-issue-1511b.c:27:5) - [Success][Witness] invariant confirmed: (2147483646LL - (long long )j) + (long long )k >= 0LL (98-issue-1511b.c:27:5) - [Success][Witness] invariant confirmed: (2147483647LL + (long long )d) + (long long )k >= 0LL (98-issue-1511b.c:27:5) - [Success][Witness] invariant confirmed: (2147483647LL - (long long )d) + (long long )j >= 0LL (98-issue-1511b.c:27:5) - [Success][Witness] invariant confirmed: (2147483647LL - (long long )d) - (long long )j >= 0LL (98-issue-1511b.c:27:5) - [Success][Witness] invariant confirmed: (2147483648LL + (long long )d) + (long long )j >= 0LL (98-issue-1511b.c:27:5) - [Success][Witness] invariant confirmed: (2147483648LL + (long long )d) - (long long )j >= 0LL (98-issue-1511b.c:27:5) - [Success][Witness] invariant confirmed: (2147483648LL - (long long )d) - (long long )k >= 0LL (98-issue-1511b.c:27:5) - [Success][Witness] invariant confirmed: (2147483649LL + (long long )d) - (long long )k >= 0LL (98-issue-1511b.c:27:5) - [Success][Witness] invariant confirmed: j == 0 (98-issue-1511b.c:27:5) + [Success][Witness] invariant confirmed: (1LL + (long long )j) - (long long )k >= 0LL (98-issue-1511b.c:22.5) + [Success][Witness] invariant confirmed: (1LL - (long long )j) - (long long )k >= 0LL (98-issue-1511b.c:22.5) + [Success][Witness] invariant confirmed: (2147483646LL + (long long )j) + (long long )k >= 0LL (98-issue-1511b.c:22.5) + [Success][Witness] invariant confirmed: (2147483646LL - (long long )d) + (long long )k >= 0LL (98-issue-1511b.c:22.5) + [Success][Witness] invariant confirmed: (2147483646LL - (long long )j) + (long long )k >= 0LL (98-issue-1511b.c:22.5) + [Success][Witness] invariant confirmed: (2147483647LL + (long long )d) + (long long )k >= 0LL (98-issue-1511b.c:22.5) + [Success][Witness] invariant confirmed: (2147483647LL - (long long )d) + (long long )j >= 0LL (98-issue-1511b.c:22.5) + [Success][Witness] invariant confirmed: (2147483647LL - (long long )d) - (long long )j >= 0LL (98-issue-1511b.c:22.5) + [Success][Witness] invariant confirmed: (2147483648LL + (long long )d) + (long long )j >= 0LL (98-issue-1511b.c:22.5) + [Success][Witness] invariant confirmed: (2147483648LL + (long long )d) - (long long )j >= 0LL (98-issue-1511b.c:22.5) + [Success][Witness] invariant confirmed: (2147483648LL - (long long )d) - (long long )k >= 0LL (98-issue-1511b.c:22.5) + [Success][Witness] invariant confirmed: (2147483649LL + (long long )d) - (long long )k >= 0LL (98-issue-1511b.c:22.5) + [Success][Witness] invariant confirmed: j == 0 (98-issue-1511b.c:22.5) + [Success][Witness] invariant confirmed: (1LL + (long long )j) - (long long )k >= 0LL (98-issue-1511b.c:27.5) + [Success][Witness] invariant confirmed: (1LL - (long long )j) - (long long )k >= 0LL (98-issue-1511b.c:27.5) + [Success][Witness] invariant confirmed: (2147483646LL + (long long )j) + (long long )k >= 0LL (98-issue-1511b.c:27.5) + [Success][Witness] invariant confirmed: (2147483646LL - (long long )d) + (long long )k >= 0LL (98-issue-1511b.c:27.5) + [Success][Witness] invariant confirmed: (2147483646LL - (long long )j) + (long long )k >= 0LL (98-issue-1511b.c:27.5) + [Success][Witness] invariant confirmed: (2147483647LL + (long long )d) + (long long )k >= 0LL (98-issue-1511b.c:27.5) + [Success][Witness] invariant confirmed: (2147483647LL - (long long )d) + (long long )j >= 0LL (98-issue-1511b.c:27.5) + [Success][Witness] invariant confirmed: (2147483647LL - (long long )d) - (long long )j >= 0LL (98-issue-1511b.c:27.5) + [Success][Witness] invariant confirmed: (2147483648LL + (long long )d) + (long long )j >= 0LL (98-issue-1511b.c:27.5) + [Success][Witness] invariant confirmed: (2147483648LL + (long long )d) - (long long )j >= 0LL (98-issue-1511b.c:27.5) + [Success][Witness] invariant confirmed: (2147483648LL - (long long )d) - (long long )k >= 0LL (98-issue-1511b.c:27.5) + [Success][Witness] invariant confirmed: (2147483649LL + (long long )d) - (long long )k >= 0LL (98-issue-1511b.c:27.5) + [Success][Witness] invariant confirmed: j == 0 (98-issue-1511b.c:27.5) diff --git a/tests/regression/55-loop-unrolling/01-simple-cases.t b/tests/regression/55-loop-unrolling/01-simple-cases.t index 4baf3c13d4..7f141a4a0f 100644 --- a/tests/regression/55-loop-unrolling/01-simple-cases.t +++ b/tests/regression/55-loop-unrolling/01-simple-cases.t @@ -1,15 +1,15 @@ $ goblint --set lib.activated '["goblint"]' --set exp.unrolling-factor 5 --enable justcil --set dbg.justcil-printer clean 01-simple-cases.c - [Info] unrolling loop at 01-simple-cases.c:27:5-30:5 with factor 5 - [Info] unrolling loop at 01-simple-cases.c:42:5-45:19 with factor 5 - [Info] unrolling loop at 01-simple-cases.c:57:5-60:5 with factor 5 - [Info] unrolling loop at 01-simple-cases.c:74:5-80:5 with factor 5 - [Info] unrolling loop at 01-simple-cases.c:95:5-105:5 with factor 5 - [Info] unrolling loop at 01-simple-cases.c:119:5-123:5 with factor 5 - [Info] unrolling loop at 01-simple-cases.c:143:2-146:2 with factor 5 - [Info] unrolling loop at 01-simple-cases.c:160:9-163:9 with factor 5 - [Info] unrolling loop at 01-simple-cases.c:157:2-165:2 with factor 5 - [Info] unrolling loop at 01-simple-cases.c:174:2-178:2 with factor 5 - [Info] unrolling loop at 01-simple-cases.c:187:2-194:2 with factor 5 + [Info] unrolling loop at 01-simple-cases.c:27.5-30.5 with factor 5 + [Info] unrolling loop at 01-simple-cases.c:42.5-45.19 with factor 5 + [Info] unrolling loop at 01-simple-cases.c:57.5-60.5 with factor 5 + [Info] unrolling loop at 01-simple-cases.c:74.5-80.5 with factor 5 + [Info] unrolling loop at 01-simple-cases.c:95.5-105.5 with factor 5 + [Info] unrolling loop at 01-simple-cases.c:119.5-123.5 with factor 5 + [Info] unrolling loop at 01-simple-cases.c:143.2-146.2 with factor 5 + [Info] unrolling loop at 01-simple-cases.c:160.9-163.9 with factor 5 + [Info] unrolling loop at 01-simple-cases.c:157.2-165.2 with factor 5 + [Info] unrolling loop at 01-simple-cases.c:174.2-178.2 with factor 5 + [Info] unrolling loop at 01-simple-cases.c:187.2-194.2 with factor 5 extern void __goblint_check(int exp ) ; extern void __goblint_assume(int exp ) ; extern void __goblint_assert(int exp ) ; diff --git a/tests/regression/55-loop-unrolling/02-break.t b/tests/regression/55-loop-unrolling/02-break.t index cd94f32d6e..31d63cb94e 100644 --- a/tests/regression/55-loop-unrolling/02-break.t +++ b/tests/regression/55-loop-unrolling/02-break.t @@ -1,5 +1,5 @@ $ goblint --set lib.activated '["goblint"]' --set exp.unrolling-factor 5 --enable justcil --set dbg.justcil-printer clean 02-break.c - [Info] unrolling loop at 02-break.c:6:5-15:2 with factor 5 + [Info] unrolling loop at 02-break.c:6.5-15.2 with factor 5 extern void __goblint_check(int exp ) ; extern void __goblint_assume(int exp ) ; extern void __goblint_assert(int exp ) ; diff --git a/tests/regression/55-loop-unrolling/03-break-right-place.t b/tests/regression/55-loop-unrolling/03-break-right-place.t index e4d15ae90e..732b026a88 100644 --- a/tests/regression/55-loop-unrolling/03-break-right-place.t +++ b/tests/regression/55-loop-unrolling/03-break-right-place.t @@ -1,5 +1,5 @@ $ goblint --set lib.activated '["goblint"]' --set exp.unrolling-factor 5 --enable justcil --set dbg.justcil-printer clean 03-break-right-place.c - [Info] unrolling loop at 03-break-right-place.c:8:5-15:5 with factor 5 + [Info] unrolling loop at 03-break-right-place.c:8.5-15.5 with factor 5 extern void __goblint_check(int exp ) ; extern void __goblint_assume(int exp ) ; extern void __goblint_assert(int exp ) ; diff --git a/tests/regression/55-loop-unrolling/04-simple.t b/tests/regression/55-loop-unrolling/04-simple.t index da38fd7b13..7b555c6441 100644 --- a/tests/regression/55-loop-unrolling/04-simple.t +++ b/tests/regression/55-loop-unrolling/04-simple.t @@ -1,5 +1,5 @@ $ goblint --set lib.activated '["goblint"]' --set exp.unrolling-factor 5 --set ana.base.arrays.domain unroll --set ana.base.arrays.unrolling-factor 5 --enable justcil --set dbg.justcil-printer clean 04-simple.c - [Info] unrolling loop at 04-simple.c:10:5-13:5 with factor 5 + [Info] unrolling loop at 04-simple.c:10.5-13.5 with factor 5 extern void __goblint_check(int exp ) ; extern void __goblint_assume(int exp ) ; extern void __goblint_assert(int exp ) ; diff --git a/tests/regression/55-loop-unrolling/05-continue.t b/tests/regression/55-loop-unrolling/05-continue.t index 16731ad4e6..2e4a08b900 100644 --- a/tests/regression/55-loop-unrolling/05-continue.t +++ b/tests/regression/55-loop-unrolling/05-continue.t @@ -1,5 +1,5 @@ $ goblint --set lib.activated '["goblint"]' --set exp.unrolling-factor 5 --enable justcil --set dbg.justcil-printer clean 05-continue.c - [Info] unrolling loop at 05-continue.c:9:5-17:5 with factor 5 + [Info] unrolling loop at 05-continue.c:9.5-17.5 with factor 5 extern void __goblint_check(int exp ) ; extern void __goblint_assume(int exp ) ; extern void __goblint_assert(int exp ) ; diff --git a/tests/regression/55-loop-unrolling/06-simple-cases-unrolled.t b/tests/regression/55-loop-unrolling/06-simple-cases-unrolled.t index 52fd7d868b..578521a731 100644 --- a/tests/regression/55-loop-unrolling/06-simple-cases-unrolled.t +++ b/tests/regression/55-loop-unrolling/06-simple-cases-unrolled.t @@ -1,15 +1,15 @@ $ goblint --set lib.activated '["goblint"]' --set exp.unrolling-factor 5 --set ana.base.arrays.domain unroll --set ana.base.arrays.unrolling-factor 5 --enable justcil --set dbg.justcil-printer clean 06-simple-cases-unrolled.c - [Info] unrolling loop at 06-simple-cases-unrolled.c:27:5-30:5 with factor 5 - [Info] unrolling loop at 06-simple-cases-unrolled.c:42:5-45:19 with factor 5 - [Info] unrolling loop at 06-simple-cases-unrolled.c:57:5-60:5 with factor 5 - [Info] unrolling loop at 06-simple-cases-unrolled.c:74:5-80:5 with factor 5 - [Info] unrolling loop at 06-simple-cases-unrolled.c:95:5-105:5 with factor 5 - [Info] unrolling loop at 06-simple-cases-unrolled.c:119:5-123:5 with factor 5 - [Info] unrolling loop at 06-simple-cases-unrolled.c:143:2-146:2 with factor 5 - [Info] unrolling loop at 06-simple-cases-unrolled.c:160:9-163:9 with factor 5 - [Info] unrolling loop at 06-simple-cases-unrolled.c:157:2-165:2 with factor 5 - [Info] unrolling loop at 06-simple-cases-unrolled.c:174:2-178:2 with factor 5 - [Info] unrolling loop at 06-simple-cases-unrolled.c:187:2-194:2 with factor 5 + [Info] unrolling loop at 06-simple-cases-unrolled.c:27.5-30.5 with factor 5 + [Info] unrolling loop at 06-simple-cases-unrolled.c:42.5-45.19 with factor 5 + [Info] unrolling loop at 06-simple-cases-unrolled.c:57.5-60.5 with factor 5 + [Info] unrolling loop at 06-simple-cases-unrolled.c:74.5-80.5 with factor 5 + [Info] unrolling loop at 06-simple-cases-unrolled.c:95.5-105.5 with factor 5 + [Info] unrolling loop at 06-simple-cases-unrolled.c:119.5-123.5 with factor 5 + [Info] unrolling loop at 06-simple-cases-unrolled.c:143.2-146.2 with factor 5 + [Info] unrolling loop at 06-simple-cases-unrolled.c:160.9-163.9 with factor 5 + [Info] unrolling loop at 06-simple-cases-unrolled.c:157.2-165.2 with factor 5 + [Info] unrolling loop at 06-simple-cases-unrolled.c:174.2-178.2 with factor 5 + [Info] unrolling loop at 06-simple-cases-unrolled.c:187.2-194.2 with factor 5 extern void __goblint_check(int exp ) ; extern void __goblint_assume(int exp ) ; extern void __goblint_assert(int exp ) ; diff --git a/tests/regression/55-loop-unrolling/07-nested-unroll.t b/tests/regression/55-loop-unrolling/07-nested-unroll.t index 03455b7c8d..695d251be3 100644 --- a/tests/regression/55-loop-unrolling/07-nested-unroll.t +++ b/tests/regression/55-loop-unrolling/07-nested-unroll.t @@ -1,8 +1,8 @@ $ goblint --set lib.activated '["goblint"]' --set exp.unrolling-factor 5 --set ana.base.arrays.domain unroll --set ana.base.arrays.unrolling-factor 5 --enable justcil --set dbg.justcil-printer clean 07-nested-unroll.c - [Info] unrolling loop at 07-nested-unroll.c:7:9-9:9 with factor 5 - [Info] unrolling loop at 07-nested-unroll.c:6:5-10:5 with factor 5 - [Info] unrolling loop at 07-nested-unroll.c:13:9-15:9 with factor 5 - [Info] unrolling loop at 07-nested-unroll.c:12:5-16:5 with factor 5 + [Info] unrolling loop at 07-nested-unroll.c:7.9-9.9 with factor 5 + [Info] unrolling loop at 07-nested-unroll.c:6.5-10.5 with factor 5 + [Info] unrolling loop at 07-nested-unroll.c:13.9-15.9 with factor 5 + [Info] unrolling loop at 07-nested-unroll.c:12.5-16.5 with factor 5 extern void __goblint_check(int exp ) ; extern void __goblint_assume(int exp ) ; extern void __goblint_assert(int exp ) ; diff --git a/tests/regression/55-loop-unrolling/09-weird.t b/tests/regression/55-loop-unrolling/09-weird.t index 502847c46e..63c375a5ef 100644 --- a/tests/regression/55-loop-unrolling/09-weird.t +++ b/tests/regression/55-loop-unrolling/09-weird.t @@ -1,5 +1,5 @@ $ goblint --set lib.activated '["goblint"]' --set exp.unrolling-factor 2 --enable justcil --set dbg.justcil-printer clean 09-weird.c - [Info] unrolling loop at 09-weird.c:8:5-11:5 with factor 2 + [Info] unrolling loop at 09-weird.c:8.5-11.5 with factor 2 extern void __goblint_check(int exp ) ; extern void __goblint_assume(int exp ) ; extern void __goblint_assert(int exp ) ; diff --git a/tests/regression/55-loop-unrolling/10-continue-right-place.t b/tests/regression/55-loop-unrolling/10-continue-right-place.t index 1daab03c52..675cb5a9a4 100644 --- a/tests/regression/55-loop-unrolling/10-continue-right-place.t +++ b/tests/regression/55-loop-unrolling/10-continue-right-place.t @@ -1,5 +1,5 @@ $ goblint --set lib.activated '["goblint"]' --set exp.unrolling-factor 11 --enable justcil --set dbg.justcil-printer clean 10-continue-right-place.c - [Info] unrolling loop at 10-continue-right-place.c:7:3-15:3 with factor 11 + [Info] unrolling loop at 10-continue-right-place.c:7.3-15.3 with factor 11 extern void __goblint_check(int exp ) ; extern void __goblint_assume(int exp ) ; extern void __goblint_assert(int exp ) ; diff --git a/tests/regression/55-loop-unrolling/11-unrolled-loop-invariant.t b/tests/regression/55-loop-unrolling/11-unrolled-loop-invariant.t index 056d8b8217..e333b668ff 100644 --- a/tests/regression/55-loop-unrolling/11-unrolled-loop-invariant.t +++ b/tests/regression/55-loop-unrolling/11-unrolled-loop-invariant.t @@ -1,7 +1,7 @@ $ cfgDot --unroll 1 11-unrolled-loop-invariant.c - [Info] unrolling loop at 11-unrolled-loop-invariant.c:4:3-5:8 with factor 1 - [Info] unrolling loop at 11-unrolled-loop-invariant.c:9:5-10:10 with factor 1 - [Info] unrolling loop at 11-unrolled-loop-invariant.c:8:3-12:3 with factor 1 + [Info] unrolling loop at 11-unrolled-loop-invariant.c:4.3-5.8 with factor 1 + [Info] unrolling loop at 11-unrolled-loop-invariant.c:9.5-10.10 with factor 1 + [Info] unrolling loop at 11-unrolled-loop-invariant.c:8.3-12.3 with factor 1 $ graph-easy --as=boxart main.dot ┌──────────────────────────────────────────────────────┐ @@ -11,152 +11,152 @@ │ (body) ▼ ┌──────────────────────────────────────────────────────┐ - │ 11-unrolled-loop-invariant.c:3:3-3:12 │ - │ (11-unrolled-loop-invariant.c:3:7-3:12 (synthetic)) │ - │ YAML loc: 11-unrolled-loop-invariant.c:3:3-3:12 │ + │ 11-unrolled-loop-invariant.c:3.3-3.12 │ + │ (11-unrolled-loop-invariant.c:3.7-3.12 (synthetic)) │ + │ YAML loc: 11-unrolled-loop-invariant.c:3.3-3.12 │ │ server: false │ └──────────────────────────────────────────────────────┘ │ │ i = 0 ▼ ┌──────────────────────────────────────────────────────┐ - │ 11-unrolled-loop-invariant.c:4:3-5:8 (synthetic) │ - │ (11-unrolled-loop-invariant.c:4:10-4:16 (synthetic)) │ - │ YAML loop: 11-unrolled-loop-invariant.c:4:3-5:8 │ + │ 11-unrolled-loop-invariant.c:4.3-5.8 (synthetic) │ + │ (11-unrolled-loop-invariant.c:4.10-4.16 (synthetic)) │ + │ YAML loop: 11-unrolled-loop-invariant.c:4.3-5.8 │ ┌───────────── │ server: false │ ·┐ │ └──────────────────────────────────────────────────────┘ : │ │ : │ │ Pos(i < 10) : │ ▼ : │ ┌──────────────────────────────────────────────────────┐ : - │ │ 11-unrolled-loop-invariant.c:5:5-5:8 │ : - │ │ (11-unrolled-loop-invariant.c:5:5-5:8) │ : - │ │ YAML loc: 11-unrolled-loop-invariant.c:5:5-5:8 │ : + │ │ 11-unrolled-loop-invariant.c:5.5-5.8 │ : + │ │ (11-unrolled-loop-invariant.c:5.5-5.8) │ : + │ │ YAML loc: 11-unrolled-loop-invariant.c:5.5-5.8 │ : │ │ server: true │ ·┼····································································┐ │ └──────────────────────────────────────────────────────┘ : : │ │ : : │ Neg(i < 10) │ i = i + 1 : : │ ▼ ▼ : │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ : - │ │ 11-unrolled-loop-invariant.c:4:3-5:8 (synthetic) │ : - │ │ (11-unrolled-loop-invariant.c:4:10-4:16 (synthetic)) │ : - │ │ YAML loop: 11-unrolled-loop-invariant.c:4:3-5:8 │ : + │ │ 11-unrolled-loop-invariant.c:4.3-5.8 (synthetic) │ : + │ │ (11-unrolled-loop-invariant.c:4.10-4.16 (synthetic)) │ : + │ │ YAML loop: 11-unrolled-loop-invariant.c:4.3-5.8 │ : │ │ server: false │ : │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ : │ │ │ ▲ : │ │ Neg(i < 10) │ Pos(i < 10) │ i = i + 1 : │ ▼ │ │ : │ ┌──────────────────────────────────────────────────────┐ │ ┌───────────────────────────────────────────────────┐ : - │ │ 11-unrolled-loop-invariant.c:7:3-7:19 │ │ │ 11-unrolled-loop-invariant.c:5:5-5:8 │ : - │ │ (11-unrolled-loop-invariant.c:7:7-7:12 (synthetic)) │ │ │ (11-unrolled-loop-invariant.c:5:5-5:8) │ : - │ │ YAML loc: 11-unrolled-loop-invariant.c:7:3-7:19 │ │ │ YAML loc: 11-unrolled-loop-invariant.c:5:5-5:8 │ : + │ │ 11-unrolled-loop-invariant.c:7.3-7.19 │ │ │ 11-unrolled-loop-invariant.c:5.5-5.8 │ : + │ │ (11-unrolled-loop-invariant.c:7.7-7.12 (synthetic)) │ │ │ (11-unrolled-loop-invariant.c:5.5-5.8) │ : + │ │ YAML loc: 11-unrolled-loop-invariant.c:7.3-7.19 │ │ │ YAML loc: 11-unrolled-loop-invariant.c:5.5-5.8 │ : └────────────▶ │ server: false │ └───────────▶ │ server: true │ ◀┘ └──────────────────────────────────────────────────────┘ └───────────────────────────────────────────────────┘ │ │ j = 0 ▼ ┌──────────────────────────────────────────────────────┐ - │ 11-unrolled-loop-invariant.c:7:3-7:19 (synthetic) │ - │ (11-unrolled-loop-invariant.c:7:14-7:19 (synthetic)) │ + │ 11-unrolled-loop-invariant.c:7.3-7.19 (synthetic) │ + │ (11-unrolled-loop-invariant.c:7.14-7.19 (synthetic)) │ │ server: false │ └──────────────────────────────────────────────────────┘ │ │ k = 0 ▼ ┌──────────────────────────────────────────────────────┐ ┌───────────────────────────────────────────────────┐ ┌──────────────────┐ - │ 11-unrolled-loop-invariant.c:8:3-12:3 (synthetic) │ │ 11-unrolled-loop-invariant.c:13:3-13:11 │ │ │ - │ (11-unrolled-loop-invariant.c:8:10-8:16 (synthetic)) │ │ (11-unrolled-loop-invariant.c:13:10-13:11) │ │ return of main() │ - │ YAML loop: 11-unrolled-loop-invariant.c:8:3-12:3 │ Neg(j < 10) │ YAML loc: 11-unrolled-loop-invariant.c:13:3-13:11 │ return 0 │ │ + │ 11-unrolled-loop-invariant.c:8.3-12.3 (synthetic) │ │ 11-unrolled-loop-invariant.c:13.3-13.11 │ │ │ + │ (11-unrolled-loop-invariant.c:8.10-8.16 (synthetic)) │ │ (11-unrolled-loop-invariant.c:13.10-13.11) │ │ return of main() │ + │ YAML loop: 11-unrolled-loop-invariant.c:8.3-12.3 │ Neg(j < 10) │ YAML loc: 11-unrolled-loop-invariant.c:13.3-13.11 │ return 0 │ │ ┌············· │ server: false │ ─────────────▶ │ server: true │ ──────────▶ │ │ : └──────────────────────────────────────────────────────┘ └───────────────────────────────────────────────────┘ └──────────────────┘ : │ ▲ Neg(j < 10) : │ Pos(j < 10) └──────────────────────────────────────────────────────────────────────────────────────────┐ : ▼ │ : ┌──────────────────────────────────────────────────────┐ │ - : │ 11-unrolled-loop-invariant.c:9:5-10:10 (synthetic) │ │ - : │ (11-unrolled-loop-invariant.c:9:12-9:19 (synthetic)) │ │ - : │ YAML loop: 11-unrolled-loop-invariant.c:9:5-10:10 │ │ + : │ 11-unrolled-loop-invariant.c:9.5-10.10 (synthetic) │ │ + : │ (11-unrolled-loop-invariant.c:9.12-9.19 (synthetic)) │ │ + : │ YAML loop: 11-unrolled-loop-invariant.c:9.5-10.10 │ │ ┌──────────────────────────┼───────────── │ server: false │ ······································································┐ │ │ : └──────────────────────────────────────────────────────┘ : │ │ : │ : │ │ : │ Pos(k < 100) : │ │ : ▼ : │ │ : ┌──────────────────────────────────────────────────────┐ : │ - │ : │ 11-unrolled-loop-invariant.c:10:7-10:10 │ : │ - │ : │ (11-unrolled-loop-invariant.c:10:7-10:10) │ : │ - │ : │ YAML loc: 11-unrolled-loop-invariant.c:10:7-10:10 │ : │ + │ : │ 11-unrolled-loop-invariant.c:10.7-10.10 │ : │ + │ : │ (11-unrolled-loop-invariant.c:10.7-10.10) │ : │ + │ : │ YAML loc: 11-unrolled-loop-invariant.c:10.7-10.10 │ : │ │ : │ server: true │ ······································································┼············┐ │ │ : └──────────────────────────────────────────────────────┘ : : │ │ : │ : : │ │ : │ k = k + 1 ┌────────────────────────────────────────────────────┼────────────┼────────────────────────┼─────────────┐ │ : ▼ │ : : │ │ │ : ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ : : │ │ - │ : │ 11-unrolled-loop-invariant.c:9:5-10:10 (synthetic) │ : : │ │ - │ : │ (11-unrolled-loop-invariant.c:9:12-9:19 (synthetic)) │ : : │ │ - │ : │ YAML loop: 11-unrolled-loop-invariant.c:9:5-10:10 │ : : │ │ + │ : │ 11-unrolled-loop-invariant.c:9.5-10.10 (synthetic) │ : : │ │ + │ : │ (11-unrolled-loop-invariant.c:9.12-9.19 (synthetic)) │ : : │ │ + │ : │ YAML loop: 11-unrolled-loop-invariant.c:9.5-10.10 │ : : │ │ │ : │ server: false │ : : │ │ │ : └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ : : │ │ │ : │ : ▲ : : │ │ │ : │ Pos(k < 100) : │ k = k + 1 : : │ │ │ : ▼ : │ : : │ │ │ : ┌──────────────────────────────────────────────────────┐ : │ : : │ │ - │ : │ 11-unrolled-loop-invariant.c:10:7-10:10 │ : │ : : │ │ - │ : │ (11-unrolled-loop-invariant.c:10:7-10:10) │ : │ : : │ │ - │ : │ YAML loc: 11-unrolled-loop-invariant.c:10:7-10:10 │ : │ : : │ │ + │ : │ 11-unrolled-loop-invariant.c:10.7-10.10 │ : │ : : │ │ + │ : │ (11-unrolled-loop-invariant.c:10.7-10.10) │ : │ : : │ │ + │ : │ YAML loc: 11-unrolled-loop-invariant.c:10.7-10.10 │ : │ : : │ │ │ : │ server: true │ ─┼───────────────┘ : : │ │ │ : └──────────────────────────────────────────────────────┘ : : : │ │ │ : : : : : │ │ ┌────┘ : : : : : │ │ │ : ▼ : : : │ │ │ : ┌──────────────────────────────────────────────────────┐ : : : │ │ - │ : │ 11-unrolled-loop-invariant.c:10:7-10:10 │ : : : │ │ - │ : │ (11-unrolled-loop-invariant.c:10:7-10:10) │ : : : │ │ - │ : │ YAML loc: 11-unrolled-loop-invariant.c:10:7-10:10 │ : : : │ │ + │ : │ 11-unrolled-loop-invariant.c:10.7-10.10 │ : : : │ │ + │ : │ (11-unrolled-loop-invariant.c:10.7-10.10) │ : : : │ │ + │ : │ YAML loc: 11-unrolled-loop-invariant.c:10.7-10.10 │ : : : │ │ │ ┌··························┼············▶ │ server: true │ ◀┼───────────────┐ : : │ │ │ : : └──────────────────────────────────────────────────────┘ : │ : : │ │ │ : : │ : │ : : │ │ │ : : │ k = k + 1 : │ Pos(k < 100) : : │ │ │ : : ▼ ▼ │ : : │ │ │ : : ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ : : │ │ - │ : : │ 11-unrolled-loop-invariant.c:9:5-10:10 (synthetic) │ : : │ │ - │ : : │ (11-unrolled-loop-invariant.c:9:12-9:19 (synthetic)) │ : : │ │ - │ : k = k + 1 : │ YAML loop: 11-unrolled-loop-invariant.c:9:5-10:10 │ : : │ │ + │ : : │ 11-unrolled-loop-invariant.c:9.5-10.10 (synthetic) │ : : │ │ + │ : : │ (11-unrolled-loop-invariant.c:9.12-9.19 (synthetic)) │ : : │ │ + │ : k = k + 1 : │ YAML loop: 11-unrolled-loop-invariant.c:9.5-10.10 │ : : │ │ │ : ┌─────────────────────┼────────────▶ │ server: false │ ◀┼············┼···················┐ │ │ │ : │ : └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ : : : │ │ │ : │ : │ : : : │ │ │ : │ : │ Neg(k < 100) : : : │ │ │ : │ : ▼ : : : │ │ │ : │ : ┌──────────────────────────────────────────────────────┐ : : : │ │ - │ : │ : │ 11-unrolled-loop-invariant.c:11:5-11:8 │ : : : │ │ - │ : │ : │ (11-unrolled-loop-invariant.c:11:5-11:8) │ : : : │ │ - │ : │ : │ YAML loc: 11-unrolled-loop-invariant.c:11:5-11:8 │ : : : │ │ + │ : │ : │ 11-unrolled-loop-invariant.c:11.5-11.8 │ : : : │ │ + │ : │ : │ (11-unrolled-loop-invariant.c:11.5-11.8) │ : : : │ │ + │ : │ : │ YAML loc: 11-unrolled-loop-invariant.c:11.5-11.8 │ : : : │ │ │ : │ ┌────────────────┼────────────▶ │ server: true │ ◀·····································································┼············┼···················┼····┼·············┼····┐ │ : │ │ : └──────────────────────────────────────────────────────┘ : : : │ │ : │ : │ │ : │ : : : │ │ : │ : │ │ : │ j = j + 1 ┌────────────────────────────────────────────────────┼────────────┼───────────────────┼────┘ │ : │ : │ │ : ▼ │ : : : │ : │ : │ │ : ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ : : : │ : - │ : │ │ : │ 11-unrolled-loop-invariant.c:8:3-12:3 (synthetic) │ : : : │ : - │ : │ │ : │ (11-unrolled-loop-invariant.c:8:10-8:16 (synthetic)) │ : : : │ : - │ : │ │ Neg(k < 100) : │ YAML loop: 11-unrolled-loop-invariant.c:8:3-12:3 │ : : : │ : + │ : │ │ : │ 11-unrolled-loop-invariant.c:8.3-12.3 (synthetic) │ : : : │ : + │ : │ │ : │ (11-unrolled-loop-invariant.c:8.10-8.16 (synthetic)) │ : : : │ : + │ : │ │ Neg(k < 100) : │ YAML loop: 11-unrolled-loop-invariant.c:8.3-12.3 │ : : : │ : │ : │ │ └············▶ │ server: false │ ◀┼────────────┼───────────────────┼────┐ │ : │ : │ │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ : : : │ │ : │ : │ │ │ : : : │ │ : │ : │ │ │ Pos(j < 10) : : : │ │ : │ : │ │ ▼ : : : │ │ : │ : │ │ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ : : : │ │ : - │ : │ │ │ 11-unrolled-loop-invariant.c:9:5-10:10 (synthetic) │ : : : │ │ : - │ : │ │ │ (11-unrolled-loop-invariant.c:9:12-9:19 (synthetic)) │ : : : │ │ : - │ : │ │ │ YAML loop: 11-unrolled-loop-invariant.c:9:5-10:10 │ : : : │ j = j + 1 │ : + │ : │ │ │ 11-unrolled-loop-invariant.c:9.5-10.10 (synthetic) │ : : : │ │ : + │ : │ │ │ (11-unrolled-loop-invariant.c:9.12-9.19 (synthetic)) │ : : : │ │ : + │ : │ │ │ YAML loop: 11-unrolled-loop-invariant.c:9.5-10.10 │ : : : │ j = j + 1 │ : │ : │ └────────────────────────────── │ server: false │ ◀┘ : : │ │ : │ : │ └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ : : │ │ : │ : │ │ : : : │ │ : │ : │ │ Pos(k < 100) └·································································┼···················┘ │ │ : │ : │ ▼ : │ │ : │ : │ ┌──────────────────────────────────────────────────────┐ : │ │ : - │ : │ │ 11-unrolled-loop-invariant.c:10:7-10:10 │ : │ │ : - │ : │ │ (11-unrolled-loop-invariant.c:10:7-10:10) │ : │ │ : - │ : │ │ YAML loc: 11-unrolled-loop-invariant.c:10:7-10:10 │ : │ │ : + │ : │ │ 11-unrolled-loop-invariant.c:10.7-10.10 │ : │ │ : + │ : │ │ (11-unrolled-loop-invariant.c:10.7-10.10) │ : │ │ : + │ : │ │ YAML loc: 11-unrolled-loop-invariant.c:10.7-10.10 │ : │ │ : │ : └─────────────────────────────────── │ server: true │ ◀··················································································┘ ┌····┼·············┼····┘ │ : └──────────────────────────────────────────────────────┘ : │ │ │ : : : │ │ @@ -166,42 +166,42 @@ │ ┌·····························································································································································┘ │ │ │ : │ │ │ ┌──────────────────────────────────────────────────────┐ │ │ - │ │ 11-unrolled-loop-invariant.c:11:5-11:8 │ │ │ - │ │ (11-unrolled-loop-invariant.c:11:5-11:8) │ │ │ - │ Neg(k < 100) │ YAML loc: 11-unrolled-loop-invariant.c:11:5-11:8 │ │ │ + │ │ 11-unrolled-loop-invariant.c:11.5-11.8 │ │ │ + │ │ (11-unrolled-loop-invariant.c:11.5-11.8) │ │ │ + │ Neg(k < 100) │ YAML loc: 11-unrolled-loop-invariant.c:11.5-11.8 │ │ │ └────────────────────────────────────────────▶ │ server: true │ ────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │ └──────────────────────────────────────────────────────┘ │ ▲ Neg(k < 100) │ └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ $ goblint --set lib.activated '[]' --set exp.unrolling-factor 5 --enable ana.int.interval --enable witness.yaml.enabled --set witness.yaml.entry-types '["location_invariant", "loop_invariant"]' 11-unrolled-loop-invariant.c - [Info] unrolling loop at 11-unrolled-loop-invariant.c:4:3-5:8 with factor 5 - [Info] unrolling loop at 11-unrolled-loop-invariant.c:9:5-10:10 with factor 5 - [Info] unrolling loop at 11-unrolled-loop-invariant.c:8:3-12:3 with factor 5 + [Info] unrolling loop at 11-unrolled-loop-invariant.c:4.3-5.8 with factor 5 + [Info] unrolling loop at 11-unrolled-loop-invariant.c:9.5-10.10 with factor 5 + [Info] unrolling loop at 11-unrolled-loop-invariant.c:8.3-12.3 with factor 5 [Info][Deadcode] Logical lines of code (LLoC) summary: live: 10 dead: 0 total lines: 10 - [Warning][Deadcode][CWE-570] condition 'k < 100' (possibly inserted by CIL) is always false (11-unrolled-loop-invariant.c:9:12-9:19) - [Warning][Deadcode][CWE-571] condition 'j < 10' (possibly inserted by CIL) is always true (11-unrolled-loop-invariant.c:8:10-8:16) - [Warning][Deadcode][CWE-570] condition 'k < 100' (possibly inserted by CIL) is always false (11-unrolled-loop-invariant.c:9:12-9:19) - [Warning][Deadcode][CWE-570] condition 'k < 100' (possibly inserted by CIL) is always false (11-unrolled-loop-invariant.c:9:12-9:19) - [Warning][Deadcode][CWE-571] condition 'j < 10' (possibly inserted by CIL) is always true (11-unrolled-loop-invariant.c:8:10-8:16) - [Warning][Deadcode][CWE-570] condition 'k < 100' (possibly inserted by CIL) is always false (11-unrolled-loop-invariant.c:9:12-9:19) - [Warning][Deadcode][CWE-571] condition 'i < 10' (possibly inserted by CIL) is always true (11-unrolled-loop-invariant.c:4:10-4:16) - [Warning][Deadcode][CWE-571] condition 'i < 10' (possibly inserted by CIL) is always true (11-unrolled-loop-invariant.c:4:10-4:16) - [Warning][Deadcode][CWE-571] condition 'i < 10' (possibly inserted by CIL) is always true (11-unrolled-loop-invariant.c:4:10-4:16) - [Warning][Deadcode][CWE-571] condition 'i < 10' (possibly inserted by CIL) is always true (11-unrolled-loop-invariant.c:4:10-4:16) - [Warning][Deadcode][CWE-571] condition 'i < 10' (possibly inserted by CIL) is always true (11-unrolled-loop-invariant.c:4:10-4:16) - [Warning][Deadcode][CWE-571] condition 'j < 10' (possibly inserted by CIL) is always true (11-unrolled-loop-invariant.c:8:10-8:16) - [Warning][Deadcode][CWE-570] condition 'k < 100' (possibly inserted by CIL) is always false (11-unrolled-loop-invariant.c:9:12-9:19) - [Warning][Deadcode][CWE-571] condition 'j < 10' (possibly inserted by CIL) is always true (11-unrolled-loop-invariant.c:8:10-8:16) - [Warning][Deadcode][CWE-571] condition 'k < 100' (possibly inserted by CIL) is always true (11-unrolled-loop-invariant.c:9:12-9:19) - [Warning][Deadcode][CWE-571] condition 'k < 100' (possibly inserted by CIL) is always true (11-unrolled-loop-invariant.c:9:12-9:19) - [Warning][Deadcode][CWE-571] condition 'k < 100' (possibly inserted by CIL) is always true (11-unrolled-loop-invariant.c:9:12-9:19) - [Warning][Deadcode][CWE-571] condition 'k < 100' (possibly inserted by CIL) is always true (11-unrolled-loop-invariant.c:9:12-9:19) - [Warning][Deadcode][CWE-571] condition 'k < 100' (possibly inserted by CIL) is always true (11-unrolled-loop-invariant.c:9:12-9:19) - [Warning][Deadcode][CWE-571] condition 'j < 10' (possibly inserted by CIL) is always true (11-unrolled-loop-invariant.c:8:10-8:16) + [Warning][Deadcode][CWE-570] condition 'k < 100' (possibly inserted by CIL) is always false (11-unrolled-loop-invariant.c:9.12-9.19) + [Warning][Deadcode][CWE-571] condition 'j < 10' (possibly inserted by CIL) is always true (11-unrolled-loop-invariant.c:8.10-8.16) + [Warning][Deadcode][CWE-570] condition 'k < 100' (possibly inserted by CIL) is always false (11-unrolled-loop-invariant.c:9.12-9.19) + [Warning][Deadcode][CWE-570] condition 'k < 100' (possibly inserted by CIL) is always false (11-unrolled-loop-invariant.c:9.12-9.19) + [Warning][Deadcode][CWE-571] condition 'j < 10' (possibly inserted by CIL) is always true (11-unrolled-loop-invariant.c:8.10-8.16) + [Warning][Deadcode][CWE-570] condition 'k < 100' (possibly inserted by CIL) is always false (11-unrolled-loop-invariant.c:9.12-9.19) + [Warning][Deadcode][CWE-571] condition 'i < 10' (possibly inserted by CIL) is always true (11-unrolled-loop-invariant.c:4.10-4.16) + [Warning][Deadcode][CWE-571] condition 'i < 10' (possibly inserted by CIL) is always true (11-unrolled-loop-invariant.c:4.10-4.16) + [Warning][Deadcode][CWE-571] condition 'i < 10' (possibly inserted by CIL) is always true (11-unrolled-loop-invariant.c:4.10-4.16) + [Warning][Deadcode][CWE-571] condition 'i < 10' (possibly inserted by CIL) is always true (11-unrolled-loop-invariant.c:4.10-4.16) + [Warning][Deadcode][CWE-571] condition 'i < 10' (possibly inserted by CIL) is always true (11-unrolled-loop-invariant.c:4.10-4.16) + [Warning][Deadcode][CWE-571] condition 'j < 10' (possibly inserted by CIL) is always true (11-unrolled-loop-invariant.c:8.10-8.16) + [Warning][Deadcode][CWE-570] condition 'k < 100' (possibly inserted by CIL) is always false (11-unrolled-loop-invariant.c:9.12-9.19) + [Warning][Deadcode][CWE-571] condition 'j < 10' (possibly inserted by CIL) is always true (11-unrolled-loop-invariant.c:8.10-8.16) + [Warning][Deadcode][CWE-571] condition 'k < 100' (possibly inserted by CIL) is always true (11-unrolled-loop-invariant.c:9.12-9.19) + [Warning][Deadcode][CWE-571] condition 'k < 100' (possibly inserted by CIL) is always true (11-unrolled-loop-invariant.c:9.12-9.19) + [Warning][Deadcode][CWE-571] condition 'k < 100' (possibly inserted by CIL) is always true (11-unrolled-loop-invariant.c:9.12-9.19) + [Warning][Deadcode][CWE-571] condition 'k < 100' (possibly inserted by CIL) is always true (11-unrolled-loop-invariant.c:9.12-9.19) + [Warning][Deadcode][CWE-571] condition 'k < 100' (possibly inserted by CIL) is always true (11-unrolled-loop-invariant.c:9.12-9.19) + [Warning][Deadcode][CWE-571] condition 'j < 10' (possibly inserted by CIL) is always true (11-unrolled-loop-invariant.c:8.10-8.16) [Info][Witness] witness generation summary: location invariants: 11 loop invariants: 5 diff --git a/tests/regression/56-witness/05-prec-problem.t b/tests/regression/56-witness/05-prec-problem.t index 4560564892..9b7cf177ca 100644 --- a/tests/regression/56-witness/05-prec-problem.t +++ b/tests/regression/56-witness/05-prec-problem.t @@ -1,10 +1,10 @@ $ goblint --enable witness.yaml.enabled --enable ana.int.interval --set witness.yaml.entry-types '["precondition_loop_invariant"]' 05-prec-problem.c - [Success][Assert] Assertion "y != z" will succeed (05-prec-problem.c:22:5-22:28) + [Success][Assert] Assertion "y != z" will succeed (05-prec-problem.c:22.5-22.28) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 13 dead: 0 total lines: 13 - [Warning][Deadcode][CWE-570] condition '0' (possibly inserted by CIL) is always false (05-prec-problem.c:13:12-13:13) + [Warning][Deadcode][CWE-570] condition '0' (possibly inserted by CIL) is always false (05-prec-problem.c:13.12-13.13) [Info][Witness] witness generation summary: location invariants: 0 loop invariants: 0 diff --git a/tests/regression/56-witness/30-base-unassume-inc-dec.t b/tests/regression/56-witness/30-base-unassume-inc-dec.t index fa48180552..f7e444da5e 100644 --- a/tests/regression/56-witness/30-base-unassume-inc-dec.t +++ b/tests/regression/56-witness/30-base-unassume-inc-dec.t @@ -4,8 +4,8 @@ Assertions not proven. $ goblint --enable ana.int.interval --set solvers.td3.side_widen always --set ana.base.privatization vojdani 30-base-unassume-inc-dec.c - [Warning][Assert] Assertion "-10 <= g" is unknown. (30-base-unassume-inc-dec.c:33:3-33:28) - [Warning][Assert] Assertion "g <= 10" is unknown. (30-base-unassume-inc-dec.c:34:3-34:27) + [Warning][Assert] Assertion "-10 <= g" is unknown. (30-base-unassume-inc-dec.c:33.3-33.28) + [Warning][Assert] Assertion "g <= 10" is unknown. (30-base-unassume-inc-dec.c:34.3-34.27) [Warning][Deadcode] Function 't_fun' has dead code: on line 14 (30-base-unassume-inc-dec.c:14-14) [Warning][Deadcode] Function 't_fun2' has dead code: @@ -14,8 +14,8 @@ Assertions not proven. live: 20 dead: 2 total lines: 22 - [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (30-base-unassume-inc-dec.c:8:10-8:11) - [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (30-base-unassume-inc-dec.c:18:10-18:11) + [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (30-base-unassume-inc-dec.c:8.10-8.11) + [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (30-base-unassume-inc-dec.c:18.10-18.11) [Info][Race] Memory locations race summary: safe: 1 vulnerable: 0 @@ -30,10 +30,10 @@ Easiest to run again to get evals. Assertions proven. $ goblint --enable ana.int.interval --set solvers.td3.side_widen always --set ana.base.privatization vojdani --set witness.yaml.entry-types[*] location_invariant --set ana.activated[+] unassume --set witness.yaml.unassume 30-base-unassume-inc-dec.yml --enable ana.widen.tokens 30-base-unassume-inc-dec.c - [Info][Witness] unassume invariant: -10 <= g && g <= 10 (30-base-unassume-inc-dec.c:9:5-9:27) - [Info][Witness] unassume invariant: -10 <= g && g <= 10 (30-base-unassume-inc-dec.c:19:5-19:27) - [Success][Assert] Assertion "-10 <= g" will succeed (30-base-unassume-inc-dec.c:33:3-33:28) - [Success][Assert] Assertion "g <= 10" will succeed (30-base-unassume-inc-dec.c:34:3-34:27) + [Info][Witness] unassume invariant: -10 <= g && g <= 10 (30-base-unassume-inc-dec.c:9.5-9.27) + [Info][Witness] unassume invariant: -10 <= g && g <= 10 (30-base-unassume-inc-dec.c:19.5-19.27) + [Success][Assert] Assertion "-10 <= g" will succeed (30-base-unassume-inc-dec.c:33.3-33.28) + [Success][Assert] Assertion "g <= 10" will succeed (30-base-unassume-inc-dec.c:34.3-34.27) [Warning][Deadcode] Function 't_fun' has dead code: on line 14 (30-base-unassume-inc-dec.c:14-14) [Warning][Deadcode] Function 't_fun2' has dead code: @@ -42,8 +42,8 @@ Assertions proven. live: 20 dead: 2 total lines: 22 - [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (30-base-unassume-inc-dec.c:8:10-8:11) - [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (30-base-unassume-inc-dec.c:18:10-18:11) + [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (30-base-unassume-inc-dec.c:8.10-8.11) + [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (30-base-unassume-inc-dec.c:18.10-18.11) [Info][Race] Memory locations race summary: safe: 1 vulnerable: 0 @@ -59,14 +59,14 @@ TODO: Should not be according to Simmo's PhD thesis? Assertions proven. $ goblint --enable ana.int.interval --set solvers.td3.side_widen always --set ana.base.privatization vojdani --set witness.yaml.entry-types[*] location_invariant --set ana.activated[+] unassume --set witness.yaml.unassume 30-base-unassume-inc-dec2.yml --enable ana.widen.tokens 30-base-unassume-inc-dec.c - [Info][Witness] unassume invariant: -10 <= g && g <= 10 (30-base-unassume-inc-dec.c:9:5-9:27) - [Info][Witness] unassume invariant: -10 <= g && g <= 10 (30-base-unassume-inc-dec.c:11:7-11:10) - [Info][Witness] unassume invariant: -10 <= g && g <= 10 (30-base-unassume-inc-dec.c:10:9-10:15) - [Info][Witness] unassume invariant: -10 <= g && g <= 10 (30-base-unassume-inc-dec.c:19:5-19:27) - [Info][Witness] unassume invariant: -10 <= g && g <= 10 (30-base-unassume-inc-dec.c:21:7-21:10) - [Info][Witness] unassume invariant: -10 <= g && g <= 10 (30-base-unassume-inc-dec.c:20:9-20:16) - [Success][Assert] Assertion "-10 <= g" will succeed (30-base-unassume-inc-dec.c:33:3-33:28) - [Success][Assert] Assertion "g <= 10" will succeed (30-base-unassume-inc-dec.c:34:3-34:27) + [Info][Witness] unassume invariant: -10 <= g && g <= 10 (30-base-unassume-inc-dec.c:9.5-9.27) + [Info][Witness] unassume invariant: -10 <= g && g <= 10 (30-base-unassume-inc-dec.c:11.7-11.10) + [Info][Witness] unassume invariant: -10 <= g && g <= 10 (30-base-unassume-inc-dec.c:10.9-10.15) + [Info][Witness] unassume invariant: -10 <= g && g <= 10 (30-base-unassume-inc-dec.c:19.5-19.27) + [Info][Witness] unassume invariant: -10 <= g && g <= 10 (30-base-unassume-inc-dec.c:21.7-21.10) + [Info][Witness] unassume invariant: -10 <= g && g <= 10 (30-base-unassume-inc-dec.c:20.9-20.16) + [Success][Assert] Assertion "-10 <= g" will succeed (30-base-unassume-inc-dec.c:33.3-33.28) + [Success][Assert] Assertion "g <= 10" will succeed (30-base-unassume-inc-dec.c:34.3-34.27) [Warning][Deadcode] Function 't_fun' has dead code: on line 14 (30-base-unassume-inc-dec.c:14-14) [Warning][Deadcode] Function 't_fun2' has dead code: @@ -75,8 +75,8 @@ Assertions proven. live: 20 dead: 2 total lines: 22 - [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (30-base-unassume-inc-dec.c:8:10-8:11) - [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (30-base-unassume-inc-dec.c:18:10-18:11) + [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (30-base-unassume-inc-dec.c:8.10-8.11) + [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (30-base-unassume-inc-dec.c:18.10-18.11) [Info][Race] Memory locations race summary: safe: 1 vulnerable: 0 @@ -91,12 +91,12 @@ Evals less than from scratch. Assertions proven. $ goblint --enable ana.int.interval --set solvers.td3.side_widen always --set ana.base.privatization vojdani --set witness.yaml.entry-types[*] location_invariant --set ana.activated[+] unassume --set witness.yaml.unassume 30-base-unassume-inc-dec3.yml --enable ana.widen.tokens 30-base-unassume-inc-dec.c - [Info][Witness] unassume invariant: -10 <= g && g <= 10 (30-base-unassume-inc-dec.c:11:7-11:10) - [Info][Witness] unassume invariant: -10 <= g && g <= 10 (30-base-unassume-inc-dec.c:10:9-10:15) - [Info][Witness] unassume invariant: -10 <= g && g <= 10 (30-base-unassume-inc-dec.c:21:7-21:10) - [Info][Witness] unassume invariant: -10 <= g && g <= 10 (30-base-unassume-inc-dec.c:20:9-20:16) - [Success][Assert] Assertion "-10 <= g" will succeed (30-base-unassume-inc-dec.c:33:3-33:28) - [Success][Assert] Assertion "g <= 10" will succeed (30-base-unassume-inc-dec.c:34:3-34:27) + [Info][Witness] unassume invariant: -10 <= g && g <= 10 (30-base-unassume-inc-dec.c:11.7-11.10) + [Info][Witness] unassume invariant: -10 <= g && g <= 10 (30-base-unassume-inc-dec.c:10.9-10.15) + [Info][Witness] unassume invariant: -10 <= g && g <= 10 (30-base-unassume-inc-dec.c:21.7-21.10) + [Info][Witness] unassume invariant: -10 <= g && g <= 10 (30-base-unassume-inc-dec.c:20.9-20.16) + [Success][Assert] Assertion "-10 <= g" will succeed (30-base-unassume-inc-dec.c:33.3-33.28) + [Success][Assert] Assertion "g <= 10" will succeed (30-base-unassume-inc-dec.c:34.3-34.27) [Warning][Deadcode] Function 't_fun' has dead code: on line 14 (30-base-unassume-inc-dec.c:14-14) [Warning][Deadcode] Function 't_fun2' has dead code: @@ -105,8 +105,8 @@ Assertions proven. live: 20 dead: 2 total lines: 22 - [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (30-base-unassume-inc-dec.c:8:10-8:11) - [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (30-base-unassume-inc-dec.c:18:10-18:11) + [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (30-base-unassume-inc-dec.c:8.10-8.11) + [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (30-base-unassume-inc-dec.c:18.10-18.11) [Info][Race] Memory locations race summary: safe: 1 vulnerable: 0 @@ -125,8 +125,8 @@ TODO: Why more than unassume after lock and before unlock? Assertions not proven. $ goblint --enable ana.int.interval --set solvers.td3.side_widen always --set ana.base.privatization protection 30-base-unassume-inc-dec.c - [Warning][Assert] Assertion "-10 <= g" is unknown. (30-base-unassume-inc-dec.c:33:3-33:28) - [Warning][Assert] Assertion "g <= 10" is unknown. (30-base-unassume-inc-dec.c:34:3-34:27) + [Warning][Assert] Assertion "-10 <= g" is unknown. (30-base-unassume-inc-dec.c:33.3-33.28) + [Warning][Assert] Assertion "g <= 10" is unknown. (30-base-unassume-inc-dec.c:34.3-34.27) [Warning][Deadcode] Function 't_fun' has dead code: on line 14 (30-base-unassume-inc-dec.c:14-14) [Warning][Deadcode] Function 't_fun2' has dead code: @@ -135,8 +135,8 @@ Assertions not proven. live: 20 dead: 2 total lines: 22 - [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (30-base-unassume-inc-dec.c:8:10-8:11) - [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (30-base-unassume-inc-dec.c:18:10-18:11) + [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (30-base-unassume-inc-dec.c:8.10-8.11) + [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (30-base-unassume-inc-dec.c:18.10-18.11) [Info][Race] Memory locations race summary: safe: 1 vulnerable: 0 @@ -150,10 +150,10 @@ Assertions not proven. Assertions proven. $ goblint --enable ana.int.interval --set solvers.td3.side_widen always --set ana.base.privatization protection --set witness.yaml.entry-types[*] location_invariant --set ana.activated[+] unassume --set witness.yaml.unassume 30-base-unassume-inc-dec.yml --enable ana.widen.tokens 30-base-unassume-inc-dec.c - [Info][Witness] unassume invariant: -10 <= g && g <= 10 (30-base-unassume-inc-dec.c:9:5-9:27) - [Info][Witness] unassume invariant: -10 <= g && g <= 10 (30-base-unassume-inc-dec.c:19:5-19:27) - [Success][Assert] Assertion "-10 <= g" will succeed (30-base-unassume-inc-dec.c:33:3-33:28) - [Success][Assert] Assertion "g <= 10" will succeed (30-base-unassume-inc-dec.c:34:3-34:27) + [Info][Witness] unassume invariant: -10 <= g && g <= 10 (30-base-unassume-inc-dec.c:9.5-9.27) + [Info][Witness] unassume invariant: -10 <= g && g <= 10 (30-base-unassume-inc-dec.c:19.5-19.27) + [Success][Assert] Assertion "-10 <= g" will succeed (30-base-unassume-inc-dec.c:33.3-33.28) + [Success][Assert] Assertion "g <= 10" will succeed (30-base-unassume-inc-dec.c:34.3-34.27) [Warning][Deadcode] Function 't_fun' has dead code: on line 14 (30-base-unassume-inc-dec.c:14-14) [Warning][Deadcode] Function 't_fun2' has dead code: @@ -162,8 +162,8 @@ Assertions proven. live: 20 dead: 2 total lines: 22 - [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (30-base-unassume-inc-dec.c:8:10-8:11) - [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (30-base-unassume-inc-dec.c:18:10-18:11) + [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (30-base-unassume-inc-dec.c:8.10-8.11) + [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (30-base-unassume-inc-dec.c:18.10-18.11) [Info][Race] Memory locations race summary: safe: 1 vulnerable: 0 @@ -179,14 +179,14 @@ Fits old TODO from Simmo's PhD thesis: "No improvement in number of steps using Assertions proven. $ goblint --enable ana.int.interval --set solvers.td3.side_widen always --set ana.base.privatization protection --set witness.yaml.entry-types[*] location_invariant --set ana.activated[+] unassume --set witness.yaml.unassume 30-base-unassume-inc-dec2.yml --enable ana.widen.tokens 30-base-unassume-inc-dec.c - [Info][Witness] unassume invariant: -10 <= g && g <= 10 (30-base-unassume-inc-dec.c:9:5-9:27) - [Info][Witness] unassume invariant: -10 <= g && g <= 10 (30-base-unassume-inc-dec.c:11:7-11:10) - [Info][Witness] unassume invariant: -10 <= g && g <= 10 (30-base-unassume-inc-dec.c:10:9-10:15) - [Info][Witness] unassume invariant: -10 <= g && g <= 10 (30-base-unassume-inc-dec.c:19:5-19:27) - [Info][Witness] unassume invariant: -10 <= g && g <= 10 (30-base-unassume-inc-dec.c:21:7-21:10) - [Info][Witness] unassume invariant: -10 <= g && g <= 10 (30-base-unassume-inc-dec.c:20:9-20:16) - [Success][Assert] Assertion "-10 <= g" will succeed (30-base-unassume-inc-dec.c:33:3-33:28) - [Success][Assert] Assertion "g <= 10" will succeed (30-base-unassume-inc-dec.c:34:3-34:27) + [Info][Witness] unassume invariant: -10 <= g && g <= 10 (30-base-unassume-inc-dec.c:9.5-9.27) + [Info][Witness] unassume invariant: -10 <= g && g <= 10 (30-base-unassume-inc-dec.c:11.7-11.10) + [Info][Witness] unassume invariant: -10 <= g && g <= 10 (30-base-unassume-inc-dec.c:10.9-10.15) + [Info][Witness] unassume invariant: -10 <= g && g <= 10 (30-base-unassume-inc-dec.c:19.5-19.27) + [Info][Witness] unassume invariant: -10 <= g && g <= 10 (30-base-unassume-inc-dec.c:21.7-21.10) + [Info][Witness] unassume invariant: -10 <= g && g <= 10 (30-base-unassume-inc-dec.c:20.9-20.16) + [Success][Assert] Assertion "-10 <= g" will succeed (30-base-unassume-inc-dec.c:33.3-33.28) + [Success][Assert] Assertion "g <= 10" will succeed (30-base-unassume-inc-dec.c:34.3-34.27) [Warning][Deadcode] Function 't_fun' has dead code: on line 14 (30-base-unassume-inc-dec.c:14-14) [Warning][Deadcode] Function 't_fun2' has dead code: @@ -195,8 +195,8 @@ Assertions proven. live: 20 dead: 2 total lines: 22 - [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (30-base-unassume-inc-dec.c:8:10-8:11) - [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (30-base-unassume-inc-dec.c:18:10-18:11) + [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (30-base-unassume-inc-dec.c:8.10-8.11) + [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (30-base-unassume-inc-dec.c:18.10-18.11) [Info][Race] Memory locations race summary: safe: 1 vulnerable: 0 @@ -211,12 +211,12 @@ Evals less than from scratch. Assertions proven. $ goblint --enable ana.int.interval --set solvers.td3.side_widen always --set ana.base.privatization protection --set witness.yaml.entry-types[*] location_invariant --set ana.activated[+] unassume --set witness.yaml.unassume 30-base-unassume-inc-dec3.yml --enable ana.widen.tokens 30-base-unassume-inc-dec.c - [Info][Witness] unassume invariant: -10 <= g && g <= 10 (30-base-unassume-inc-dec.c:11:7-11:10) - [Info][Witness] unassume invariant: -10 <= g && g <= 10 (30-base-unassume-inc-dec.c:10:9-10:15) - [Info][Witness] unassume invariant: -10 <= g && g <= 10 (30-base-unassume-inc-dec.c:21:7-21:10) - [Info][Witness] unassume invariant: -10 <= g && g <= 10 (30-base-unassume-inc-dec.c:20:9-20:16) - [Success][Assert] Assertion "-10 <= g" will succeed (30-base-unassume-inc-dec.c:33:3-33:28) - [Success][Assert] Assertion "g <= 10" will succeed (30-base-unassume-inc-dec.c:34:3-34:27) + [Info][Witness] unassume invariant: -10 <= g && g <= 10 (30-base-unassume-inc-dec.c:11.7-11.10) + [Info][Witness] unassume invariant: -10 <= g && g <= 10 (30-base-unassume-inc-dec.c:10.9-10.15) + [Info][Witness] unassume invariant: -10 <= g && g <= 10 (30-base-unassume-inc-dec.c:21.7-21.10) + [Info][Witness] unassume invariant: -10 <= g && g <= 10 (30-base-unassume-inc-dec.c:20.9-20.16) + [Success][Assert] Assertion "-10 <= g" will succeed (30-base-unassume-inc-dec.c:33.3-33.28) + [Success][Assert] Assertion "g <= 10" will succeed (30-base-unassume-inc-dec.c:34.3-34.27) [Warning][Deadcode] Function 't_fun' has dead code: on line 14 (30-base-unassume-inc-dec.c:14-14) [Warning][Deadcode] Function 't_fun2' has dead code: @@ -225,8 +225,8 @@ Assertions proven. live: 20 dead: 2 total lines: 22 - [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (30-base-unassume-inc-dec.c:8:10-8:11) - [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (30-base-unassume-inc-dec.c:18:10-18:11) + [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (30-base-unassume-inc-dec.c:8.10-8.11) + [Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (30-base-unassume-inc-dec.c:18.10-18.11) [Info][Race] Memory locations race summary: safe: 1 vulnerable: 0 diff --git a/tests/regression/56-witness/62-tm-inv-transfer-protection-witness.t b/tests/regression/56-witness/62-tm-inv-transfer-protection-witness.t index 66175f13c7..b614eee8f9 100644 --- a/tests/regression/56-witness/62-tm-inv-transfer-protection-witness.t +++ b/tests/regression/56-witness/62-tm-inv-transfer-protection-witness.t @@ -1,24 +1,24 @@ Same as regression test, but with manually written witness from Simmo's PhD thesis: $ goblint --set solvers.td3.side_widen never --enable ana.int.interval --set ana.base.privatization protection --set "ana.activated[+]" unassume --set witness.yaml.unassume 62-tm-inv-transfer-protection-witness-manual.yml --enable ana.widen.tokens 62-tm-inv-transfer-protection-witness.c - [Info][Witness] unassume invariant: 40 <= g && g <= 41 (62-tm-inv-transfer-protection-witness.c:26:3-26:25) - [Success][Assert] Assertion "g >= 40" will succeed (62-tm-inv-transfer-protection-witness.c:27:3-27:27) - [Warning][Assert] Assertion "g <= 41" is unknown. (62-tm-inv-transfer-protection-witness.c:28:3-28:27) - [Info][Witness] unassume invariant: 40 <= g && g <= 42 (62-tm-inv-transfer-protection-witness.c:29:3-29:27) - [Success][Assert] Assertion "g >= 40" will succeed (62-tm-inv-transfer-protection-witness.c:31:3-31:27) - [Success][Assert] Assertion "g <= 42" will succeed (62-tm-inv-transfer-protection-witness.c:32:3-32:27) + [Info][Witness] unassume invariant: 40 <= g && g <= 41 (62-tm-inv-transfer-protection-witness.c:26.3-26.25) + [Success][Assert] Assertion "g >= 40" will succeed (62-tm-inv-transfer-protection-witness.c:27.3-27.27) + [Warning][Assert] Assertion "g <= 41" is unknown. (62-tm-inv-transfer-protection-witness.c:28.3-28.27) + [Info][Witness] unassume invariant: 40 <= g && g <= 42 (62-tm-inv-transfer-protection-witness.c:29.3-29.27) + [Success][Assert] Assertion "g >= 40" will succeed (62-tm-inv-transfer-protection-witness.c:31.3-31.27) + [Success][Assert] Assertion "g <= 42" will succeed (62-tm-inv-transfer-protection-witness.c:32.3-32.27) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 19 dead: 0 total lines: 19 - [Warning][Race] Memory location g (race with conf. 110): (62-tm-inv-transfer-protection-witness.c:5:5-5:11) - write with [lock:{B}, thread:[main, t_fun@62-tm-inv-transfer-protection-witness.c:23:3-23:40]] (conf. 110) (exp: & g) (62-tm-inv-transfer-protection-witness.c:10:3-10:9) - write with [lock:{B}, thread:[main, t_fun@62-tm-inv-transfer-protection-witness.c:23:3-23:40]] (conf. 110) (exp: & g) (62-tm-inv-transfer-protection-witness.c:11:3-11:9) - write with thread:[main, t_fun2@62-tm-inv-transfer-protection-witness.c:24:3-24:42] (conf. 110) (exp: & g) (62-tm-inv-transfer-protection-witness.c:17:3-17:9) - read with [mhp:{created={[main, t_fun@62-tm-inv-transfer-protection-witness.c:23:3-23:40], [main, t_fun2@62-tm-inv-transfer-protection-witness.c:24:3-24:42]}}, lock:{B}, thread:[main]] (conf. 110) (exp: & g) (62-tm-inv-transfer-protection-witness.c:27:3-27:27) - read with [mhp:{created={[main, t_fun@62-tm-inv-transfer-protection-witness.c:23:3-23:40], [main, t_fun2@62-tm-inv-transfer-protection-witness.c:24:3-24:42]}}, lock:{B}, thread:[main]] (conf. 110) (exp: & g) (62-tm-inv-transfer-protection-witness.c:28:3-28:27) - read with [mhp:{created={[main, t_fun@62-tm-inv-transfer-protection-witness.c:23:3-23:40], [main, t_fun2@62-tm-inv-transfer-protection-witness.c:24:3-24:42]}}, thread:[main]] (conf. 110) (exp: & g) (62-tm-inv-transfer-protection-witness.c:31:3-31:27) - read with [mhp:{created={[main, t_fun@62-tm-inv-transfer-protection-witness.c:23:3-23:40], [main, t_fun2@62-tm-inv-transfer-protection-witness.c:24:3-24:42]}}, thread:[main]] (conf. 110) (exp: & g) (62-tm-inv-transfer-protection-witness.c:32:3-32:27) + [Warning][Race] Memory location g (race with conf. 110): (62-tm-inv-transfer-protection-witness.c:5.5-5.11) + write with [lock:{B}, thread:[main, t_fun@62-tm-inv-transfer-protection-witness.c:23.3-23.40]] (conf. 110) (exp: & g) (62-tm-inv-transfer-protection-witness.c:10.3-10.9) + write with [lock:{B}, thread:[main, t_fun@62-tm-inv-transfer-protection-witness.c:23.3-23.40]] (conf. 110) (exp: & g) (62-tm-inv-transfer-protection-witness.c:11.3-11.9) + write with thread:[main, t_fun2@62-tm-inv-transfer-protection-witness.c:24.3-24.42] (conf. 110) (exp: & g) (62-tm-inv-transfer-protection-witness.c:17.3-17.9) + read with [mhp:{created={[main, t_fun@62-tm-inv-transfer-protection-witness.c:23.3-23.40], [main, t_fun2@62-tm-inv-transfer-protection-witness.c:24.3-24.42]}}, lock:{B}, thread:[main]] (conf. 110) (exp: & g) (62-tm-inv-transfer-protection-witness.c:27.3-27.27) + read with [mhp:{created={[main, t_fun@62-tm-inv-transfer-protection-witness.c:23.3-23.40], [main, t_fun2@62-tm-inv-transfer-protection-witness.c:24.3-24.42]}}, lock:{B}, thread:[main]] (conf. 110) (exp: & g) (62-tm-inv-transfer-protection-witness.c:28.3-28.27) + read with [mhp:{created={[main, t_fun@62-tm-inv-transfer-protection-witness.c:23.3-23.40], [main, t_fun2@62-tm-inv-transfer-protection-witness.c:24.3-24.42]}}, thread:[main]] (conf. 110) (exp: & g) (62-tm-inv-transfer-protection-witness.c:31.3-31.27) + read with [mhp:{created={[main, t_fun@62-tm-inv-transfer-protection-witness.c:23.3-23.40], [main, t_fun2@62-tm-inv-transfer-protection-witness.c:24.3-24.42]}}, thread:[main]] (conf. 110) (exp: & g) (62-tm-inv-transfer-protection-witness.c:32.3-32.27) [Info][Race] Memory locations race summary: safe: 0 vulnerable: 0 diff --git a/tests/regression/56-witness/66-ghost-alloc-lock.t b/tests/regression/56-witness/66-ghost-alloc-lock.t index 1f71f78bc6..13cba465df 100644 --- a/tests/regression/56-witness/66-ghost-alloc-lock.t +++ b/tests/regression/56-witness/66-ghost-alloc-lock.t @@ -1,6 +1,6 @@ $ goblint --set ana.base.privatization protection --enable witness.yaml.enabled --set ana.activated[+] mutexGhosts --set ana.malloc.unique_address_count 1 --set witness.yaml.entry-types '["flow_insensitive_invariant", "ghost_instrumentation"]' 66-ghost-alloc-lock.c - [Success][Assert] Assertion "g1 == 0" will succeed (66-ghost-alloc-lock.c:31:3-31:27) - [Success][Assert] Assertion "g2 == 0" will succeed (66-ghost-alloc-lock.c:34:3-34:27) + [Success][Assert] Assertion "g1 == 0" will succeed (66-ghost-alloc-lock.c:31.3-31.27) + [Success][Assert] Assertion "g2 == 0" will succeed (66-ghost-alloc-lock.c:34.3-34.27) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 23 dead: 0 diff --git a/tests/regression/56-witness/67-ghost-no-unlock.t b/tests/regression/56-witness/67-ghost-no-unlock.t index 50c8d69110..00de1c0fac 100644 --- a/tests/regression/56-witness/67-ghost-no-unlock.t +++ b/tests/regression/56-witness/67-ghost-no-unlock.t @@ -1,5 +1,5 @@ $ goblint --set ana.base.privatization protection --enable witness.yaml.enabled --set ana.activated[+] mutexGhosts --set witness.yaml.entry-types '["flow_insensitive_invariant", "ghost_instrumentation"]' 67-ghost-no-unlock.c - [Success][Assert] Assertion "g1 == 0" will succeed (67-ghost-no-unlock.c:24:3-24:27) + [Success][Assert] Assertion "g1 == 0" will succeed (67-ghost-no-unlock.c:24.3-24.27) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 11 dead: 0 diff --git a/tests/regression/56-witness/68-ghost-ambiguous-idx.t b/tests/regression/56-witness/68-ghost-ambiguous-idx.t index 54f88f543b..9f5fb0d5ad 100644 --- a/tests/regression/56-witness/68-ghost-ambiguous-idx.t +++ b/tests/regression/56-witness/68-ghost-ambiguous-idx.t @@ -1,14 +1,14 @@ $ goblint --set ana.base.privatization protection --enable witness.yaml.enabled --set ana.activated[+] mutexGhosts --set witness.yaml.entry-types '["flow_insensitive_invariant", "ghost_instrumentation"]' 68-ghost-ambiguous-idx.c - [Warning][Assert] Assertion "data == 0" is unknown. (68-ghost-ambiguous-idx.c:24:3-24:29) - [Warning][Unknown] unlocking mutex (m[4]) which may not be held (68-ghost-ambiguous-idx.c:25:3-25:30) + [Warning][Assert] Assertion "data == 0" is unknown. (68-ghost-ambiguous-idx.c:24.3-24.29) + [Warning][Unknown] unlocking mutex (m[4]) which may not be held (68-ghost-ambiguous-idx.c:25.3-25.30) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 15 dead: 0 total lines: 15 - [Warning][Race] Memory location data (race with conf. 110): (68-ghost-ambiguous-idx.c:4:5-4:9) - write with [lock:{m[4]}, thread:[main, t_fun@68-ghost-ambiguous-idx.c:20:3-20:40]] (conf. 110) (exp: & data) (68-ghost-ambiguous-idx.c:9:3-9:9) - write with [lock:{m[4]}, thread:[main, t_fun@68-ghost-ambiguous-idx.c:20:3-20:40]] (conf. 110) (exp: & data) (68-ghost-ambiguous-idx.c:10:3-10:9) - read with [mhp:{created={[main, t_fun@68-ghost-ambiguous-idx.c:20:3-20:40]}}, thread:[main]] (conf. 110) (exp: & data) (68-ghost-ambiguous-idx.c:24:3-24:29) + [Warning][Race] Memory location data (race with conf. 110): (68-ghost-ambiguous-idx.c:4.5-4.9) + write with [lock:{m[4]}, thread:[main, t_fun@68-ghost-ambiguous-idx.c:20.3-20.40]] (conf. 110) (exp: & data) (68-ghost-ambiguous-idx.c:9.3-9.9) + write with [lock:{m[4]}, thread:[main, t_fun@68-ghost-ambiguous-idx.c:20.3-20.40]] (conf. 110) (exp: & data) (68-ghost-ambiguous-idx.c:10.3-10.9) + read with [mhp:{created={[main, t_fun@68-ghost-ambiguous-idx.c:20.3-20.40]}}, thread:[main]] (conf. 110) (exp: & data) (68-ghost-ambiguous-idx.c:24.3-24.29) [Info][Witness] witness generation summary: location invariants: 0 loop invariants: 0 diff --git a/tests/regression/56-witness/69-ghost-ptr-protection.t b/tests/regression/56-witness/69-ghost-ptr-protection.t index 47ef2a35d7..a46ee7d07d 100644 --- a/tests/regression/56-witness/69-ghost-ptr-protection.t +++ b/tests/regression/56-witness/69-ghost-ptr-protection.t @@ -1,13 +1,13 @@ $ goblint --set ana.base.privatization protection --enable witness.yaml.enabled --set ana.activated[+] mutexGhosts --set witness.yaml.entry-types '["flow_insensitive_invariant", "ghost_instrumentation"]' 69-ghost-ptr-protection.c - [Success][Assert] Assertion "*p != 0" will succeed (69-ghost-ptr-protection.c:26:3-26:27) + [Success][Assert] Assertion "*p != 0" will succeed (69-ghost-ptr-protection.c:26.3-26.27) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 15 dead: 0 total lines: 15 - [Warning][Race] Memory location p (race with conf. 110): (69-ghost-ptr-protection.c:7:5-7:12) - write with [lock:{m2}, thread:[main, t_fun@69-ghost-ptr-protection.c:22:3-22:40]] (conf. 110) (exp: & p) (69-ghost-ptr-protection.c:14:3-14:9) - write with [lock:{m2}, thread:[main, t_fun@69-ghost-ptr-protection.c:22:3-22:40]] (conf. 110) (exp: & p) (69-ghost-ptr-protection.c:15:3-15:9) - read with [mhp:{created={[main, t_fun@69-ghost-ptr-protection.c:22:3-22:40]}}, lock:{m1}, thread:[main]] (conf. 110) (exp: & p) (69-ghost-ptr-protection.c:26:3-26:27) + [Warning][Race] Memory location p (race with conf. 110): (69-ghost-ptr-protection.c:7.5-7.12) + write with [lock:{m2}, thread:[main, t_fun@69-ghost-ptr-protection.c:22.3-22.40]] (conf. 110) (exp: & p) (69-ghost-ptr-protection.c:14.3-14.9) + write with [lock:{m2}, thread:[main, t_fun@69-ghost-ptr-protection.c:22.3-22.40]] (conf. 110) (exp: & p) (69-ghost-ptr-protection.c:15.3-15.9) + read with [mhp:{created={[main, t_fun@69-ghost-ptr-protection.c:22.3-22.40]}}, lock:{m1}, thread:[main]] (conf. 110) (exp: & p) (69-ghost-ptr-protection.c:26.3-26.27) [Info][Witness] witness generation summary: location invariants: 0 loop invariants: 0 @@ -113,15 +113,15 @@ Should not contain unsound flow-insensitive invariant m2_locked || (p == & g && Same with vojdani. $ goblint --set ana.base.privatization vojdani --enable witness.yaml.enabled --set ana.activated[+] mutexGhosts --set witness.yaml.entry-types '["flow_insensitive_invariant", "ghost_instrumentation"]' 69-ghost-ptr-protection.c - [Success][Assert] Assertion "*p != 0" will succeed (69-ghost-ptr-protection.c:26:3-26:27) + [Success][Assert] Assertion "*p != 0" will succeed (69-ghost-ptr-protection.c:26.3-26.27) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 15 dead: 0 total lines: 15 - [Warning][Race] Memory location p (race with conf. 110): (69-ghost-ptr-protection.c:7:5-7:12) - write with [lock:{m2}, thread:[main, t_fun@69-ghost-ptr-protection.c:22:3-22:40]] (conf. 110) (exp: & p) (69-ghost-ptr-protection.c:14:3-14:9) - write with [lock:{m2}, thread:[main, t_fun@69-ghost-ptr-protection.c:22:3-22:40]] (conf. 110) (exp: & p) (69-ghost-ptr-protection.c:15:3-15:9) - read with [mhp:{created={[main, t_fun@69-ghost-ptr-protection.c:22:3-22:40]}}, lock:{m1}, thread:[main]] (conf. 110) (exp: & p) (69-ghost-ptr-protection.c:26:3-26:27) + [Warning][Race] Memory location p (race with conf. 110): (69-ghost-ptr-protection.c:7.5-7.12) + write with [lock:{m2}, thread:[main, t_fun@69-ghost-ptr-protection.c:22.3-22.40]] (conf. 110) (exp: & p) (69-ghost-ptr-protection.c:14.3-14.9) + write with [lock:{m2}, thread:[main, t_fun@69-ghost-ptr-protection.c:22.3-22.40]] (conf. 110) (exp: & p) (69-ghost-ptr-protection.c:15.3-15.9) + read with [mhp:{created={[main, t_fun@69-ghost-ptr-protection.c:22.3-22.40]}}, lock:{m1}, thread:[main]] (conf. 110) (exp: & p) (69-ghost-ptr-protection.c:26.3-26.27) [Info][Witness] witness generation summary: location invariants: 0 loop invariants: 0 diff --git a/tests/regression/74-invalid_deref/01-oob-heap-simple.t b/tests/regression/74-invalid_deref/01-oob-heap-simple.t index ac3ec99fa8..086c62b1e0 100644 --- a/tests/regression/74-invalid_deref/01-oob-heap-simple.t +++ b/tests/regression/74-invalid_deref/01-oob-heap-simple.t @@ -1,7 +1,7 @@ $ goblint --set ana.activated[+] memOutOfBounds --enable ana.int.interval 01-oob-heap-simple.c 2>&1 | tee default-output.txt [Warning] The memOutOfBounds analysis enables cil.addNestedScopeAttr. - [Warning][Behavior > Undefined > MemoryOutOfBoundsAccess][CWE-823] Size of pointer in expression ptr + 10 is 5 (in bytes). It is offset by 10 (in bytes). Memory out-of-bounds access must occur (01-oob-heap-simple.c:10:5-10:22) - [Warning][Behavior > Undefined > MemoryOutOfBoundsAccess][CWE-823] Could not compare pointer size (5) with offset (⊤). Memory out-of-bounds access may occur (01-oob-heap-simple.c:11:5-11:21) + [Warning][Behavior > Undefined > MemoryOutOfBoundsAccess][CWE-823] Size of pointer in expression ptr + 10 is 5 (in bytes). It is offset by 10 (in bytes). Memory out-of-bounds access must occur (01-oob-heap-simple.c:10.5-10.22) + [Warning][Behavior > Undefined > MemoryOutOfBoundsAccess][CWE-823] Could not compare pointer size (5) with offset (⊤). Memory out-of-bounds access may occur (01-oob-heap-simple.c:11.5-11.21) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 8 dead: 0 @@ -11,9 +11,9 @@ $ diff default-output.txt full-output.txt 2,3c2,3 - < [Warning][Behavior > Undefined > MemoryOutOfBoundsAccess][CWE-823] Size of pointer in expression ptr + 10 is 5 (in bytes). It is offset by 10 (in bytes). Memory out-of-bounds access must occur (01-oob-heap-simple.c:10:5-10:22) - < [Warning][Behavior > Undefined > MemoryOutOfBoundsAccess][CWE-823] Could not compare pointer size (5) with offset (⊤). Memory out-of-bounds access may occur (01-oob-heap-simple.c:11:5-11:21) + < [Warning][Behavior > Undefined > MemoryOutOfBoundsAccess][CWE-823] Size of pointer in expression ptr + 10 is 5 (in bytes). It is offset by 10 (in bytes). Memory out-of-bounds access must occur (01-oob-heap-simple.c:10.5-10.22) + < [Warning][Behavior > Undefined > MemoryOutOfBoundsAccess][CWE-823] Could not compare pointer size (5) with offset (⊤). Memory out-of-bounds access may occur (01-oob-heap-simple.c:11.5-11.21) --- - > [Warning][Behavior > Undefined > MemoryOutOfBoundsAccess][CWE-823] Size of pointer in expression ptr + 10 is (5,[5,5]) (in bytes). It is offset by (10,[10,10]) (in bytes). Memory out-of-bounds access must occur (01-oob-heap-simple.c:10:5-10:22) - > [Warning][Behavior > Undefined > MemoryOutOfBoundsAccess][CWE-823] Could not compare pointer size ((5,[5,5])) with offset ((Unknown int([-63,63]),[-9223372036854775808,9223372036854775807])). Memory out-of-bounds access may occur (01-oob-heap-simple.c:11:5-11:21) + > [Warning][Behavior > Undefined > MemoryOutOfBoundsAccess][CWE-823] Size of pointer in expression ptr + 10 is (5,[5,5]) (in bytes). It is offset by (10,[10,10]) (in bytes). Memory out-of-bounds access must occur (01-oob-heap-simple.c:10.5-10.22) + > [Warning][Behavior > Undefined > MemoryOutOfBoundsAccess][CWE-823] Could not compare pointer size ((5,[5,5])) with offset ((Unknown int([-63,63]),[-9223372036854775808,9223372036854775807])). Memory out-of-bounds access may occur (01-oob-heap-simple.c:11.5-11.21) [1] diff --git a/tests/regression/76-memleak/32-no-mem-leak-goblint-check.t b/tests/regression/76-memleak/32-no-mem-leak-goblint-check.t index 43efc78bd5..1d0c959ce0 100644 --- a/tests/regression/76-memleak/32-no-mem-leak-goblint-check.t +++ b/tests/regression/76-memleak/32-no-mem-leak-goblint-check.t @@ -1,5 +1,5 @@ $ goblint --set ana.activated[+] memLeak --set ana.malloc.unique_address_count 1 32-no-mem-leak-goblint-check.c - [Error][Assert] Assertion "(unsigned long )ptr == (unsigned long )((int *)0)" will fail. (32-no-mem-leak-goblint-check.c:7:5-7:30) + [Error][Assert] Assertion "(unsigned long )ptr == (unsigned long )((int *)0)" will fail. (32-no-mem-leak-goblint-check.c:7.5-7.30) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 5 dead: 0 diff --git a/tests/regression/cfg/foo.t/run.t b/tests/regression/cfg/foo.t/run.t index b70283832e..07f0de5244 100644 --- a/tests/regression/cfg/foo.t/run.t +++ b/tests/regression/cfg/foo.t/run.t @@ -8,63 +8,63 @@ │ (body) ▼ ┌───────────────────────────────┐ - │ foo.c:2:3-2:19 │ - │ (foo.c:2:7-2:12 (synthetic)) │ - │ YAML loc: foo.c:2:3-2:19 │ + │ foo.c:2.3-2.19 │ + │ (foo.c:2.7-2.12 (synthetic)) │ + │ YAML loc: foo.c:2.3-2.19 │ │ server: false │ └───────────────────────────────┘ │ │ a = 1 ▼ ┌───────────────────────────────┐ - │ foo.c:2:3-2:19 (synthetic) │ - │ (foo.c:2:14-2:19 (synthetic)) │ + │ foo.c:2.3-2.19 (synthetic) │ + │ (foo.c:2.14-2.19 (synthetic)) │ │ server: false │ └───────────────────────────────┘ │ │ b = 1 ▼ ┌──────────────────────────┐ ┌───────────────────────────────┐ - │ foo.c:7:3-7:11 │ │ foo.c:3:3-6:3 (synthetic) │ - │ (foo.c:7:10-7:11) │ │ (foo.c:3:10-3:20 (synthetic)) │ - │ YAML loc: foo.c:7:3-7:11 │ Neg(a > 0) │ YAML loop: foo.c:3:3-6:3 │ + │ foo.c:7.3-7.11 │ │ foo.c:3.3-6.3 (synthetic) │ + │ (foo.c:7.10-7.11) │ │ (foo.c:3.10-3.20 (synthetic)) │ + │ YAML loc: foo.c:7.3-7.11 │ Neg(a > 0) │ YAML loop: foo.c:3.3-6.3 │ ┌──────▶ │ server: true │ ◀──────────── │ server: false │ ◀┐ │ └──────────────────────────┘ └───────────────────────────────┘ │ │ │ │ │ │ │ return 0 │ Pos(a > 0) │ │ ▼ ▼ │ │ ┌──────────────────────────┐ ┌───────────────────────────────┐ │ - │ Neg(b) │ │ │ foo.c:3:3-6:3 (synthetic) │ │ - │ │ return of main() │ │ (foo.c:3:10-3:20 (synthetic)) │ │ + │ Neg(b) │ │ │ foo.c:3.3-6.3 (synthetic) │ │ + │ │ return of main() │ │ (foo.c:3.10-3.20 (synthetic)) │ │ │ │ │ ┌─────────── │ server: false │ │ │ └──────────────────────────┘ │ └───────────────────────────────┘ │ │ │ │ │ └──────────────────────────────────────┘ │ Pos(b) │ ▼ │ b = b - 1 ┌───────────────────────────────┐ │ - │ foo.c:4:5-4:8 │ │ - │ (foo.c:4:5-4:8) │ │ - │ YAML loc: foo.c:4:5-4:8 │ │ + │ foo.c:4.5-4.8 │ │ + │ (foo.c:4.5-4.8) │ │ + │ YAML loc: foo.c:4.5-4.8 │ │ │ server: true │ │ └───────────────────────────────┘ │ │ │ │ a = a + 1 │ ▼ │ ┌───────────────────────────────┐ │ - │ foo.c:5:5-5:8 │ │ - │ (foo.c:5:5-5:8) │ │ - │ YAML loc: foo.c:5:5-5:8 │ │ + │ foo.c:5.5-5.8 │ │ + │ (foo.c:5.5-5.8) │ │ + │ YAML loc: foo.c:5.5-5.8 │ │ │ server: true │ ─┘ └───────────────────────────────┘ $ goblint --enable ana.int.interval --enable witness.yaml.enabled --set witness.yaml.entry-types '["location_invariant", "loop_invariant"]' --set sem.int.signed_overflow assume_none foo.c - [Warning][Integer > Overflow][CWE-190] Signed integer overflow (foo.c:4:5-4:8) - [Warning][Integer > Overflow][CWE-191] Signed integer underflow (foo.c:5:5-5:8) + [Warning][Integer > Overflow][CWE-190] Signed integer overflow (foo.c:4.5-4.8) + [Warning][Integer > Overflow][CWE-191] Signed integer underflow (foo.c:5.5-5.8) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 6 dead: 0 total lines: 6 - [Warning][Deadcode][CWE-571] condition 'a > 0' (possibly inserted by CIL) is always true (foo.c:3:10-3:20) + [Warning][Deadcode][CWE-571] condition 'a > 0' (possibly inserted by CIL) is always true (foo.c:3.10-3.20) [Info][Witness] witness generation summary: location invariants: 8 loop invariants: 2 diff --git a/tests/regression/cfg/issue-1356.t/run.t b/tests/regression/cfg/issue-1356.t/run.t index f9b4dea2a5..ff4a90d441 100644 --- a/tests/regression/cfg/issue-1356.t/run.t +++ b/tests/regression/cfg/issue-1356.t/run.t @@ -11,75 +11,75 @@ │ Pos((long )a >= (long )b - 2147483648) │ (body) │ ▼ ▼ │ ┌─────────────────────────────────────────┐ ┌─────────────────────────────────────────┐ │ - │ issue-1356.c:9:3-9:53 (synthetic) │ │ issue-1356.c:9:3-9:53 │ │ - │ (issue-1356.c:9:3-9:53 (synthetic)) │ │ (issue-1356.c:9:3-9:53) │ │ - │ server: false │ Pos(b <= 0) │ YAML loc: issue-1356.c:9:3-9:53 │ │ + │ issue-1356.c:9.3-9.53 (synthetic) │ │ issue-1356.c:9.3-9.53 │ │ + │ (issue-1356.c:9.3-9.53 (synthetic)) │ │ (issue-1356.c:9.3-9.53) │ │ + │ server: false │ Pos(b <= 0) │ YAML loc: issue-1356.c:9.3-9.53 │ │ │ │ ◀────────────────────────── │ server: true │ │ └─────────────────────────────────────────┘ └─────────────────────────────────────────┘ │ │ │ │ │ │ Neg(b <= 0) │ │ ▼ │ │ ┌─────────────────────────────────────────┐ │ - │ │ issue-1356.c:9:3-9:53 (synthetic) │ │ - │ │ (issue-1356.c:9:3-9:53 (synthetic)) │ │ + │ │ issue-1356.c:9.3-9.53 (synthetic) │ │ + │ │ (issue-1356.c:9.3-9.53 (synthetic)) │ │ │ │ server: false │ ─┘ │ └─────────────────────────────────────────┘ │ │ │ │ Neg((long )a >= (long )b - 2147483648) │ ▼ │ ┌─────────────────────────────────────────┐ - │ │ issue-1356.c:9:3-9:53 (synthetic) │ - │ │ (issue-1356.c:9:3-9:53 (synthetic)) │ + │ │ issue-1356.c:9.3-9.53 (synthetic) │ + │ │ (issue-1356.c:9.3-9.53 (synthetic)) │ │ │ server: false │ │ └─────────────────────────────────────────┘ │ │ │ │ tmp = 0 │ ▼ │ ┌─────────────────────────────────────────┐ - │ │ issue-1356.c:9:3-9:53 (synthetic) │ - │ tmp = 1 │ (issue-1356.c:9:3-9:53 (synthetic)) │ + │ │ issue-1356.c:9.3-9.53 (synthetic) │ + │ tmp = 1 │ (issue-1356.c:9.3-9.53 (synthetic)) │ └───────────────────────────────────────────────────────────────────▶ │ server: false │ └─────────────────────────────────────────┘ │ │ assume_abort_if_not(tmp) ▼ ┌─────────────────────────────────────────┐ - │ issue-1356.c:10:3-10:53 │ - │ (issue-1356.c:10:3-10:53) │ - │ YAML loc: issue-1356.c:10:3-10:53 │ + │ issue-1356.c:10.3-10.53 │ + │ (issue-1356.c:10.3-10.53) │ + │ YAML loc: issue-1356.c:10.3-10.53 │ │ server: true │ ─┐ └─────────────────────────────────────────┘ │ │ │ │ Neg(b >= 0) │ ▼ │ ┌─────────────────────────────────────────┐ ┌─────────────────────────────────────────┐ │ - │ issue-1356.c:10:3-10:53 (synthetic) │ │ issue-1356.c:10:3-10:53 (synthetic) │ │ - │ (issue-1356.c:10:3-10:53 (synthetic)) │ Neg(a <= b + 2147483647) │ (issue-1356.c:10:3-10:53 (synthetic)) │ │ Pos(b >= 0) + │ issue-1356.c:10.3-10.53 (synthetic) │ │ issue-1356.c:10.3-10.53 (synthetic) │ │ + │ (issue-1356.c:10.3-10.53 (synthetic)) │ Neg(a <= b + 2147483647) │ (issue-1356.c:10.3-10.53 (synthetic)) │ │ Pos(b >= 0) │ server: false │ ◀────────────────────────── │ server: false │ │ └─────────────────────────────────────────┘ └─────────────────────────────────────────┘ │ │ │ │ │ │ Pos(a <= b + 2147483647) │ │ ▼ │ │ ┌─────────────────────────────────────────┐ │ - │ │ issue-1356.c:10:3-10:53 (synthetic) │ │ - │ │ (issue-1356.c:10:3-10:53 (synthetic)) │ │ + │ │ issue-1356.c:10.3-10.53 (synthetic) │ │ + │ │ (issue-1356.c:10.3-10.53 (synthetic)) │ │ │ │ server: false │ ◀┘ │ └─────────────────────────────────────────┘ │ │ │ │ tmp___0 = 1 │ ▼ │ ┌─────────────────────────────────────────┐ - │ │ issue-1356.c:10:3-10:53 (synthetic) │ - │ tmp___0 = 0 │ (issue-1356.c:10:3-10:53 (synthetic)) │ + │ │ issue-1356.c:10.3-10.53 (synthetic) │ + │ tmp___0 = 0 │ (issue-1356.c:10.3-10.53 (synthetic)) │ └───────────────────────────────────────────────────────────────────▶ │ server: false │ └─────────────────────────────────────────┘ │ │ assume_abort_if_not(tmp___0) ▼ ┌─────────────────────────────────────────┐ - │ issue-1356.c:11:3-11:15 │ - │ (issue-1356.c:11:10-11:15) │ - │ YAML loc: issue-1356.c:11:3-11:15 │ + │ issue-1356.c:11.3-11.15 │ + │ (issue-1356.c:11.10-11.15) │ + │ YAML loc: issue-1356.c:11.3-11.15 │ │ server: true │ └─────────────────────────────────────────┘ │ @@ -93,7 +93,7 @@ $ goblint --enable ana.sv-comp.functions --enable ana.int.interval --enable witness.yaml.enabled --set witness.yaml.entry-types '["location_invariant"]' issue-1356.c - [Warning][Integer > Overflow][CWE-190][CWE-191] Signed integer overflow and underflow (issue-1356.c:11:10-11:15) + [Warning][Integer > Overflow][CWE-190][CWE-191] Signed integer overflow and underflow (issue-1356.c:11.10-11.15) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 13 dead: 0 diff --git a/tests/regression/cfg/loops.t/run.t b/tests/regression/cfg/loops.t/run.t index 5692bea079..38d8fefd96 100644 --- a/tests/regression/cfg/loops.t/run.t +++ b/tests/regression/cfg/loops.t/run.t @@ -20,170 +20,170 @@ │ │ │ │ │ (body) │ │ │ │ │ │ │ │ ▼ │ │ │ │ │ │ │ │ ┌───────────────────────────────────┐ │ │ │ │ - │ │ │ │ │ loops.c:7:3-7:8 │ │ │ │ │ - │ │ │ │ │ (loops.c:7:3-7:8) │ │ │ │ │ - │ │ │ │ │ YAML loc: loops.c:7:3-7:8 │ │ │ │ │ + │ │ │ │ │ loops.c:7.3-7.8 │ │ │ │ │ + │ │ │ │ │ (loops.c:7.3-7.8) │ │ │ │ │ + │ │ │ │ │ YAML loc: loops.c:7.3-7.8 │ │ │ │ │ │ │ │ │ │ server: true │ │ │ │ │ │ │ │ │ └───────────────────────────────────┘ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ i = 0 │ │ │ │ │ │ │ │ ▼ │ │ │ │ │ │ │ ┌───────────────────────────────────┐ ┌───────────────────────────────────┐ │ │ │ │ - │ │ │ │ loops.c:9:5-9:8 │ │ loops.c:8:3-10:3 (synthetic) │ │ │ │ │ - │ │ │ │ (loops.c:9:5-9:8) │ │ (loops.c:8:10-8:16 (synthetic)) │ │ │ │ │ - │ │ │ │ YAML loc: loops.c:9:5-9:8 │ Pos(i < 10) │ YAML loop: loops.c:8:3-10:3 │ │ │ │ │ + │ │ │ │ loops.c:9.5-9.8 │ │ loops.c:8.3-10.3 (synthetic) │ │ │ │ │ + │ │ │ │ (loops.c:9.5-9.8) │ │ (loops.c:8.10-8.16 (synthetic)) │ │ │ │ │ + │ │ │ │ YAML loc: loops.c:9.5-9.8 │ Pos(i < 10) │ YAML loop: loops.c:8.3-10.3 │ │ │ │ │ │ │ │ │ server: true │ ◀───────────── │ server: false │ ◀┼───────────────┼────┼────┘ │ │ │ └───────────────────────────────────┘ └───────────────────────────────────┘ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Neg(i < 10) │ │ │ │ │ │ ▼ │ │ │ │ │ │ ┌───────────────────────────────────┐ │ │ │ - │ │ │ │ loops.c:13:3-15:3 │ │ │ │ - │ │ │ │ (loops.c:13:7-13:26 (synthetic)) │ │ │ │ - │ │ │ │ YAML loc: loops.c:13:3-15:3 │ │ i = i + 1 │ │ + │ │ │ │ loops.c:13.3-15.3 │ │ │ │ + │ │ │ │ (loops.c:13.7-13.26 (synthetic)) │ │ │ │ + │ │ │ │ YAML loc: loops.c:13.3-15.3 │ │ i = i + 1 │ │ │ │ │ │ server: false │ │ │ │ │ │ │ └───────────────────────────────────┘ │ │ │ │ │ │ │ │ │ │ │ │ │ │ i = 0 │ │ │ │ │ │ ▼ │ │ │ │ │ │ ┌───────────────────────────────────┐ ┌───────────────────────────────────┐ │ │ │ - │ │ │ │ loops.c:14:5-14:23 │ │ loops.c:13:3-15:3 (synthetic) │ │ │ │ - │ │ │ │ (loops.c:14:5-14:23) │ │ (loops.c:13:7-13:26 (synthetic)) │ │ │ │ - │ │ │ │ YAML loc: loops.c:14:5-14:23 │ Pos(i < 10) │ YAML loop: loops.c:13:3-15:3 │ │ │ │ + │ │ │ │ loops.c:14.5-14.23 │ │ loops.c:13.3-15.3 (synthetic) │ │ │ │ + │ │ │ │ (loops.c:14.5-14.23) │ │ (loops.c:13.7-13.26 (synthetic)) │ │ │ │ + │ │ │ │ YAML loc: loops.c:14.5-14.23 │ Pos(i < 10) │ YAML loop: loops.c:13.3-15.3 │ │ │ │ │ │ │ │ server: true │ ◀───────────── │ server: false │ ◀┘ │ │ │ │ │ └───────────────────────────────────┘ └───────────────────────────────────┘ │ │ │ │ │ │ │ │ │ │ │ │ │ __goblint_check(1) │ Neg(i < 10) │ │ │ │ │ ▼ ▼ │ │ │ │ │ ┌───────────────────────────────────┐ ┌───────────────────────────────────┐ │ │ - │ │ │ │ loops.c:13:3-15:3 (synthetic) │ │ loops.c:18:3-20:3 │ │ │ - │ │ │ │ (loops.c:13:7-13:26 (synthetic)) │ │ (loops.c:18:7-18:26 (synthetic)) │ │ │ - │ │ │ │ server: false │ │ YAML loc: loops.c:18:3-20:3 │ │ │ + │ │ │ │ loops.c:13.3-15.3 (synthetic) │ │ loops.c:18.3-20.3 │ │ │ + │ │ │ │ (loops.c:13.7-13.26 (synthetic)) │ │ (loops.c:18.7-18.26 (synthetic)) │ │ │ + │ │ │ │ server: false │ │ YAML loc: loops.c:18.3-20.3 │ │ │ │ │ └─ │ │ │ server: false │ │ │ │ │ └───────────────────────────────────┘ └───────────────────────────────────┘ │ │ │ │ │ │ │ │ │ │ i = 0 │ │ │ │ ▼ │ │ │ │ ┌───────────────────────────────────┐ ┌───────────────────────────────────┐ │ │ - │ │ │ loops.c:18:3-20:3 (synthetic) │ │ loops.c:18:3-20:3 (synthetic) │ │ │ - │ │ │ (loops.c:18:7-18:26 (synthetic)) │ │ (loops.c:18:7-18:26 (synthetic)) │ │ │ - │ │ │ server: false │ Pos(i < 10) │ YAML loop: loops.c:18:3-20:3 │ i = i + 1 │ │ + │ │ │ loops.c:18.3-20.3 (synthetic) │ │ loops.c:18.3-20.3 (synthetic) │ │ │ + │ │ │ (loops.c:18.7-18.26 (synthetic)) │ │ (loops.c:18.7-18.26 (synthetic)) │ │ │ + │ │ │ server: false │ Pos(i < 10) │ YAML loop: loops.c:18.3-20.3 │ i = i + 1 │ │ │ └────── │ │ ◀───────────── │ server: false │ ◀────────────────┘ │ │ └───────────────────────────────────┘ └───────────────────────────────────┘ │ │ │ │ │ │ Neg(i < 10) │ │ ▼ │ │ ┌───────────────────────────────────┐ │ - │ │ loops.c:23:3-25:3 │ │ - │ │ (loops.c:23:7-23:22 (synthetic)) │ │ - │ │ YAML loc: loops.c:23:3-25:3 │ │ + │ │ loops.c:23.3-25.3 │ │ + │ │ (loops.c:23.7-23.22 (synthetic)) │ │ + │ │ YAML loc: loops.c:23.3-25.3 │ │ │ │ server: false │ │ │ └───────────────────────────────────┘ │ │ │ │ │ │ i = 0 │ │ ▼ │ │ ┌───────────────────────────────────┐ ┌───────────────────────────────────┐ │ - │ │ loops.c:24:5-24:8 │ │ loops.c:23:3-25:3 (synthetic) │ │ - │ │ (loops.c:24:5-24:8) │ │ (loops.c:23:7-23:22 (synthetic)) │ │ - │ │ YAML loc: loops.c:24:5-24:8 │ Pos(i < 10) │ YAML loop: loops.c:23:3-25:3 │ i = i + 1 │ + │ │ loops.c:24.5-24.8 │ │ loops.c:23.3-25.3 (synthetic) │ │ + │ │ (loops.c:24.5-24.8) │ │ (loops.c:23.7-23.22 (synthetic)) │ │ + │ │ YAML loc: loops.c:24.5-24.8 │ Pos(i < 10) │ YAML loop: loops.c:23.3-25.3 │ i = i + 1 │ └─────────── │ server: true │ ◀───────────── │ server: false │ ◀─────────────────────┘ └───────────────────────────────────┘ └───────────────────────────────────┘ │ │ Neg(i < 10) ▼ ┌───────────────────────────────────┐ - │ loops.c:28:3-28:8 │ - │ (loops.c:28:3-28:8) │ - │ YAML loc: loops.c:28:3-28:8 │ + │ loops.c:28.3-28.8 │ + │ (loops.c:28.3-28.8) │ + │ YAML loc: loops.c:28.3-28.8 │ │ server: true │ └───────────────────────────────────┘ │ │ i = 0 ▼ ┌───────────────────────────────────┐ ┌───────────────────────────────────┐ - │ loops.c:30:5-30:23 │ │ loops.c:29:3-31:3 (synthetic) │ - │ (loops.c:30:5-30:23) │ │ (loops.c:29:7-29:21 (synthetic)) │ - │ YAML loc: loops.c:30:5-30:23 │ Pos(i < 10) │ YAML loop: loops.c:29:3-31:3 │ i = i + 1 + │ loops.c:30.5-30.23 │ │ loops.c:29.3-31.3 (synthetic) │ + │ (loops.c:30.5-30.23) │ │ (loops.c:29.7-29.21 (synthetic)) │ + │ YAML loc: loops.c:30.5-30.23 │ Pos(i < 10) │ YAML loop: loops.c:29.3-31.3 │ i = i + 1 │ server: true │ ◀───────────── │ server: false │ ◀─────────────────────┐ └───────────────────────────────────┘ └───────────────────────────────────┘ │ │ │ │ │ __goblint_check(1) │ Neg(i < 10) │ ▼ ▼ │ ┌───────────────────────────────────┐ ┌───────────────────────────────────┐ │ - │ loops.c:29:3-31:3 (synthetic) │ │ loops.c:34:3-36:3 │ │ - │ (loops.c:29:7-29:21 (synthetic)) │ │ (loops.c:34:12-34:17 (synthetic)) │ │ - │ server: false │ │ YAML loc: loops.c:34:3-36:3 │ │ + │ loops.c:29.3-31.3 (synthetic) │ │ loops.c:34.3-36.3 │ │ + │ (loops.c:29.7-29.21 (synthetic)) │ │ (loops.c:34.12-34.17 (synthetic)) │ │ + │ server: false │ │ YAML loc: loops.c:34.3-36.3 │ │ ┌────── │ │ │ server: false │ │ │ └───────────────────────────────────┘ └───────────────────────────────────┘ │ │ │ │ │ │ j = 0 │ │ ▼ │ │ ┌───────────────────────────────────┐ ┌───────────────────────────────────┐ │ - │ │ loops.c:35:5-35:23 │ │ loops.c:34:3-36:3 (synthetic) │ │ - │ │ (loops.c:35:5-35:23) │ │ (loops.c:34:7-34:30 (synthetic)) │ │ - │ │ YAML loc: loops.c:35:5-35:23 │ Pos(j < 10) │ YAML loop: loops.c:34:3-36:3 │ j = j + 1 │ + │ │ loops.c:35.5-35.23 │ │ loops.c:34.3-36.3 (synthetic) │ │ + │ │ (loops.c:35.5-35.23) │ │ (loops.c:34.7-34.30 (synthetic)) │ │ + │ │ YAML loc: loops.c:35.5-35.23 │ Pos(j < 10) │ YAML loop: loops.c:34.3-36.3 │ j = j + 1 │ │ │ server: true │ ◀───────────── │ server: false │ ◀─────────────────────┼────┐ │ └───────────────────────────────────┘ └───────────────────────────────────┘ │ │ │ │ │ │ │ │ │ __goblint_check(1) │ Neg(j < 10) │ │ │ ▼ ▼ │ │ │ ┌───────────────────────────────────┐ ┌───────────────────────────────────┐ │ │ - │ │ loops.c:34:3-36:3 (synthetic) │ │ loops.c:39:3-41:3 │ │ │ - │ │ (loops.c:34:12-34:17 (synthetic)) │ │ (loops.c:39:12-39:23 (synthetic)) │ │ │ - │ │ server: false │ │ YAML loc: loops.c:39:3-41:3 │ │ │ + │ │ loops.c:34.3-36.3 (synthetic) │ │ loops.c:39.3-41.3 │ │ │ + │ │ (loops.c:34.12-34.17 (synthetic)) │ │ (loops.c:39.12-39.23 (synthetic)) │ │ │ + │ │ server: false │ │ YAML loc: loops.c:39.3-41.3 │ │ │ │ │ │ │ server: false │ │ │ │ └───────────────────────────────────┘ └───────────────────────────────────┘ │ │ │ │ │ │ │ │ │ │ i = 0 │ │ │ │ ▼ │ │ │ │ ┌───────────────────────────────────┐ │ │ - │ │ │ loops.c:39:3-41:3 (synthetic) │ │ │ - │ │ │ (loops.c:39:12-39:23 (synthetic)) │ │ │ + │ │ │ loops.c:39.3-41.3 (synthetic) │ │ │ + │ │ │ (loops.c:39.12-39.23 (synthetic)) │ │ │ │ │ │ server: false │ │ │ │ │ └───────────────────────────────────┘ │ │ │ │ │ │ │ │ ┌────┘ │ k = i │ │ │ │ ▼ │ │ │ │ ┌───────────────────────────────────┐ ┌───────────────────────────────────┐ │ │ - │ │ │ loops.c:40:5-40:23 │ │ loops.c:39:3-41:3 (synthetic) │ │ │ - │ │ │ (loops.c:40:5-40:23) │ │ (loops.c:39:7-39:36 (synthetic)) │ │ │ - │ │ │ YAML loc: loops.c:40:5-40:23 │ Pos(i < 10) │ YAML loop: loops.c:39:3-41:3 │ i = i + 1 │ │ + │ │ │ loops.c:40.5-40.23 │ │ loops.c:39.3-41.3 (synthetic) │ │ │ + │ │ │ (loops.c:40.5-40.23) │ │ (loops.c:39.7-39.36 (synthetic)) │ │ │ + │ │ │ YAML loc: loops.c:40.5-40.23 │ Pos(i < 10) │ YAML loop: loops.c:39.3-41.3 │ i = i + 1 │ │ │ │ │ server: true │ ◀───────────── │ server: false │ ◀─────────────────────┼────┼─────────────┐ │ │ └───────────────────────────────────┘ └───────────────────────────────────┘ │ │ │ │ │ │ │ │ │ │ │ │ │ __goblint_check(1) │ Neg(i < 10) │ │ │ │ │ ▼ ▼ │ │ │ │ │ ┌───────────────────────────────────┐ ┌───────────────────────────────────┐ │ │ │ - │ │ │ loops.c:39:3-41:3 (synthetic) │ │ loops.c:44:3-44:8 │ │ │ │ - │ │ │ (loops.c:39:12-39:23 (synthetic)) │ │ (loops.c:44:3-44:8) │ │ │ │ - │ │ │ server: false │ │ YAML loc: loops.c:44:3-44:8 │ │ │ │ + │ │ │ loops.c:39.3-41.3 (synthetic) │ │ loops.c:44.3-44.8 │ │ │ │ + │ │ │ (loops.c:39.12-39.23 (synthetic)) │ │ (loops.c:44.3-44.8) │ │ │ │ + │ │ │ server: false │ │ YAML loc: loops.c:44.3-44.8 │ │ │ │ │ │ │ │ │ server: true │ │ │ │ │ │ └───────────────────────────────────┘ └───────────────────────────────────┘ │ │ │ │ │ │ │ │ │ │ │ │ │ │ i = 0 │ │ │ │ │ │ ▼ │ │ │ │ │ │ ┌───────────────────────────────────┐ │ │ │ - │ │ │ │ loops.c:46:5-46:8 │ │ │ │ - │ │ │ │ (loops.c:46:5-46:8) │ │ │ │ - │ │ │ │ YAML loc: loops.c:46:5-46:8 │ │ │ │ - │ │ │ │ YAML loop: loops.c:45:3-47:19 │ │ │ │ + │ │ │ │ loops.c:46.5-46.8 │ │ │ │ + │ │ │ │ (loops.c:46.5-46.8) │ │ │ │ + │ │ │ │ YAML loc: loops.c:46.5-46.8 │ │ │ │ + │ │ │ │ YAML loop: loops.c:45.3-47.19 │ │ │ │ │ │ │ │ server: true │ ◀┐ │ │ │ │ │ │ └───────────────────────────────────┘ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ i = i + 1 │ Pos(i < 10) │ │ │ │ │ │ ▼ │ │ │ │ │ │ │ ┌───────────────────────────────────┐ │ │ │ │ - │ │ │ │ loops.c:45:3-47:19 (synthetic) │ │ │ │ │ - │ │ │ │ (loops.c:47:12-47:19 (synthetic)) │ │ │ │ │ + │ │ │ │ loops.c:45.3-47.19 (synthetic) │ │ │ │ │ + │ │ │ │ (loops.c:47.12-47.19 (synthetic)) │ │ │ │ │ │ │ │ │ server: false │ ─┘ │ │ │ │ │ │ └───────────────────────────────────┘ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Neg(i < 10) │ │ │ │ │ │ ▼ │ │ │ │ │ │ ┌───────────────────────────────────┐ │ │ │ - │ │ │ │ loops.c:49:3-49:11 │ │ │ │ - │ │ │ │ (loops.c:49:10-49:11) │ │ │ │ - │ │ │ │ YAML loc: loops.c:49:3-49:11 │ │ │ │ + │ │ │ │ loops.c:49.3-49.11 │ │ │ │ + │ │ │ │ (loops.c:49.10-49.11) │ │ │ │ + │ │ │ │ YAML loc: loops.c:49.3-49.11 │ │ │ │ │ │ │ │ server: true │ │ │ │ │ │ │ └───────────────────────────────────┘ │ │ │ │ │ │ │ │ │ │ @@ -202,10 +202,10 @@ └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ $ goblint --enable ana.int.interval --enable witness.yaml.enabled --set witness.yaml.entry-types '["location_invariant", "loop_invariant"]' loops.c - [Success][Assert] Assertion "1" will succeed (loops.c:14:5-14:23) - [Success][Assert] Assertion "1" will succeed (loops.c:30:5-30:23) - [Success][Assert] Assertion "1" will succeed (loops.c:35:5-35:23) - [Success][Assert] Assertion "1" will succeed (loops.c:40:5-40:23) + [Success][Assert] Assertion "1" will succeed (loops.c:14.5-14.23) + [Success][Assert] Assertion "1" will succeed (loops.c:30.5-30.23) + [Success][Assert] Assertion "1" will succeed (loops.c:35.5-35.23) + [Success][Assert] Assertion "1" will succeed (loops.c:40.5-40.23) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 20 dead: 0 diff --git a/tests/regression/cfg/pr-758.t/run.t b/tests/regression/cfg/pr-758.t/run.t index 708d3ee543..9ad67e4b74 100644 --- a/tests/regression/cfg/pr-758.t/run.t +++ b/tests/regression/cfg/pr-758.t/run.t @@ -11,70 +11,70 @@ │ │ (body) │ │ ▼ │ │ ┌────────────────────────────────────┐ │ - │ │ pr-758.c:5:3-5:13 │ │ - │ │ (pr-758.c:5:7-5:13 (synthetic)) │ │ - │ │ YAML loc: pr-758.c:5:3-5:13 │ │ + │ │ pr-758.c:5.3-5.13 │ │ + │ │ (pr-758.c:5.7-5.13 (synthetic)) │ │ + │ │ YAML loc: pr-758.c:5.3-5.13 │ │ │ │ server: false │ │ │ └────────────────────────────────────┘ │ │ │ │ x = x + 1 │ │ x = 42 │ │ ▼ │ │ ┌────────────────────────────────────┐ │ - │ │ pr-758.c:6:3-8:3 │ │ - │ │ (pr-758.c:6:7-6:26 (synthetic)) │ │ - │ │ YAML loc: pr-758.c:6:3-8:3 │ │ + │ │ pr-758.c:6.3-8.3 │ │ + │ │ (pr-758.c:6.7-6.26 (synthetic)) │ │ + │ │ YAML loc: pr-758.c:6.3-8.3 │ │ │ │ server: false │ │ │ └────────────────────────────────────┘ │ │ │ │ │ │ x = 0 │ │ ▼ │ ┌─────────────────────────────────┐ ┌────────────────────────────────────┐ │ - │ pr-758.c:6:3-8:3 (synthetic) │ │ pr-758.c:6:3-8:3 (synthetic) │ │ - │ (pr-758.c:6:7-6:26 (synthetic)) │ │ (pr-758.c:6:7-6:26 (synthetic)) │ │ - │ server: false │ Pos(x < 10) │ YAML loop: pr-758.c:6:3-8:3 │ │ + │ pr-758.c:6.3-8.3 (synthetic) │ │ pr-758.c:6.3-8.3 (synthetic) │ │ + │ (pr-758.c:6.7-6.26 (synthetic)) │ │ (pr-758.c:6.7-6.26 (synthetic)) │ │ + │ server: false │ Pos(x < 10) │ YAML loop: pr-758.c:6.3-8.3 │ │ │ │ ◀───────────── │ server: false │ ◀┘ └─────────────────────────────────┘ └────────────────────────────────────┘ │ │ Neg(x < 10) ▼ ┌────────────────────────────────────┐ - │ pr-758.c:12:3-12:12 │ - │ (pr-758.c:12:3-12:12) │ - │ YAML loc: pr-758.c:12:3-12:12 │ + │ pr-758.c:12.3-12.12 │ + │ (pr-758.c:12.3-12.12) │ + │ YAML loc: pr-758.c:12.3-12.12 │ │ server: true │ └────────────────────────────────────┘ │ │ k = 0 ▼ ┌────────────────────────────────────┐ - │ pr-758.c:12:3-12:12 (synthetic) │ - │ (pr-758.c:12:3-12:12 (synthetic)) │ + │ pr-758.c:12.3-12.12 (synthetic) │ + │ (pr-758.c:12.3-12.12 (synthetic)) │ │ server: false │ └────────────────────────────────────┘ │ │ i = k ▼ ┌────────────────────────────────────┐ - │ pr-758.c:20:3-20:25 │ - │ (pr-758.c:20:15-20:24 (synthetic)) │ - │ YAML loc: pr-758.c:20:3-20:25 │ + │ pr-758.c:20.3-20.25 │ + │ (pr-758.c:20.15-20.24 (synthetic)) │ + │ YAML loc: pr-758.c:20.3-20.25 │ │ server: false │ └────────────────────────────────────┘ │ │ a.kaal = 2 ▼ ┌────────────────────────────────────┐ - │ pr-758.c:20:3-20:25 (synthetic) │ - │ (pr-758.c:20:15-20:24 (synthetic)) │ + │ pr-758.c:20.3-20.25 (synthetic) │ + │ (pr-758.c:20.15-20.24 (synthetic)) │ │ server: false │ └────────────────────────────────────┘ │ │ a.hind = 3 ▼ ┌────────────────────────────────────┐ - │ pr-758.c:21:3-21:11 │ - │ (pr-758.c:21:10-21:11) │ - │ YAML loc: pr-758.c:21:3-21:11 │ + │ pr-758.c:21.3-21.11 │ + │ (pr-758.c:21.10-21.11) │ + │ YAML loc: pr-758.c:21.3-21.11 │ │ server: true │ └────────────────────────────────────┘ │ diff --git a/tests/regression/issue-94.t/run.t b/tests/regression/issue-94.t/run.t index 40b73f247b..452b5aed56 100644 --- a/tests/regression/issue-94.t/run.t +++ b/tests/regression/issue-94.t/run.t @@ -1,5 +1,5 @@ $ goblint --enable ana.dead-code.lines --enable ana.dead-code.branches issue-94.c - [Error][Assert] Assertion "tmp" will fail. (issue-94.c:13:3-13:35) + [Error][Assert] Assertion "tmp" will fail. (issue-94.c:13.3-13.35) [Warning][Deadcode] Function 'main' does not return [Warning][Deadcode] Function 'main' has dead code: on line 8 (issue-94.c:8-8) @@ -9,6 +9,6 @@ live: 6 dead: 3 total lines: 9 - [Warning][Deadcode][CWE-571] condition '1' is always true (issue-94.c:5:7-5:8) - [Warning][Deadcode][CWE-571] condition 'x' is always true (issue-94.c:9:7-9:8) - [Warning][Deadcode][CWE-570] condition 'x > 1' is always false (issue-94.c:13:3-13:35) + [Warning][Deadcode][CWE-571] condition '1' is always true (issue-94.c:5.7-5.8) + [Warning][Deadcode][CWE-571] condition 'x' is always true (issue-94.c:9.7-9.8) + [Warning][Deadcode][CWE-570] condition 'x > 1' is always false (issue-94.c:13.3-13.35) diff --git a/tests/regression/witness/int.t/run.t b/tests/regression/witness/int.t/run.t index 917a113e12..89f9061890 100644 --- a/tests/regression/witness/int.t/run.t +++ b/tests/regression/witness/int.t/run.t @@ -1,7 +1,7 @@ $ goblint --enable ana.sv-comp.functions --enable witness.yaml.enabled --set witness.yaml.entry-types '["location_invariant"]' --enable ana.int.def_exc --enable ana.int.enums --enable ana.int.interval --enable ana.int.congruence --disable ana.int.interval_set --disable witness.invariant.split-conjunction int.c - [Success][Assert] Assertion "1" will succeed (int.c:9:5-9:23) - [Success][Assert] Assertion "1" will succeed (int.c:12:5-12:23) - [Success][Assert] Assertion "1" will succeed (int.c:15:5-15:23) + [Success][Assert] Assertion "1" will succeed (int.c:9.5-9.23) + [Success][Assert] Assertion "1" will succeed (int.c:12.5-12.23) + [Success][Assert] Assertion "1" will succeed (int.c:15.5-15.23) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 10 dead: 0 diff --git a/tests/regression/witness/violation.t/run.t b/tests/regression/witness/violation.t/run.t index 1fc408635e..2dfb0d723e 100644 --- a/tests/regression/witness/violation.t/run.t +++ b/tests/regression/witness/violation.t/run.t @@ -2,7 +2,7 @@ Violation witness for a correct program can be refuted by proving the program co $ goblint --enable ana.sv-comp.enabled --set witness.yaml.entry-types[+] violation_sequence --set ana.specification "CHECK( init(main()), LTL(G ! call(reach_error())) )" correct.c --set witness.yaml.validate correct.yml [Info] SV-COMP specification: CHECK( init(main()), LTL(G ! call(reach_error())) ) - [Warning][Deadcode] Function 'reach_error' is uncalled: 1 LLoC (correct.c:1:1-1:20) + [Warning][Deadcode] Function 'reach_error' is uncalled: 1 LLoC (correct.c:1.1-1.20) [Info][Deadcode] Logical lines of code (LLoC) summary: live: 2 dead: 1 (1 in uncalled functions)