File tree Expand file tree Collapse file tree 34 files changed +95
-79
lines changed
Function_Pointer_Init_One_Candidate
Function_Pointer_Init_Two_Candidates
pointers-relational-operators
assigns_enforce_free_dead
invar_dynamic_struct_member
assigns_enforce_structs_06
assigns_replace_conditional_targets
invar_dynamic_struct_member
generate-function-body-complex-struct
src/ansi-c/goto-conversion Expand file tree Collapse file tree 34 files changed +95
-79
lines changed Original file line number Diff line number Diff line change 1
1
CORE
2
2
pointer_subtraction.c
3
- --no-signed-overflow-check --trace
3
+ --no-signed-overflow-check --trace --no-pointer-check
4
4
\[main\.assertion\.1\] line \d+ expected failure after pointer manipulation: FAILURE
5
5
\[main\.assertion\.2\] line \d+ expected successful after pointer manipulation: SUCCESS
6
6
\[main\.assertion\.3\] line \d+ expected failure after pointer manipulation: FAILURE
Original file line number Diff line number Diff line change 1
1
CORE
2
2
pointers_assume.c
3
- --trace
3
+ --trace --no-pointer-check
4
4
\[main\.assertion\.1\] line \d+ x == y: expected failure: FAILURE
5
5
\[main\.assertion\.2\] line \d+ z >= x: expected successful: SUCCESS
6
6
\[main\.assertion\.3\] line \d+ z <= y: expected successful: SUCCESS
Original file line number Diff line number Diff line change @@ -4,7 +4,7 @@ invalid_index_range.c
4
4
^EXIT=10$
5
5
^SIGNAL=0$
6
6
^VERIFICATION FAILED$
7
- \[main\.assertion\.1\] line 9 assertion __CPROVER_exists \{ int i; \(0 <= i && i < 20\) && a\[i\] == i \*i \}: SUCCESS
7
+ ^ \[main\.assertion\.1\] line 9 assertion __CPROVER_exists \{ int i; \(0 <= i && i < 20\) && a\[i\] == i \*i \}: UNKNOWN$
8
8
line 9 dereference failure: pointer outside object bounds in a\[(\(signed (long|long long) int\))?i\]: FAILURE
9
9
--
10
10
--
Original file line number Diff line number Diff line change @@ -4,8 +4,8 @@ smt_missing_range_check.c
4
4
^EXIT=10$
5
5
^SIGNAL=0$
6
6
^VERIFICATION FAILED$
7
- \[main\.assertion\.1\] line \d assertion __CPROVER_exists \{ int i; a\[i\] == i \*i \}: SUCCESS
8
- \[main\.pointer_dereference\.11\] line \d dereference failure: pointer outside object bounds in a\[(\(signed (long|long long) int\))?i\]: FAILURE
7
+ ^ \[main\.assertion\.1\] line \d assertion __CPROVER_exists \{ int i; a\[i\] == i \*i \}: UNKNOWN$
8
+ ^ \[main\.pointer_dereference\.11\] line \d dereference failure: pointer outside object bounds in a\[(\(signed (long|long long) int\))?i\]: FAILURE$
9
9
--
10
10
--
11
11
Check that memory checks fail for pointer dereferences inside an existential
Original file line number Diff line number Diff line change @@ -3,13 +3,13 @@ test_malloc_less_than_bound.c
3
3
--no-malloc-may-fail --pointer-check
4
4
^EXIT=10$
5
5
^SIGNAL=0$
6
- \[main\.assertion\.2\] line \d+ assertion __CPROVER_forall \{ int i ; \(0 <= i && i < 10\) ==> \*\(a\+i\) == \*\(a\+i\) \}: SUCCESS
7
- \[main\.pointer_dereference\.7\] line \d+ dereference failure: pointer NULL in a\[(\(signed (long|long long) int\))?i\]: SUCCESS
8
- \[main\.pointer_dereference\.8\] line \d+ dereference failure: pointer invalid in a\[(\(signed (long|long long) int\))?i\]: SUCCESS
9
- \[main\.pointer_dereference\.9\] line \d+ dereference failure: deallocated dynamic object in a\[(\(signed (long|long long) int\))?i\]: SUCCESS
10
- \[main\.pointer_dereference\.10\] line \d+ dereference failure: dead object in a\[(\(signed (long|long long) int\))?i\]: SUCCESS
11
- \[main\.pointer_dereference\.11\] line \d+ dereference failure: pointer outside object bounds in a\[(\(signed (long|long long) int\))?i\]: FAILURE
12
- \[main\.pointer_dereference\.12\] line \d+ dereference failure: invalid integer address in a\[(\(signed (long|long long) int\))?i\]: SUCCESS
6
+ ^ \[main\.assertion\.2\] line \d+ assertion __CPROVER_forall \{ int i ; \(0 <= i && i < 10\) ==> \*\(a\+i\) == \*\(a\+i\) \}: UNKNOWN$
7
+ ^ \[main\.pointer_dereference\.7\] line \d+ dereference failure: pointer NULL in a\[(\(signed (long|long long) int\))?i\]: SUCCESS$
8
+ ^ \[main\.pointer_dereference\.8\] line \d+ dereference failure: pointer invalid in a\[(\(signed (long|long long) int\))?i\]: SUCCESS$
9
+ ^ \[main\.pointer_dereference\.9\] line \d+ dereference failure: deallocated dynamic object in a\[(\(signed (long|long long) int\))?i\]: SUCCESS$
10
+ ^ \[main\.pointer_dereference\.10\] line \d+ dereference failure: dead object in a\[(\(signed (long|long long) int\))?i\]: SUCCESS$
11
+ ^ \[main\.pointer_dereference\.11\] line \d+ dereference failure: pointer outside object bounds in a\[(\(signed (long|long long) int\))?i\]: FAILURE$
12
+ ^ \[main\.pointer_dereference\.12\] line \d+ dereference failure: invalid integer address in a\[(\(signed (long|long long) int\))?i\]: UNKNOWN$
13
13
^VERIFICATION FAILED$
14
14
--
15
15
--
Original file line number Diff line number Diff line change 1
1
CORE
2
2
main.c
3
-
3
+ --no-pointer-check
4
4
^EXIT=10$
5
5
^SIGNAL=0$
6
6
\[f2.assertion.1\] line [0-9]+ assertion 0: SUCCESS
Original file line number Diff line number Diff line change 1
1
CORE
2
2
main.c
3
- --function foo
3
+ --function foo --no-pointer-check
4
4
^\[foo.assertion.\d+\] line \d+ assertion other_function\(4\) == 5: FAILURE$
5
5
^\[foo.assertion.\d+\] line \d+ assertion other_function\(4\) == 4: SUCCESS$
6
6
^EXIT=10$
Original file line number Diff line number Diff line change 1
1
CORE
2
2
main.c
3
- --function foo
3
+ --function foo --no-pointer-check
4
4
^\[foo.assertion.\d+\] line \d+ assertion other_function\(4\) == 5: FAILURE$
5
5
^\[foo.assertion.\d+\] line \d+ assertion other_function\(4\) >= 4: SUCCESS$
6
6
^EXIT=10$
Original file line number Diff line number Diff line change 1
1
CORE
2
2
test.c
3
-
3
+ --no-pointer-check
4
4
^VERIFICATION FAILED$
5
5
^\[main.assertion\.1\] line 16.*SUCCESS$
6
6
^\[main.assertion\.2\] line 17.*FAILURE$
Original file line number Diff line number Diff line change 1
1
CORE
2
2
test.c
3
-
3
+ --no-pointer-check
4
4
^VERIFICATION FAILED$
5
5
^\[main.assertion\.1\] line 9.*SUCCESS$
6
6
^\[main.assertion\.2\] line 10.*FAILURE$
Original file line number Diff line number Diff line change 1
1
CORE
2
2
test.c
3
-
3
+ --no-pointer-check
4
4
^VERIFICATION FAILED$
5
5
^\[main.assertion\.1\] line 10.*SUCCESS$
6
6
^\[main.assertion\.2\] line 11.*FAILURE$
Original file line number Diff line number Diff line change 1
1
CORE
2
2
test.c
3
-
3
+ --no-pointer-check
4
4
^VERIFICATION FAILED$
5
5
^\[main.assertion\.1\] line 11.*SUCCESS$
6
6
^\[main.assertion\.2\] line 12.*FAILURE$
Original file line number Diff line number Diff line change 1
1
CORE
2
2
test.c
3
-
3
+ --no-pointer-check
4
4
^VERIFICATION FAILED$
5
5
^\[main.assertion\.1\] line 10.*SUCCESS$
6
6
^\[main.assertion\.2\] line 11.*FAILURE$
Original file line number Diff line number Diff line change 6
6
^\[main\.pointer_dereference\.2\] .* dereference failure: invalid integer address in \*p: SUCCESS$
7
7
^\[main\.assertion\.1\] .* assertion \*p==42: SUCCESS$
8
8
^\[main\.pointer_dereference\.[0-9]+\] .* dereference failure: invalid integer address in p\[.*1\]: FAILURE$
9
- ^\[main\.assertion\.2\] .* assertion \*\(p\+1\)==42: SUCCESS $
9
+ ^\[main\.assertion\.2\] .* assertion \*\(p\+1\)==42: UNKNOWN $
10
10
^VERIFICATION FAILED$
11
11
--
12
12
^warning: ignoring
Original file line number Diff line number Diff line change 4
4
^EXIT=10$
5
5
^SIGNAL=0$
6
6
^\[main.pointer_dereference.1\] .* dereference failure: pointer NULL in \*p: FAILURE$
7
- ^\[main.pointer_dereference.2\] .* dereference failure: dead object in \*q: SUCCESS $
8
- ^\[main.pointer_dereference.3\] .* dereference failure: pointer outside object bounds in \*q: SUCCESS $
9
- ^\[main.pointer_dereference.4\] .* dereference failure: deallocated dynamic object in \*r: SUCCESS $
10
- ^\[main.pointer_dereference.5\] .* dereference failure: pointer outside dynamic object bounds in \*r: SUCCESS $
7
+ ^\[main.pointer_dereference.2\] .* dereference failure: dead object in \*q: UNKNOWN $
8
+ ^\[main.pointer_dereference.3\] .* dereference failure: pointer outside object bounds in \*q: UNKNOWN $
9
+ ^\[main.pointer_dereference.4\] .* dereference failure: deallocated dynamic object in \*r: UNKNOWN $
10
+ ^\[main.pointer_dereference.5\] .* dereference failure: pointer outside dynamic object bounds in \*r: UNKNOWN $
11
11
^\[main.pointer_dereference.6\] .* dereference failure: pointer NULL in \*s: FAILURE$
12
12
^\[main.pointer_dereference.7\] .* dereference failure: pointer invalid in \*s: FAILURE$
13
13
^\[main.pointer_dereference.8\] .* dereference failure: deallocated dynamic object in \*s: FAILURE$
Original file line number Diff line number Diff line change 4
4
^\[main.assertion.1\] line .* assertion \(\(char \*\)NULL\) != \(char \*\)\(void \*\)0 \+ (\(.*\))?1: SUCCESS$
5
5
^\[main.assertion.2\] line .* assertion \(\(char \*\)NULL\) != \(char \*\)\(void \*\)0 - (\(.*\))?1: SUCCESS$
6
6
^\[main.assertion.3\] line .* assertion \(\(char \*\)NULL\) != \(char \*\)\(void \*\)0 \+ \(.*\)offset: SUCCESS$
7
- ^\[main.assertion.4\] line .* assertion \(char \*\)\(void \*\)0 - \(char \*\)\(void \*\)0 == (\(.*\))?0: SUCCESS $
7
+ ^\[main.assertion.4\] line .* assertion \(char \*\)\(void \*\)0 - \(char \*\)\(void \*\)0 == (\(.*\))?0: UNKNOWN $
8
8
^\[main.assertion.5\] line .* assertion ptr - \(signed int \*\)\(void \*\)0 == (\(.*\))?0: FAILURE$
9
- ^\[main.assertion.6\] line .* assertion \(ptr - (\(.*\))?1\) \+ (\(.*\))?1 == \(\(.* \*\)NULL\): SUCCESS $
9
+ ^\[main.assertion.6\] line .* assertion \(ptr - (\(.*\))?1\) \+ (\(.*\))?1 == \(\(.* \*\)NULL\): UNKNOWN $
10
10
^\[main.assertion.7\] line .* assertion \(ptr - (\(.*\))?1\) \+ (\(.*\))?1 == \(\(.* \*\)NULL\): FAILURE$
11
11
^EXIT=10$
12
12
^SIGNAL=0$
Original file line number Diff line number Diff line change 8
8
^\[main\.pointer_dereference\.1\] line 36 dereference failure: dead object in \*p: SUCCESS$
9
9
^\[main\.pointer_dereference\.2\] line 36 dereference failure: pointer outside object bounds in \*p: SUCCESS$
10
10
^\[main\.assertion\.3\] line 42 assertion \*p == 42: FAILURE$
11
- ^\[main\.pointer_dereference\.5\] line 42 dereference failure: pointer outside object bounds in \*p: SUCCESS $
11
+ ^\[main\.pointer_dereference\.5\] line 42 dereference failure: pointer outside object bounds in \*p: UNKNOWN $
12
12
^\[main\.pointer_dereference\.3\] line 42 dereference failure: pointer NULL in \*p: SUCCESS$
13
13
^\[main\.pointer_dereference\.4\] line 42 dereference failure: dead object in \*p: FAILURE$
14
14
^\[main\.assertion\.4\] line 49 assertion e == 42: FAILURE$
Original file line number Diff line number Diff line change 4
4
^EXIT=10$
5
5
^SIGNAL=0$
6
6
^\[f2.assigns.\d+\] line \d+ Check that p->buf\[(\(.*\))?0\] is assignable: FAILURE$
7
- ^\[f2.assigns.\d+\] line \d+ Check that p->size is assignable: SUCCESS $
7
+ ^\[f2.assigns.\d+\] line \d+ Check that p->size is assignable: UNKNOWN $
8
8
^VERIFICATION FAILED$
9
9
--
10
10
--
Original file line number Diff line number Diff line change 1
1
#include <stdbool.h>
2
+ #include <stdlib.h>
2
3
3
4
bool nz (int x )
4
5
{
@@ -46,6 +47,9 @@ int main()
46
47
old_y = y ;
47
48
48
49
char * z = malloc (1 );
50
+ if (z == NULL )
51
+ return ;
52
+
49
53
* z = '0' ;
50
54
51
55
foo (a , & x , & y , z );
Original file line number Diff line number Diff line change 2
2
main.c
3
3
--dfcc main --replace-call-with-contract foo
4
4
^main.c function main$
5
- ^\[main\.assertion\.\d+\] line 55 a unchanged, expecting SUCCESS: SUCCESS$
6
- ^\[main\.assertion\.\d+\] line 57 x changed, expecting FAILURE: FAILURE$
7
- ^\[main\.assertion\.\d+\] line 59 x unchanged, expecting SUCCESS: SUCCESS$
8
- ^\[main\.assertion\.\d+\] line 62 y changed, expecting FAILURE: FAILURE$
9
- ^\[main\.assertion\.\d+\] line 64 y unchanged, expecting SUCCESS: SUCCESS$
10
- ^\[main\.assertion\.\d+\] line 67 z changed, expecting FAILURE: FAILURE$
11
- ^\[main\.assertion\.\d+\] line 69 z unchanged, expecting SUCCESS: SUCCESS$
5
+ ^\[main\.assertion\.\d+\] line 59 a unchanged, expecting SUCCESS: SUCCESS$
6
+ ^\[main\.assertion\.\d+\] line 61 x changed, expecting FAILURE: FAILURE$
7
+ ^\[main\.assertion\.\d+\] line 63 x unchanged, expecting SUCCESS: SUCCESS$
8
+ ^\[main\.assertion\.\d+\] line 66 y changed, expecting FAILURE: FAILURE$
9
+ ^\[main\.assertion\.\d+\] line 68 y unchanged, expecting SUCCESS: SUCCESS$
10
+ ^\[main\.assertion\.\d+\] line 71 z changed, expecting FAILURE: FAILURE$
11
+ ^\[main\.assertion\.\d+\] line 73 z unchanged, expecting SUCCESS: SUCCESS$
12
12
^VERIFICATION FAILED$
13
13
^EXIT=10$
14
14
^SIGNAL=0$
Original file line number Diff line number Diff line change
1
+ #include <stdlib.h>
2
+
1
3
typedef struct test
2
4
{
3
5
int x ;
@@ -6,6 +8,8 @@ typedef struct test
6
8
void main ()
7
9
{
8
10
struct test * t = malloc (sizeof (test ));
11
+ if (t == NULL )
12
+ return ;
9
13
t -> x = 0 ;
10
14
11
15
unsigned n ;
Original file line number Diff line number Diff line change 3
3
--dfcc main --apply-loop-contracts
4
4
^EXIT=10$
5
5
^SIGNAL=0$
6
- ^\[main.loop_assigns.\d+\] line 12 Check assigns clause inclusion for loop .*: SUCCESS$
7
- ^\[main.loop_invariant_base.\d+\] line 12 Check invariant before entry for loop .*: SUCCESS$
8
- ^\[main.loop_invariant_step.\d+\] line 12 Check invariant after step for loop .*: SUCCESS$
9
- ^\[main.loop_step_unwinding.\d+\] line 12 Check step was unwound for loop .*: SUCCESS$
6
+ ^\[main.loop_assigns.\d+\] line 16 Check assigns clause inclusion for loop .*: SUCCESS$
7
+ ^\[main.loop_invariant_base.\d+\] line 16 Check invariant before entry for loop .*: SUCCESS$
8
+ ^\[main.loop_invariant_step.\d+\] line 16 Check invariant after step for loop .*: SUCCESS$
9
+ ^\[main.loop_step_unwinding.\d+\] line 16 Check step was unwound for loop .*: SUCCESS$
10
10
^\[main.assigns.\d+\] .* Check that i is assignable: SUCCESS$
11
- ^\[main.assigns.\d+\] line 22 Check that t->x is assignable: SUCCESS$
12
- ^\[main.assigns.\d+\] line 25 Check that t->x is assignable: SUCCESS$
13
- ^\[main.assertion.\d+\] line 29 assertion .*: FAILURE$
11
+ ^\[main.assigns.\d+\] line 26 Check that t->x is assignable: SUCCESS$
12
+ ^\[main.assigns.\d+\] line 29 Check that t->x is assignable: SUCCESS$
13
+ ^\[main.assertion.\d+\] line 33 assertion .*: FAILURE$
14
14
^VERIFICATION FAILED$
15
15
--
16
16
--
Original file line number Diff line number Diff line change @@ -11,7 +11,11 @@ struct blob
11
11
void main ()
12
12
{
13
13
struct blob * b = malloc (sizeof (struct blob ));
14
+ if (b == NULL )
15
+ return ;
14
16
b -> data = malloc (SIZE );
17
+ if (b -> data == NULL )
18
+ return ;
15
19
16
20
b -> data [5 ] = 0 ;
17
21
for (unsigned i = 0 ; i < SIZE ; i ++ )
Original file line number Diff line number Diff line change 3
3
--dfcc main --apply-loop-contracts
4
4
^EXIT=10$
5
5
^SIGNAL=0$
6
- ^\[main.loop_assigns.\d+\] line 17 Check assigns clause inclusion for loop .*: SUCCESS$
7
- ^\[main.loop_invariant_base.\d+\] line 17 Check invariant before entry for loop .*: SUCCESS$
8
- ^\[main.loop_invariant_step.\d+\] line 17 Check invariant after step for loop .*: SUCCESS$
9
- ^\[main.loop_step_unwinding.\d+\] line 17 Check step was unwound for loop .*: SUCCESS$
6
+ ^\[main.loop_assigns.\d+\] line 21 Check assigns clause inclusion for loop .*: SUCCESS$
7
+ ^\[main.loop_invariant_base.\d+\] line 21 Check invariant before entry for loop .*: SUCCESS$
8
+ ^\[main.loop_invariant_step.\d+\] line 21 Check invariant after step for loop .*: SUCCESS$
9
+ ^\[main.loop_step_unwinding.\d+\] line 21 Check step was unwound for loop .*: SUCCESS$
10
10
^\[main.assigns.\d+\] .* Check that i is assignable: SUCCESS$
11
11
^\[main.assigns.\d+\] .* Check that b->data\[(.*)i\] is assignable: FAILURE$
12
12
^VERIFICATION FAILED$
Original file line number Diff line number Diff line change @@ -12,7 +12,11 @@ void main()
12
12
{
13
13
int y ;
14
14
struct blob * b = malloc (sizeof (struct blob ));
15
+ if (b == NULL )
16
+ return ;
15
17
b -> data = malloc (SIZE );
18
+ if (b -> data == NULL )
19
+ return ;
16
20
17
21
b -> data [5 ] = 0 ;
18
22
for (unsigned i = 0 ; i < SIZE ; i ++ )
Original file line number Diff line number Diff line change 3
3
--dfcc main --apply-loop-contracts
4
4
^EXIT=10$
5
5
^SIGNAL=0$
6
- ^\[main.loop_assigns.\d+\] line 18 Check assigns clause inclusion for loop .*: SUCCESS$
7
- ^\[main.loop_invariant_base.\d+\] line 18 Check invariant before entry for loop .*: SUCCESS$
8
- ^\[main.loop_invariant_step.\d+\] line 18 Check invariant after step for loop .*: SUCCESS$
9
- ^\[main.loop_step_unwinding.\d+\] line 18 Check step was unwound for loop .*: SUCCESS$
10
- ^\[main.loop_assigns.\d+\] line 27 Check assigns clause inclusion for loop .*: FAILURE$
11
- ^\[main.loop_invariant_base.\d+\] line 27 Check invariant before entry for loop .*: SUCCESS$
12
- ^\[main.loop_invariant_step.\d+\] line 27 Check invariant after step for loop .*: SUCCESS$
13
- ^\[main.loop_step_unwinding.\d+\] line 27 Check step was unwound for loop .*: SUCCESS$
6
+ ^\[main.loop_assigns.\d+\] line 22 Check assigns clause inclusion for loop .*: SUCCESS$
7
+ ^\[main.loop_invariant_base.\d+\] line 22 Check invariant before entry for loop .*: SUCCESS$
8
+ ^\[main.loop_invariant_step.\d+\] line 22 Check invariant after step for loop .*: SUCCESS$
9
+ ^\[main.loop_step_unwinding.\d+\] line 22 Check step was unwound for loop .*: SUCCESS$
10
+ ^\[main.loop_assigns.\d+\] line 31 Check assigns clause inclusion for loop .*: FAILURE$
11
+ ^\[main.loop_invariant_base.\d+\] line 31 Check invariant before entry for loop .*: SUCCESS$
12
+ ^\[main.loop_invariant_step.\d+\] line 31 Check invariant after step for loop .*: SUCCESS$
13
+ ^\[main.loop_step_unwinding.\d+\] line 31 Check step was unwound for loop .*: SUCCESS$
14
14
^\[main.assigns.\d+\] .* Check that i is assignable: SUCCESS$
15
15
^\[main.assigns.\d+\] .* Check that j is assignable: SUCCESS$
16
16
^\[main.assigns.\d+\] .* Check that b->data\[(.*)i\] is assignable: SUCCESS$
Original file line number Diff line number Diff line change 7
7
^\[foo.assigns.\d+\] line 7 Check that \*\(\*p\) is assignable: SUCCESS$
8
8
^\[foo.assigns.\d+\] line 24 Check that \*\(\*p\) is assignable: FAILURE$
9
9
^\[foo.assigns.\d+\] line \d+ Check that \*p is assignable: SUCCESS$
10
- ^\[foo.assigns.\d+\] line \d+ Check that \*q is assignable: SUCCESS $
11
- ^\[foo.assigns.\d+\] line \d+ Check that \*w is assignable: SUCCESS $
12
- ^\[foo.assigns.\d+\] line \d+ Check that \*x is assignable: SUCCESS $
13
- ^\[foo.assigns.\d+\] line \d+ Check that __CPROVER_POINTER_OBJECT\(\(void \*\)z\) is assignable: SUCCESS $
10
+ ^\[foo.assigns.\d+\] line \d+ Check that \*q is assignable: UNKNOWN $
11
+ ^\[foo.assigns.\d+\] line \d+ Check that \*w is assignable: UNKNOWN $
12
+ ^\[foo.assigns.\d+\] line \d+ Check that \*x is assignable: UNKNOWN $
13
+ ^\[foo.assigns.\d+\] line \d+ Check that __CPROVER_POINTER_OBJECT\(\(void \*\)z\) is assignable: UNKNOWN $
14
14
^EXIT=10$
15
15
^SIGNAL=0$
16
16
^VERIFICATION FAILED$
Original file line number Diff line number Diff line change 3
3
--apply-loop-contracts
4
4
^EXIT=10$
5
5
^SIGNAL=0$
6
- ^\[main\.\d+\] .* Check loop invariant before entry: SUCCESS $
7
- ^\[main\.\d+\] .* Check that loop invariant is preserved: SUCCESS $
8
- ^\[main.assigns.\d+\] .* Check that i is assignable: SUCCESS $
9
- ^\[main.assigns.\d+\] line 22 Check that t->x is assignable: SUCCESS $
10
- ^\[main.assigns.\d+\] line 25 Check that t->x is assignable: SUCCESS $
6
+ ^\[main\.\d+\] .* Check loop invariant before entry: UNKNOWN $
7
+ ^\[main\.\d+\] .* Check that loop invariant is preserved: UNKNOWN $
8
+ ^\[main.assigns.\d+\] .* Check that i is assignable: UNKNOWN $
9
+ ^\[main.assigns.\d+\] line 22 Check that t->x is assignable: UNKNOWN $
10
+ ^\[main.assigns.\d+\] line 25 Check that t->x is assignable: UNKNOWN $
11
11
^\[main.assertion.1\] .* assertion .*: FAILURE$
12
12
^VERIFICATION FAILED$
13
13
--
Original file line number Diff line number Diff line change 3
3
--apply-loop-contracts
4
4
^EXIT=10$
5
5
^SIGNAL=0$
6
- ^\[main.\d+\] .* Check loop invariant before entry: SUCCESS $
7
- ^\[main.assigns.\d+\] .* Check that i is assignable: SUCCESS $
6
+ ^\[main.\d+\] .* Check loop invariant before entry: UNKNOWN $
7
+ ^\[main.assigns.\d+\] .* Check that i is assignable: UNKNOWN $
8
8
^\[main.assigns.\d+\] .* Check that b->data\[(.*)i\] is assignable: FAILURE$
9
- ^\[main.\d+\] .* Check that loop invariant is preserved: SUCCESS $
9
+ ^\[main.\d+\] .* Check that loop invariant is preserved: UNKNOWN $
10
10
^\[main.assertion.\d+\] .* assertion b->data\[5\] == 0: FAILURE$
11
11
^VERIFICATION FAILED$
12
12
--
Original file line number Diff line number Diff line change 3
3
--apply-loop-contracts
4
4
^EXIT=10$
5
5
^SIGNAL=0$
6
- ^\[main.assigns.\d+\] .* Check that i is assignable: SUCCESS $
7
- ^\[main.assigns.\d+\] .* Check that j is assignable: SUCCESS $
8
- ^\[main.assigns.\d+\] .* Check that b->data\[(.*)i\] is assignable: SUCCESS $
6
+ ^\[main.assigns.\d+\] .* Check that i is assignable: UNKNOWN $
7
+ ^\[main.assigns.\d+\] .* Check that j is assignable: UNKNOWN $
8
+ ^\[main.assigns.\d+\] .* Check that b->data\[(.*)i\] is assignable: UNKNOWN $
9
9
^\[main.assigns.\d+\] .* Check that y is assignable: FAILURE$
10
10
^VERIFICATION FAILED$
11
11
--
Original file line number Diff line number Diff line change 3
3
--apply-loop-contracts
4
4
^EXIT=10$
5
5
^SIGNAL=0$
6
- ^\[main.assigns.\d+\] .* Check that i is assignable: SUCCESS $
6
+ ^\[main.assigns.\d+\] .* Check that i is assignable: UNKNOWN $
7
7
^\[main.assigns.\d+\] .* Check that b->data\[(.*)i\] is assignable: FAILURE$
8
8
^VERIFICATION FAILED$
9
9
--
Original file line number Diff line number Diff line change 9
9
\[main.assertion.4\] .* assertion main_struct.union_contents.some_double < 14.0 && main_struct.union_contents.some_double > 12.0: SUCCESS
10
10
\[main.assertion.5\] .* assertion main_struct.pointer_contents->struct_contents.some_variable == 11: FAILURE
11
11
\[main.assertion.6\] .* assertion main_struct.struct_contents.some_variable == 10: FAILURE
12
- \[main.assertion.7\] .* assertion main_struct.struct_contents.some_constant == 20: SUCCESS
12
+ \[main.assertion.7\] .* assertion main_struct.struct_contents.some_constant == 20: UNKNOWN
13
13
\[main.assertion.8\] .* assertion main_struct.union_contents.some_double < 14.0 && main_struct.union_contents.some_double > 12.0: FAILURE
14
- \[main.assertion.9\] .* assertion child_struct.struct_contents.some_variable == 11: SUCCESS
15
- \[main.assertion.10\] .* assertion child_struct.union_contents.some_integer == 31: SUCCESS
16
- \[main.assertion.11\] .* assertion !child_struct.pointer_contents: SUCCESS
14
+ \[main.assertion.9\] .* assertion child_struct.struct_contents.some_variable == 11: UNKNOWN
15
+ \[main.assertion.10\] .* assertion child_struct.union_contents.some_integer == 31: UNKNOWN
16
+ \[main.assertion.11\] .* assertion !child_struct.pointer_contents: UNKNOWN
17
17
^VERIFICATION FAILED$
You can’t perform that action at this time.
0 commit comments