Skip to content

Commit 28e40b9

Browse files
committed
Add manual witness for 56-witness/62-tm-inv-transfer-protection-witness
1 parent e43b06a commit 28e40b9

File tree

2 files changed

+61
-0
lines changed

2 files changed

+61
-0
lines changed
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
- entry_type: invariant_set
2+
metadata:
3+
format_version: "2.0"
4+
uuid: a3819e93-2ad6-42fd-aee8-f25aac0eb212
5+
creation_time: 2025-03-07T15:04:22Z
6+
producer:
7+
name: Vesal Vojdani
8+
version: n/a
9+
task:
10+
input_files:
11+
- 62-tm-inv-transfer-protection-witness.c
12+
input_file_hashes:
13+
62-tm-inv-transfer-protection-witness.c: 139627d4167e48c2399f0a6359e533d8ac7597e9b4155c58ddcb2b7bfe780088
14+
data_model: LP64
15+
language: C
16+
content:
17+
- invariant:
18+
type: location_invariant
19+
location:
20+
file_name: 62-tm-inv-transfer-protection-witness.c
21+
line: 27
22+
column: 3
23+
function: main
24+
value: 40 <= g && g <= 41
25+
format: c_expression
26+
- invariant:
27+
type: location_invariant
28+
location:
29+
file_name: 62-tm-inv-transfer-protection-witness.c
30+
line: 31
31+
column: 3
32+
function: main
33+
value: 40 <= g && g <= 42
34+
format: c_expression
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
Same as regression test, but with manually written witness from Simmo's PhD thesis:
2+
3+
$ 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
4+
[Info][Witness] unassume invariant: 40 <= g && g <= 41 (62-tm-inv-transfer-protection-witness.c:26:3-26:25)
5+
[Success][Assert] Assertion "g >= 40" will succeed (62-tm-inv-transfer-protection-witness.c:27:3-27:27)
6+
[Warning][Assert] Assertion "g <= 41" is unknown. (62-tm-inv-transfer-protection-witness.c:28:3-28:27)
7+
[Info][Witness] unassume invariant: 40 <= g && g <= 42 (62-tm-inv-transfer-protection-witness.c:29:3-29:27)
8+
[Success][Assert] Assertion "g >= 40" will succeed (62-tm-inv-transfer-protection-witness.c:31:3-31:27)
9+
[Success][Assert] Assertion "g <= 42" will succeed (62-tm-inv-transfer-protection-witness.c:32:3-32:27)
10+
[Info][Deadcode] Logical lines of code (LLoC) summary:
11+
live: 19
12+
dead: 0
13+
total lines: 19
14+
[Warning][Race] Memory location g (race with conf. 110): (62-tm-inv-transfer-protection-witness.c:5:5-5:11)
15+
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)
16+
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)
17+
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)
18+
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)
19+
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)
20+
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)
21+
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)
22+
[Info][Race] Memory locations race summary:
23+
safe: 0
24+
vulnerable: 0
25+
unsafe: 1
26+
total memory locations: 1
27+

0 commit comments

Comments
 (0)