diff --git a/src/plugins/aorai/tests/ya/oracle/serial.res.oracle b/src/plugins/aorai/tests/ya/oracle/serial.res.oracle index b0da18f60ad52bf9071d86a5ca80ae0d8198b8cd..a65af24e91b5ef5559fd860b117a766a2491a90b 100644 --- a/src/plugins/aorai/tests/ya/oracle/serial.res.oracle +++ b/src/plugins/aorai/tests/ya/oracle/serial.res.oracle @@ -180,6 +180,18 @@ enum aorai_OpStatusList { }; /* compiler builtin: void Frama_C_show_aorai_state(...); */ +/*@ ghost extern int __fc_heap_status; */ + +/*@ +axiomatic dynamic_allocation { + predicate is_allocable{L}(ℤ n) + reads __fc_heap_status; + + axiom never_allocable{L}: + ∀ ℤ i; i < 0 ∨ i > 18446744073709551615UL ⇒ ¬is_allocable(i); + + } + */ extern int volatile Frama_C_entropy_source __attribute__((__unused__)); /*@ requires order: min ≤ max; diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts2192.res.oracle b/src/plugins/e-acsl/tests/bts/oracle/bts2192.res.oracle index b17dc493cc2f314c2dec1e370a69f44f9481b406..9c4b73c17c064d76c062b9ca7f7b1fde4872ea7c 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/bts2192.res.oracle +++ b/src/plugins/e-acsl/tests/bts/oracle/bts2192.res.oracle @@ -2,13 +2,13 @@ [e-acsl] Warning: annotating undefined function `atoi': the generated program may miss memory instrumentation if there are memory-related annotations. +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:79: Warning: + no assigns clause generated for function valid_read_string because pointers as arguments is not yet supported +[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:277: Warning: + E-ACSL construct `logic functions or predicates performing read accesses' + is not yet supported. + Ignoring annotation. [e-acsl] FRAMAC_SHARE/libc/stdlib.h:78: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. [e-acsl] translation done in project "e-acsl". -[eva:alarm] FRAMAC_SHARE/libc/stdlib.h:79: Warning: - function __e_acsl_assert_register_ulong: precondition data->values == \null || - \valid(data->values) got status unknown. -[eva:alarm] FRAMAC_SHARE/libc/stdlib.h:79: Warning: - function __e_acsl_assert_register_int: precondition data->values == \null || - \valid(data->values) got status unknown. diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts2252.res.oracle b/src/plugins/e-acsl/tests/bts/oracle/bts2252.res.oracle index 8e21a5839c9ad6af6a30335d8452cad0233b17a5..1397e624078c0700e7bf18faf078bdeb20a83da9 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/bts2252.res.oracle +++ b/src/plugins/e-acsl/tests/bts/oracle/bts2252.res.oracle @@ -1,28 +1,28 @@ [e-acsl] beginning translation. -[e-acsl] FRAMAC_SHARE/libc/string.h:379: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:431: Warning: no assigns clause generated for function valid_read_nstring because pointers as arguments is not yet supported -[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:284: Warning: +[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:280: Warning: E-ACSL construct `labeled \valid_read' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:388: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:440: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:391: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:443: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:378: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:430: Warning: Some assumes clauses could not be translated. Ignoring complete and disjoint behaviors annotations. -[e-acsl] FRAMAC_SHARE/libc/string.h:378: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:430: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:389: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:441: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:392: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:444: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts2192.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts2192.c index 7db3574598a1c27e47a1159e8259708750fc77b0..85e5bfa8520f649e309f109393b8b7cb208d628f 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts2192.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts2192.c @@ -7,86 +7,38 @@ #include "stdio.h" #include "stdlib.h" #include "time.h" -char *__gen_e_acsl_literal_string; extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; -/*@ requires valid_nptr: \valid_read(nptr); +/*@ requires valid_nptr: valid_read_string(nptr); assigns \result; - assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..))); + assigns \result + \from (indirect: nptr), (indirect: *(nptr + (0 .. strlen{Old}(nptr)))); */ int __gen_e_acsl_atoi(char const *nptr); int a; char *n = (char *)"134"; -/*@ requires valid_nptr: \valid_read(nptr); - assigns \result; - assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..))); - */ -int __gen_e_acsl_atoi(char const *nptr) -{ - int __retres; - { - int __gen_e_acsl_valid_read; - __e_acsl_store_block((void *)(& nptr),8UL); - __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; - __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)nptr, - sizeof(char const), - (void *)nptr, - (void *)(& nptr)); - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"nptr", - (void *)nptr); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, - "sizeof(char const)",0,sizeof(char const)); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, - "\\valid_read(nptr)",0, - __gen_e_acsl_valid_read); - __gen_e_acsl_assert_data.blocking = 1; - __gen_e_acsl_assert_data.kind = "Precondition"; - __gen_e_acsl_assert_data.pred_txt = "\\valid_read(nptr)"; - __gen_e_acsl_assert_data.file = "FRAMAC_SHARE/libc/stdlib.h"; - __gen_e_acsl_assert_data.fct = "atoi"; - __gen_e_acsl_assert_data.line = 79; - __gen_e_acsl_assert_data.name = "valid_nptr"; - __e_acsl_assert(__gen_e_acsl_valid_read,& __gen_e_acsl_assert_data); - __e_acsl_assert_clean(& __gen_e_acsl_assert_data); - } - __retres = atoi(nptr); - __e_acsl_delete_block((void *)(& nptr)); - return __retres; -} - -void __e_acsl_globals_init(void) -{ - static char __e_acsl_already_run = 0; - if (! __e_acsl_already_run) { - __e_acsl_already_run = 1; - __gen_e_acsl_literal_string = "134"; - __e_acsl_store_block((void *)__gen_e_acsl_literal_string,sizeof("134")); - __e_acsl_full_init((void *)__gen_e_acsl_literal_string); - __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string); - __e_acsl_store_block((void *)(& n),8UL); - __e_acsl_full_init((void *)(& n)); - } - return; -} - -void __e_acsl_globals_clean(void) -{ - __e_acsl_delete_block((void *)(& n)); - return; -} - int main(int argc, char **argv) { int __retres; __e_acsl_memory_init(& argc,& argv,8UL); - __e_acsl_globals_init(); argc = __gen_e_acsl_atoi((char const *)n); a = argc; __retres = 0; - __e_acsl_globals_clean(); __e_acsl_memory_clean(); return __retres; } +/*@ requires valid_nptr: valid_read_string(nptr); + assigns \result; + assigns \result + \from (indirect: nptr), (indirect: *(nptr + (0 .. strlen{Old}(nptr)))); + */ +int __gen_e_acsl_atoi(char const *nptr) +{ + int __retres; + __retres = atoi(nptr); + return __retres; +} + diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts2252.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts2252.c index b7f66a5f4e92a111c9cce23e2a5931a58bbd29fd..8be695d45b22f463ff59f911800447ce33636a1e 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts2252.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts2252.c @@ -134,7 +134,7 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src, __gen_e_acsl_assert_data_2.pred_txt = "\\valid(dest + (0 .. n - 1))"; __gen_e_acsl_assert_data_2.file = "FRAMAC_SHARE/libc/string.h"; __gen_e_acsl_assert_data_2.fct = "strncpy"; - __gen_e_acsl_assert_data_2.line = 380; + __gen_e_acsl_assert_data_2.line = 432; __gen_e_acsl_assert_data_2.name = "room_nstring"; __e_acsl_assert(__gen_e_acsl_valid,& __gen_e_acsl_assert_data_2); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2); @@ -166,7 +166,7 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src, __gen_e_acsl_assert_data_4.pred_txt = "\\valid_read(dest + (0 .. n - 1))"; __gen_e_acsl_assert_data_4.file = "FRAMAC_SHARE/libc/string.h"; __gen_e_acsl_assert_data_4.fct = "strncpy"; - __gen_e_acsl_assert_data_4.line = 382; + __gen_e_acsl_assert_data_4.line = 434; __gen_e_acsl_assert_data_4.name = "separated_guard"; __e_acsl_assert(__gen_e_acsl_valid_read,& __gen_e_acsl_assert_data_4); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4); @@ -196,7 +196,7 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src, __gen_e_acsl_assert_data_5.pred_txt = "\\valid_read(src + (0 .. n - 1))"; __gen_e_acsl_assert_data_5.file = "FRAMAC_SHARE/libc/string.h"; __gen_e_acsl_assert_data_5.fct = "strncpy"; - __gen_e_acsl_assert_data_5.line = 382; + __gen_e_acsl_assert_data_5.line = 434; __gen_e_acsl_assert_data_5.name = "separated_guard"; __e_acsl_assert(__gen_e_acsl_valid_read_2,& __gen_e_acsl_assert_data_5); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_5); @@ -242,7 +242,7 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src, __gen_e_acsl_assert_data_3.pred_txt = "\\separated(dest + (0 .. n - 1), src + (0 .. n - 1))"; __gen_e_acsl_assert_data_3.file = "FRAMAC_SHARE/libc/string.h"; __gen_e_acsl_assert_data_3.fct = "strncpy"; - __gen_e_acsl_assert_data_3.line = 382; + __gen_e_acsl_assert_data_3.line = 434; __gen_e_acsl_assert_data_3.name = "separation"; __e_acsl_assert(__gen_e_acsl_separated,& __gen_e_acsl_assert_data_3); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3); @@ -277,7 +277,7 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src, __gen_e_acsl_assert_data_6.pred_txt = "\\result == \\old(dest)"; __gen_e_acsl_assert_data_6.file = "FRAMAC_SHARE/libc/string.h"; __gen_e_acsl_assert_data_6.fct = "strncpy"; - __gen_e_acsl_assert_data_6.line = 385; + __gen_e_acsl_assert_data_6.line = 437; __gen_e_acsl_assert_data_6.name = "result_ptr"; __e_acsl_assert(__retres == __gen_e_acsl_at,& __gen_e_acsl_assert_data_6); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_6); @@ -324,7 +324,7 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src, __gen_e_acsl_assert_data_7.pred_txt = "\\initialized(\\old(dest) + (0 .. \\old(n) - 1))"; __gen_e_acsl_assert_data_7.file = "FRAMAC_SHARE/libc/string.h"; __gen_e_acsl_assert_data_7.fct = "strncpy"; - __gen_e_acsl_assert_data_7.line = 386; + __gen_e_acsl_assert_data_7.line = 438; __gen_e_acsl_assert_data_7.name = "initialization"; __e_acsl_assert(__gen_e_acsl_initialized,& __gen_e_acsl_assert_data_7); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_7); diff --git a/src/plugins/e-acsl/tests/bts/oracle/issue-eacsl-40.res.oracle b/src/plugins/e-acsl/tests/bts/oracle/issue-eacsl-40.res.oracle index 184cc7c43cb0d75f71518fbf5bb280f1f106c08c..96e87b4281599a62d57423f7c2349dfd86234f62 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/issue-eacsl-40.res.oracle +++ b/src/plugins/e-acsl/tests/bts/oracle/issue-eacsl-40.res.oracle @@ -10,7 +10,7 @@ Ignoring annotation. [e-acsl] FRAMAC_SHARE/libc/stdio.h:150: Warning: no assigns clause generated for function valid_read_string because pointers as arguments is not yet supported -[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:281: Warning: +[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:277: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. diff --git a/src/plugins/e-acsl/tests/builtin/oracle/gen_strcat.c b/src/plugins/e-acsl/tests/builtin/oracle/gen_strcat.c index 4b7638e94a5dcf4c5ad4f2e4c7a2c40e5efc0da5..a2904448f631c591cc7db3ec068c629ba59df762 100644 --- a/src/plugins/e-acsl/tests/builtin/oracle/gen_strcat.c +++ b/src/plugins/e-acsl/tests/builtin/oracle/gen_strcat.c @@ -792,7 +792,7 @@ void __gen_e_acsl_exit(int status) __gen_e_acsl_assert_data.pred_txt = "\\false"; __gen_e_acsl_assert_data.file = "FRAMAC_SHARE/libc/stdlib.h"; __gen_e_acsl_assert_data.fct = "exit"; - __gen_e_acsl_assert_data.line = 509; + __gen_e_acsl_assert_data.line = 541; __gen_e_acsl_assert_data.name = "never_terminates"; __e_acsl_assert(0,& __gen_e_acsl_assert_data); return; diff --git a/src/plugins/e-acsl/tests/builtin/oracle/gen_strcmp.c b/src/plugins/e-acsl/tests/builtin/oracle/gen_strcmp.c index 9c35a66cd700e4fb8ceffb736ce91231c9018973..aafae25a51c25baa8bb9bc3555cacf4f0deccc62 100644 --- a/src/plugins/e-acsl/tests/builtin/oracle/gen_strcmp.c +++ b/src/plugins/e-acsl/tests/builtin/oracle/gen_strcmp.c @@ -96,19 +96,20 @@ pid_t __gen_e_acsl_fork(void); allocates \result; behavior allocation: - assumes can_allocate: is_allocable(strlen(s)); - ensures allocation: \fresh{Old, Here}(\result,strlen(\old(s))); + assumes can_allocate: is_allocable(strlen(s) + 1); + ensures allocation: \fresh{Old, Here}(\result,strlen(\old(s)) + 1); ensures result_valid_string_and_same_contents: valid_string(\result) && strcmp(\result, \old(s)) == 0; assigns __fc_heap_status, \result; - assigns __fc_heap_status \from (indirect: s), __fc_heap_status; + assigns __fc_heap_status + \from __fc_heap_status, (indirect: *(s + (0 .. strlen{Old}(s)))); assigns \result \from (indirect: *(s + (0 .. strlen{Old}(s)))), (indirect: __fc_heap_status); behavior no_allocation: - assumes cannot_allocate: !is_allocable(strlen(s)); + assumes cannot_allocate: !is_allocable(strlen(s) + 1); ensures result_null: \result == \null; assigns \result; assigns \result \from \nothing; @@ -133,19 +134,20 @@ __inline static void fail_ncomp(int cond, char *fmt, int l, int r) allocates \result; behavior allocation: - assumes can_allocate: is_allocable(strlen(s)); - ensures allocation: \fresh{Old, Here}(\result,strlen(\old(s))); + assumes can_allocate: is_allocable(strlen(s) + 1); + ensures allocation: \fresh{Old, Here}(\result,strlen(\old(s)) + 1); ensures result_valid_string_and_same_contents: valid_string(\result) && strcmp(\result, \old(s)) == 0; assigns __fc_heap_status, \result; - assigns __fc_heap_status \from (indirect: s), __fc_heap_status; + assigns __fc_heap_status + \from __fc_heap_status, (indirect: *(s + (0 .. strlen{Old}(s)))); assigns \result \from (indirect: *(s + (0 .. strlen{Old}(s)))), (indirect: __fc_heap_status); behavior no_allocation: - assumes cannot_allocate: !is_allocable(strlen(s)); + assumes cannot_allocate: !is_allocable(strlen(s) + 1); ensures result_null: \result == \null; assigns \result; assigns \result \from \nothing; @@ -171,7 +173,7 @@ char *__gen_e_acsl_strdup(char const *s) __gen_e_acsl_assert_data_4.pred_txt = "\\result == \\null"; __gen_e_acsl_assert_data_4.file = "FRAMAC_SHARE/libc/string.h"; __gen_e_acsl_assert_data_4.fct = "strdup"; - __gen_e_acsl_assert_data_4.line = 498; + __gen_e_acsl_assert_data_4.line = 580; __gen_e_acsl_assert_data_4.name = "no_allocation/result_null"; __e_acsl_assert(__retres == (char *)0,& __gen_e_acsl_assert_data_4); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4); @@ -357,7 +359,7 @@ void __gen_e_acsl_exit(int status) __gen_e_acsl_assert_data.pred_txt = "\\false"; __gen_e_acsl_assert_data.file = "FRAMAC_SHARE/libc/stdlib.h"; __gen_e_acsl_assert_data.fct = "exit"; - __gen_e_acsl_assert_data.line = 509; + __gen_e_acsl_assert_data.line = 541; __gen_e_acsl_assert_data.name = "never_terminates"; __e_acsl_assert(0,& __gen_e_acsl_assert_data); return; @@ -379,7 +381,7 @@ void __gen_e_acsl_abort(void) __gen_e_acsl_assert_data.pred_txt = "\\false"; __gen_e_acsl_assert_data.file = "FRAMAC_SHARE/libc/stdlib.h"; __gen_e_acsl_assert_data.fct = "abort"; - __gen_e_acsl_assert_data.line = 496; + __gen_e_acsl_assert_data.line = 528; __gen_e_acsl_assert_data.name = "never_terminates"; __e_acsl_assert(0,& __gen_e_acsl_assert_data); return; diff --git a/src/plugins/e-acsl/tests/builtin/oracle/gen_strcpy.c b/src/plugins/e-acsl/tests/builtin/oracle/gen_strcpy.c index 6f9d70db13712a2040066f398ae45df61fb4fb55..4bdf04acd31d6212bcdc2b2de81a9f28e19b2922 100644 --- a/src/plugins/e-acsl/tests/builtin/oracle/gen_strcpy.c +++ b/src/plugins/e-acsl/tests/builtin/oracle/gen_strcpy.c @@ -81,19 +81,20 @@ pid_t __gen_e_acsl_fork(void); allocates \result; behavior allocation: - assumes can_allocate: is_allocable(strlen(s)); - ensures allocation: \fresh{Old, Here}(\result,strlen(\old(s))); + assumes can_allocate: is_allocable(strlen(s) + 1); + ensures allocation: \fresh{Old, Here}(\result,strlen(\old(s)) + 1); ensures result_valid_string_and_same_contents: valid_string(\result) && strcmp(\result, \old(s)) == 0; assigns __fc_heap_status, \result; - assigns __fc_heap_status \from (indirect: s), __fc_heap_status; + assigns __fc_heap_status + \from __fc_heap_status, (indirect: *(s + (0 .. strlen{Old}(s)))); assigns \result \from (indirect: *(s + (0 .. strlen{Old}(s)))), (indirect: __fc_heap_status); behavior no_allocation: - assumes cannot_allocate: !is_allocable(strlen(s)); + assumes cannot_allocate: !is_allocable(strlen(s) + 1); ensures result_null: \result == \null; assigns \result; assigns \result \from \nothing; @@ -547,19 +548,20 @@ void test_memory_tracking(void) allocates \result; behavior allocation: - assumes can_allocate: is_allocable(strlen(s)); - ensures allocation: \fresh{Old, Here}(\result,strlen(\old(s))); + assumes can_allocate: is_allocable(strlen(s) + 1); + ensures allocation: \fresh{Old, Here}(\result,strlen(\old(s)) + 1); ensures result_valid_string_and_same_contents: valid_string(\result) && strcmp(\result, \old(s)) == 0; assigns __fc_heap_status, \result; - assigns __fc_heap_status \from (indirect: s), __fc_heap_status; + assigns __fc_heap_status + \from __fc_heap_status, (indirect: *(s + (0 .. strlen{Old}(s)))); assigns \result \from (indirect: *(s + (0 .. strlen{Old}(s)))), (indirect: __fc_heap_status); behavior no_allocation: - assumes cannot_allocate: !is_allocable(strlen(s)); + assumes cannot_allocate: !is_allocable(strlen(s) + 1); ensures result_null: \result == \null; assigns \result; assigns \result \from \nothing; @@ -585,7 +587,7 @@ char *__gen_e_acsl_strdup(char const *s) __gen_e_acsl_assert_data_4.pred_txt = "\\result == \\null"; __gen_e_acsl_assert_data_4.file = "FRAMAC_SHARE/libc/string.h"; __gen_e_acsl_assert_data_4.fct = "strdup"; - __gen_e_acsl_assert_data_4.line = 498; + __gen_e_acsl_assert_data_4.line = 580; __gen_e_acsl_assert_data_4.name = "no_allocation/result_null"; __e_acsl_assert(__retres == (char *)0,& __gen_e_acsl_assert_data_4); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4); @@ -771,7 +773,7 @@ void __gen_e_acsl_exit(int status) __gen_e_acsl_assert_data.pred_txt = "\\false"; __gen_e_acsl_assert_data.file = "FRAMAC_SHARE/libc/stdlib.h"; __gen_e_acsl_assert_data.fct = "exit"; - __gen_e_acsl_assert_data.line = 509; + __gen_e_acsl_assert_data.line = 541; __gen_e_acsl_assert_data.name = "never_terminates"; __e_acsl_assert(0,& __gen_e_acsl_assert_data); return; diff --git a/src/plugins/e-acsl/tests/builtin/oracle/gen_strlen.c b/src/plugins/e-acsl/tests/builtin/oracle/gen_strlen.c index f664123b0263e0f30b360cc8c7c13fb9e86f93dd..e5c67b3fb3b1eb361f97809de5e41f5864b36fbd 100644 --- a/src/plugins/e-acsl/tests/builtin/oracle/gen_strlen.c +++ b/src/plugins/e-acsl/tests/builtin/oracle/gen_strlen.c @@ -79,19 +79,20 @@ pid_t __gen_e_acsl_fork(void); allocates \result; behavior allocation: - assumes can_allocate: is_allocable(strlen(s)); - ensures allocation: \fresh{Old, Here}(\result,strlen(\old(s))); + assumes can_allocate: is_allocable(strlen(s) + 1); + ensures allocation: \fresh{Old, Here}(\result,strlen(\old(s)) + 1); ensures result_valid_string_and_same_contents: valid_string(\result) && strcmp(\result, \old(s)) == 0; assigns __fc_heap_status, \result; - assigns __fc_heap_status \from (indirect: s), __fc_heap_status; + assigns __fc_heap_status + \from __fc_heap_status, (indirect: *(s + (0 .. strlen{Old}(s)))); assigns \result \from (indirect: *(s + (0 .. strlen{Old}(s)))), (indirect: __fc_heap_status); behavior no_allocation: - assumes cannot_allocate: !is_allocable(strlen(s)); + assumes cannot_allocate: !is_allocable(strlen(s) + 1); ensures result_null: \result == \null; assigns \result; assigns \result \from \nothing; @@ -107,19 +108,20 @@ char *__gen_e_acsl_strdup(char const *s); allocates \result; behavior allocation: - assumes can_allocate: is_allocable(strlen(s)); - ensures allocation: \fresh{Old, Here}(\result,strlen(\old(s))); + assumes can_allocate: is_allocable(strlen(s) + 1); + ensures allocation: \fresh{Old, Here}(\result,strlen(\old(s)) + 1); ensures result_valid_string_and_same_contents: valid_string(\result) && strcmp(\result, \old(s)) == 0; assigns __fc_heap_status, \result; - assigns __fc_heap_status \from (indirect: s), __fc_heap_status; + assigns __fc_heap_status + \from __fc_heap_status, (indirect: *(s + (0 .. strlen{Old}(s)))); assigns \result \from (indirect: *(s + (0 .. strlen{Old}(s)))), (indirect: __fc_heap_status); behavior no_allocation: - assumes cannot_allocate: !is_allocable(strlen(s)); + assumes cannot_allocate: !is_allocable(strlen(s) + 1); ensures result_null: \result == \null; assigns \result; assigns \result \from \nothing; @@ -145,7 +147,7 @@ char *__gen_e_acsl_strdup(char const *s) __gen_e_acsl_assert_data_4.pred_txt = "\\result == \\null"; __gen_e_acsl_assert_data_4.file = "FRAMAC_SHARE/libc/string.h"; __gen_e_acsl_assert_data_4.fct = "strdup"; - __gen_e_acsl_assert_data_4.line = 498; + __gen_e_acsl_assert_data_4.line = 580; __gen_e_acsl_assert_data_4.name = "no_allocation/result_null"; __e_acsl_assert(__retres == (char *)0,& __gen_e_acsl_assert_data_4); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4); @@ -331,7 +333,7 @@ void __gen_e_acsl_exit(int status) __gen_e_acsl_assert_data.pred_txt = "\\false"; __gen_e_acsl_assert_data.file = "FRAMAC_SHARE/libc/stdlib.h"; __gen_e_acsl_assert_data.fct = "exit"; - __gen_e_acsl_assert_data.line = 509; + __gen_e_acsl_assert_data.line = 541; __gen_e_acsl_assert_data.name = "never_terminates"; __e_acsl_assert(0,& __gen_e_acsl_assert_data); return; @@ -353,7 +355,7 @@ void __gen_e_acsl_abort(void) __gen_e_acsl_assert_data.pred_txt = "\\false"; __gen_e_acsl_assert_data.file = "FRAMAC_SHARE/libc/stdlib.h"; __gen_e_acsl_assert_data.fct = "abort"; - __gen_e_acsl_assert_data.line = 496; + __gen_e_acsl_assert_data.line = 528; __gen_e_acsl_assert_data.name = "never_terminates"; __e_acsl_assert(0,& __gen_e_acsl_assert_data); return; diff --git a/src/plugins/e-acsl/tests/builtin/oracle/strcat.res.oracle b/src/plugins/e-acsl/tests/builtin/oracle/strcat.res.oracle index 7f0d1b078e515df1319346ac4b3ced1735c9977d..d02d6247e7e134b8e18351ca759fc2f4024258fc 100644 --- a/src/plugins/e-acsl/tests/builtin/oracle/strcat.res.oracle +++ b/src/plugins/e-acsl/tests/builtin/oracle/strcat.res.oracle @@ -17,10 +17,10 @@ [e-acsl] FRAMAC_SHARE/libc/sys/wait.h:89: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:506: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:538: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:508: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:540: Warning: E-ACSL construct `abnormal termination case in behavior' is not yet supported. Ignoring annotation. diff --git a/src/plugins/e-acsl/tests/builtin/oracle/strcmp.res.oracle b/src/plugins/e-acsl/tests/builtin/oracle/strcmp.res.oracle index c5757eeb2476186670ecbd87134e9f890ddc23fd..bb53260a54ca0222e1bf8754fc5faeaed952d866 100644 --- a/src/plugins/e-acsl/tests/builtin/oracle/strcmp.res.oracle +++ b/src/plugins/e-acsl/tests/builtin/oracle/strcmp.res.oracle @@ -16,37 +16,37 @@ [e-acsl] Warning: annotating undefined function `strdup': the generated program may miss memory instrumentation if there are memory-related annotations. -[e-acsl] FRAMAC_SHARE/libc/string.h:484: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:564: Warning: E-ACSL construct `\fresh' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:484: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:565: Warning: no assigns clause generated for function valid_read_string because pointers as arguments is not yet supported -[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:281: Warning: +[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:277: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:488: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:569: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:495: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:577: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:484: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:564: Warning: Some assumes clauses could not be translated. Ignoring complete and disjoint behaviors annotations. -[e-acsl] FRAMAC_SHARE/libc/string.h:484: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:564: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:491: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:573: Warning: E-ACSL construct `\fresh' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:493: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:575: Warning: no assigns clause generated for function valid_string because pointers as arguments is not yet supported -[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:278: Warning: +[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:274: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:278: Warning: +[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:274: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. [e-acsl] FRAMAC_SHARE/libc/unistd.h:850: Warning: @@ -58,17 +58,17 @@ [e-acsl] FRAMAC_SHARE/libc/sys/wait.h:89: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:506: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:538: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:508: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:540: Warning: E-ACSL construct `abnormal termination case in behavior' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:493: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:525: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:495: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:527: Warning: E-ACSL construct `abnormal termination case in behavior' is not yet supported. Ignoring annotation. diff --git a/src/plugins/e-acsl/tests/builtin/oracle/strcpy.res.oracle b/src/plugins/e-acsl/tests/builtin/oracle/strcpy.res.oracle index 03b81f4802fa4f8e3ba5b51f4c87521e71b8e8bd..36773318ccf7f203c260c7eba876974ab4ffd741 100644 --- a/src/plugins/e-acsl/tests/builtin/oracle/strcpy.res.oracle +++ b/src/plugins/e-acsl/tests/builtin/oracle/strcpy.res.oracle @@ -11,37 +11,37 @@ [e-acsl] Warning: annotating undefined function `strdup': the generated program may miss memory instrumentation if there are memory-related annotations. -[e-acsl] FRAMAC_SHARE/libc/string.h:484: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:564: Warning: E-ACSL construct `\fresh' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:484: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:565: Warning: no assigns clause generated for function valid_read_string because pointers as arguments is not yet supported -[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:281: Warning: +[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:277: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:488: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:569: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:495: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:577: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:484: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:564: Warning: Some assumes clauses could not be translated. Ignoring complete and disjoint behaviors annotations. -[e-acsl] FRAMAC_SHARE/libc/string.h:484: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:564: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:491: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:573: Warning: E-ACSL construct `\fresh' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:493: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:575: Warning: no assigns clause generated for function valid_string because pointers as arguments is not yet supported -[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:278: Warning: +[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:274: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:278: Warning: +[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:274: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. [e-acsl] FRAMAC_SHARE/libc/unistd.h:850: Warning: @@ -53,10 +53,10 @@ [e-acsl] FRAMAC_SHARE/libc/sys/wait.h:89: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:506: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:538: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:508: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:540: Warning: E-ACSL construct `abnormal termination case in behavior' is not yet supported. Ignoring annotation. diff --git a/src/plugins/e-acsl/tests/builtin/oracle/strlen.res.oracle b/src/plugins/e-acsl/tests/builtin/oracle/strlen.res.oracle index 312005092277b3411904efc7842a3a6f846f38b4..ac28c649697dc770832a6a04fa11d5428795ea59 100644 --- a/src/plugins/e-acsl/tests/builtin/oracle/strlen.res.oracle +++ b/src/plugins/e-acsl/tests/builtin/oracle/strlen.res.oracle @@ -14,37 +14,37 @@ [e-acsl] Warning: annotating undefined function `strdup': the generated program may miss memory instrumentation if there are memory-related annotations. -[e-acsl] FRAMAC_SHARE/libc/string.h:484: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:564: Warning: E-ACSL construct `\fresh' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:484: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:565: Warning: no assigns clause generated for function valid_read_string because pointers as arguments is not yet supported -[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:281: Warning: +[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:277: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:488: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:569: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:495: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:577: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:484: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:564: Warning: Some assumes clauses could not be translated. Ignoring complete and disjoint behaviors annotations. -[e-acsl] FRAMAC_SHARE/libc/string.h:484: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:564: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:491: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:573: Warning: E-ACSL construct `\fresh' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:493: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:575: Warning: no assigns clause generated for function valid_string because pointers as arguments is not yet supported -[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:278: Warning: +[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:274: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:278: Warning: +[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:274: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. [e-acsl] FRAMAC_SHARE/libc/unistd.h:850: Warning: @@ -56,17 +56,17 @@ [e-acsl] FRAMAC_SHARE/libc/sys/wait.h:89: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:506: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:538: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:508: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:540: Warning: E-ACSL construct `abnormal termination case in behavior' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:493: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:525: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:495: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:527: Warning: E-ACSL construct `abnormal termination case in behavior' is not yet supported. Ignoring annotation. diff --git a/src/plugins/e-acsl/tests/concurrency/oracle/gen_parallel_threads.c b/src/plugins/e-acsl/tests/concurrency/oracle/gen_parallel_threads.c index 0b015a34965af1b60854b2680b95718c1bb533c1..b6d7187eb06f345b6ca05b9050c5228bdc916666 100644 --- a/src/plugins/e-acsl/tests/concurrency/oracle/gen_parallel_threads.c +++ b/src/plugins/e-acsl/tests/concurrency/oracle/gen_parallel_threads.c @@ -776,7 +776,7 @@ void __gen_e_acsl_exit(int status) __gen_e_acsl_assert_data.pred_txt = "\\false"; __gen_e_acsl_assert_data.file = "FRAMAC_SHARE/libc/stdlib.h"; __gen_e_acsl_assert_data.fct = "exit"; - __gen_e_acsl_assert_data.line = 509; + __gen_e_acsl_assert_data.line = 541; __gen_e_acsl_assert_data.name = "never_terminates"; __e_acsl_assert(0,& __gen_e_acsl_assert_data); __e_acsl_delete_block((void *)(& status)); diff --git a/src/plugins/e-acsl/tests/concurrency/oracle/gen_threads_debug.c b/src/plugins/e-acsl/tests/concurrency/oracle/gen_threads_debug.c index 038e1ab49bf714a185ab8ca15229e8be3d610bd8..0c907dc2092684eef4bb405398bbc031da8f396a 100644 --- a/src/plugins/e-acsl/tests/concurrency/oracle/gen_threads_debug.c +++ b/src/plugins/e-acsl/tests/concurrency/oracle/gen_threads_debug.c @@ -458,7 +458,7 @@ void __gen_e_acsl_exit(int status) __gen_e_acsl_assert_data.pred_txt = "\\false"; __gen_e_acsl_assert_data.file = "FRAMAC_SHARE/libc/stdlib.h"; __gen_e_acsl_assert_data.fct = "exit"; - __gen_e_acsl_assert_data.line = 509; + __gen_e_acsl_assert_data.line = 541; __gen_e_acsl_assert_data.name = "never_terminates"; __e_acsl_assert(0,& __gen_e_acsl_assert_data); __e_acsl_delete_block((void *)(& status)); diff --git a/src/plugins/e-acsl/tests/concurrency/oracle/parallel_threads.res.oracle b/src/plugins/e-acsl/tests/concurrency/oracle/parallel_threads.res.oracle index 15de4811925f5db10bf980a8b4578b0ec2855879..b9c6747f9dcc62461730f5687a175fbbec2c27e4 100644 --- a/src/plugins/e-acsl/tests/concurrency/oracle/parallel_threads.res.oracle +++ b/src/plugins/e-acsl/tests/concurrency/oracle/parallel_threads.res.oracle @@ -38,16 +38,16 @@ [e-acsl] FRAMAC_SHARE/libc/unistd.h:1149: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:506: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:538: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:508: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:540: Warning: E-ACSL construct `abnormal termination case in behavior' is not yet supported. Ignoring annotation. [e-acsl] FRAMAC_SHARE/libc/stdio.h:486: Warning: no assigns clause generated for function valid_read_string because pointers as arguments is not yet supported -[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:281: Warning: +[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:277: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. diff --git a/src/plugins/e-acsl/tests/concurrency/oracle/threads_debug.res.oracle b/src/plugins/e-acsl/tests/concurrency/oracle/threads_debug.res.oracle index 15de4811925f5db10bf980a8b4578b0ec2855879..b9c6747f9dcc62461730f5687a175fbbec2c27e4 100644 --- a/src/plugins/e-acsl/tests/concurrency/oracle/threads_debug.res.oracle +++ b/src/plugins/e-acsl/tests/concurrency/oracle/threads_debug.res.oracle @@ -38,16 +38,16 @@ [e-acsl] FRAMAC_SHARE/libc/unistd.h:1149: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:506: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:538: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:508: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:540: Warning: E-ACSL construct `abnormal termination case in behavior' is not yet supported. Ignoring annotation. [e-acsl] FRAMAC_SHARE/libc/stdio.h:486: Warning: no assigns clause generated for function valid_read_string because pointers as arguments is not yet supported -[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:281: Warning: +[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:277: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. diff --git a/src/plugins/e-acsl/tests/format/oracle/fprintf.res.oracle b/src/plugins/e-acsl/tests/format/oracle/fprintf.res.oracle index e0ab74f6877939800c04eb5fb874710696087aba..2dcda065ad345a25c446f7e441e3437171ce512c 100644 --- a/src/plugins/e-acsl/tests/format/oracle/fprintf.res.oracle +++ b/src/plugins/e-acsl/tests/format/oracle/fprintf.res.oracle @@ -23,10 +23,10 @@ [e-acsl] FRAMAC_SHARE/libc/sys/wait.h:89: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:506: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:538: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:508: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:540: Warning: E-ACSL construct `abnormal termination case in behavior' is not yet supported. Ignoring annotation. diff --git a/src/plugins/e-acsl/tests/format/oracle/gen_fprintf.c b/src/plugins/e-acsl/tests/format/oracle/gen_fprintf.c index 4a33bd3241df783d731134af5c29df82ca0b3ce8..7ea82209ac305bd902f1f1401d7e28553e6cb744 100644 --- a/src/plugins/e-acsl/tests/format/oracle/gen_fprintf.c +++ b/src/plugins/e-acsl/tests/format/oracle/gen_fprintf.c @@ -270,7 +270,7 @@ void __gen_e_acsl_exit(int status) __gen_e_acsl_assert_data.pred_txt = "\\false"; __gen_e_acsl_assert_data.file = "FRAMAC_SHARE/libc/stdlib.h"; __gen_e_acsl_assert_data.fct = "exit"; - __gen_e_acsl_assert_data.line = 509; + __gen_e_acsl_assert_data.line = 541; __gen_e_acsl_assert_data.name = "never_terminates"; __e_acsl_assert(0,& __gen_e_acsl_assert_data); return; diff --git a/src/plugins/e-acsl/tests/format/oracle/gen_printf.c b/src/plugins/e-acsl/tests/format/oracle/gen_printf.c index 126be8f248f48ba6ae34effa046ec38adb5938bd..3303e73fa2a01ff61f0f5f76a2c3ac0665b3a6c4 100644 --- a/src/plugins/e-acsl/tests/format/oracle/gen_printf.c +++ b/src/plugins/e-acsl/tests/format/oracle/gen_printf.c @@ -527,23 +527,21 @@ size_t __gen_e_acsl_strlen(char const *s); behavior found: assumes char_found: strchr(s, c) == \true; + ensures result_valid_string: valid_read_string(\result); ensures result_char: *\result == (char)\old(c); ensures result_same_base: \base_addr(\result) == \base_addr(\old(s)); ensures result_in_length: \old(s) <= \result <= \old(s) + strlen(\old(s)); - ensures result_valid_string: valid_read_string(\result); ensures - result_first_occur: + result_first_occurrence: \forall char *p; \old(s) <= p < \result ==> *p != (char)\old(c); behavior not_found: assumes char_not_found: !(strchr(s, c) == \true); ensures result_null: \result == \null; - behavior default: - ensures - result_null_or_same_base: - \result == \null || \base_addr(\result) == \base_addr(\old(s)); + complete behaviors not_found, found; + disjoint behaviors not_found, found; */ char *__gen_e_acsl_strchr(char const *s, int c); @@ -770,7 +768,7 @@ char *__gen_e_acsl_strcpy(char * restrict dest, char const * restrict src) __gen_e_acsl_assert_data_6.pred_txt = "__gen_e_acsl_strcpy_src_size + 1 <= 18446744073709551615"; __gen_e_acsl_assert_data_6.file = "FRAMAC_SHARE/libc/string.h"; __gen_e_acsl_assert_data_6.fct = "strcpy"; - __gen_e_acsl_assert_data_6.line = 367; + __gen_e_acsl_assert_data_6.line = 419; __gen_e_acsl_assert_data_6.name = "size_lesser_or_eq_than_SIZE_MAX"; __e_acsl_assert(__gen_e_acsl_le <= 0,& __gen_e_acsl_assert_data_6); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_6); @@ -793,7 +791,7 @@ char *__gen_e_acsl_strcpy(char * restrict dest, char const * restrict src) __gen_e_acsl_assert_data_8.pred_txt = "\\result == \\old(dest)"; __gen_e_acsl_assert_data_8.file = "FRAMAC_SHARE/libc/string.h"; __gen_e_acsl_assert_data_8.fct = "strcpy"; - __gen_e_acsl_assert_data_8.line = 374; + __gen_e_acsl_assert_data_8.line = 426; __gen_e_acsl_assert_data_8.name = "result_ptr"; __e_acsl_assert(__retres == __gen_e_acsl_at,& __gen_e_acsl_assert_data_8); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_8); @@ -810,23 +808,21 @@ char *__gen_e_acsl_strcpy(char * restrict dest, char const * restrict src) behavior found: assumes char_found: strchr(s, c) == \true; + ensures result_valid_string: valid_read_string(\result); ensures result_char: *\result == (char)\old(c); ensures result_same_base: \base_addr(\result) == \base_addr(\old(s)); ensures result_in_length: \old(s) <= \result <= \old(s) + strlen(\old(s)); - ensures result_valid_string: valid_read_string(\result); ensures - result_first_occur: + result_first_occurrence: \forall char *p; \old(s) <= p < \result ==> *p != (char)\old(c); behavior not_found: assumes char_not_found: !(strchr(s, c) == \true); ensures result_null: \result == \null; - behavior default: - ensures - result_null_or_same_base: - \result == \null || \base_addr(\result) == \base_addr(\old(s)); + complete behaviors not_found, found; + disjoint behaviors not_found, found; */ char *__gen_e_acsl_strchr(char const *s, int c) { @@ -838,8 +834,7 @@ char *__gen_e_acsl_strchr(char const *s, int c) __e_acsl_store_block((void *)(& s),8UL); __gen_e_acsl_at = s; __gen_e_acsl_at_2 = c; - __gen_e_acsl_contract = __e_acsl_contract_init(3UL); - __e_acsl_contract_set_behavior_assumes(__gen_e_acsl_contract,2UL,1); + __gen_e_acsl_contract = __e_acsl_contract_init(2UL); __retres = strchr(s,c); { int __gen_e_acsl_assumes_value; @@ -850,15 +845,15 @@ char *__gen_e_acsl_strchr(char const *s, int c) int __gen_e_acsl_and; void *__gen_e_acsl_base_addr; void *__gen_e_acsl_base_addr_2; - __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = - {.values = (void *)0}; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = + {.values = (void *)0}; __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& __retres), sizeof(char *)); - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"&__retres", + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"&__retres", (void *)(& __retres)); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(char *)",0,sizeof(char *)); if (__gen_e_acsl_initialized) { int __gen_e_acsl_valid_read; @@ -866,56 +861,56 @@ char *__gen_e_acsl_strchr(char const *s, int c) sizeof(char), (void *)__retres, (void *)(& __retres)); - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"__retres", + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"__retres", (void *)__retres); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(char)",0,sizeof(char)); __gen_e_acsl_and = __gen_e_acsl_valid_read; } else __gen_e_acsl_and = 0; - __gen_e_acsl_assert_data_3.blocking = 1; - __gen_e_acsl_assert_data_3.kind = "RTE"; - __gen_e_acsl_assert_data_3.pred_txt = "\\valid_read(__retres)"; - __gen_e_acsl_assert_data_3.file = "FRAMAC_SHARE/libc/string.h"; - __gen_e_acsl_assert_data_3.fct = "strchr"; - __gen_e_acsl_assert_data_3.line = 177; - __gen_e_acsl_assert_data_3.name = "mem_access"; - __e_acsl_assert(__gen_e_acsl_and,& __gen_e_acsl_assert_data_3); - __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3); - __e_acsl_assert_register_char(& __gen_e_acsl_assert_data_2,"*\\result", + __gen_e_acsl_assert_data_4.blocking = 1; + __gen_e_acsl_assert_data_4.kind = "RTE"; + __gen_e_acsl_assert_data_4.pred_txt = "\\valid_read(__retres)"; + __gen_e_acsl_assert_data_4.file = "FRAMAC_SHARE/libc/string.h"; + __gen_e_acsl_assert_data_4.fct = "strchr"; + __gen_e_acsl_assert_data_4.line = 198; + __gen_e_acsl_assert_data_4.name = "mem_access"; + __e_acsl_assert(__gen_e_acsl_and,& __gen_e_acsl_assert_data_4); + __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4); + __e_acsl_assert_register_char(& __gen_e_acsl_assert_data_3,"*\\result", 0,*__retres); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"\\old(c)",0, + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"\\old(c)",0, __gen_e_acsl_at_2); - __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = + __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; __gen_e_acsl_base_addr = __e_acsl_base_addr((void *)__retres); __gen_e_acsl_base_addr_2 = __e_acsl_base_addr((void *)__gen_e_acsl_at); - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4, + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5, "\\base_addr(\\result)", __gen_e_acsl_base_addr); - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4, + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5, "\\base_addr(\\old(s))", __gen_e_acsl_base_addr_2); - __gen_e_acsl_assert_data_4.blocking = 1; - __gen_e_acsl_assert_data_4.kind = "Postcondition"; - __gen_e_acsl_assert_data_4.pred_txt = "\\base_addr(\\result) == \\base_addr(\\old(s))"; - __gen_e_acsl_assert_data_4.file = "FRAMAC_SHARE/libc/string.h"; - __gen_e_acsl_assert_data_4.fct = "strchr"; - __gen_e_acsl_assert_data_4.line = 178; - __gen_e_acsl_assert_data_4.name = "found/result_same_base"; + __gen_e_acsl_assert_data_5.blocking = 1; + __gen_e_acsl_assert_data_5.kind = "Postcondition"; + __gen_e_acsl_assert_data_5.pred_txt = "\\base_addr(\\result) == \\base_addr(\\old(s))"; + __gen_e_acsl_assert_data_5.file = "FRAMAC_SHARE/libc/string.h"; + __gen_e_acsl_assert_data_5.fct = "strchr"; + __gen_e_acsl_assert_data_5.line = 199; + __gen_e_acsl_assert_data_5.name = "found/result_same_base"; __e_acsl_assert(__gen_e_acsl_base_addr == __gen_e_acsl_base_addr_2, - & __gen_e_acsl_assert_data_4); - __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4); - __gen_e_acsl_assert_data_2.blocking = 1; - __gen_e_acsl_assert_data_2.kind = "Postcondition"; - __gen_e_acsl_assert_data_2.pred_txt = "*\\result == (char)\\old(c)"; - __gen_e_acsl_assert_data_2.file = "FRAMAC_SHARE/libc/string.h"; - __gen_e_acsl_assert_data_2.fct = "strchr"; - __gen_e_acsl_assert_data_2.line = 177; - __gen_e_acsl_assert_data_2.name = "found/result_char"; + & __gen_e_acsl_assert_data_5); + __e_acsl_assert_clean(& __gen_e_acsl_assert_data_5); + __gen_e_acsl_assert_data_3.blocking = 1; + __gen_e_acsl_assert_data_3.kind = "Postcondition"; + __gen_e_acsl_assert_data_3.pred_txt = "*\\result == (char)\\old(c)"; + __gen_e_acsl_assert_data_3.file = "FRAMAC_SHARE/libc/string.h"; + __gen_e_acsl_assert_data_3.fct = "strchr"; + __gen_e_acsl_assert_data_3.line = 198; + __gen_e_acsl_assert_data_3.name = "found/result_char"; __e_acsl_assert((int)*__retres == (int)((char)__gen_e_acsl_at_2), - & __gen_e_acsl_assert_data_2); - __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2); + & __gen_e_acsl_assert_data_3); + __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3); } __gen_e_acsl_assumes_value = __e_acsl_contract_get_behavior_assumes ((__e_acsl_contract_t const *)__gen_e_acsl_contract,1UL); @@ -929,43 +924,11 @@ char *__gen_e_acsl_strchr(char const *s, int c) __gen_e_acsl_assert_data_8.pred_txt = "\\result == \\null"; __gen_e_acsl_assert_data_8.file = "FRAMAC_SHARE/libc/string.h"; __gen_e_acsl_assert_data_8.fct = "strchr"; - __gen_e_acsl_assert_data_8.line = 184; + __gen_e_acsl_assert_data_8.line = 205; __gen_e_acsl_assert_data_8.name = "not_found/result_null"; __e_acsl_assert(__retres == (char *)0,& __gen_e_acsl_assert_data_8); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_8); } - __gen_e_acsl_assumes_value = __e_acsl_contract_get_behavior_assumes - ((__e_acsl_contract_t const *)__gen_e_acsl_contract,2UL); - if (__gen_e_acsl_assumes_value) { - int __gen_e_acsl_or; - __e_acsl_assert_data_t __gen_e_acsl_assert_data_9 = - {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9,"\\result", - (void *)__retres); - if (__retres == (char *)0) __gen_e_acsl_or = 1; - else { - void *__gen_e_acsl_base_addr_3; - void *__gen_e_acsl_base_addr_4; - __gen_e_acsl_base_addr_3 = __e_acsl_base_addr((void *)__retres); - __gen_e_acsl_base_addr_4 = __e_acsl_base_addr((void *)__gen_e_acsl_at); - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9, - "\\base_addr(\\result)", - __gen_e_acsl_base_addr_3); - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9, - "\\base_addr(\\old(s))", - __gen_e_acsl_base_addr_4); - __gen_e_acsl_or = __gen_e_acsl_base_addr_3 == __gen_e_acsl_base_addr_4; - } - __gen_e_acsl_assert_data_9.blocking = 1; - __gen_e_acsl_assert_data_9.kind = "Postcondition"; - __gen_e_acsl_assert_data_9.pred_txt = "\\result == \\null || \\base_addr(\\result) == \\base_addr(\\old(s))"; - __gen_e_acsl_assert_data_9.file = "FRAMAC_SHARE/libc/string.h"; - __gen_e_acsl_assert_data_9.fct = "strchr"; - __gen_e_acsl_assert_data_9.line = 187; - __gen_e_acsl_assert_data_9.name = "default/result_null_or_same_base"; - __e_acsl_assert(__gen_e_acsl_or,& __gen_e_acsl_assert_data_9); - __e_acsl_assert_clean(& __gen_e_acsl_assert_data_9); - } __e_acsl_contract_clean(__gen_e_acsl_contract); __e_acsl_delete_block((void *)(& s)); __e_acsl_delete_block((void *)(& __retres)); @@ -1163,7 +1126,7 @@ void __gen_e_acsl_exit(int status) __gen_e_acsl_assert_data.pred_txt = "\\false"; __gen_e_acsl_assert_data.file = "FRAMAC_SHARE/libc/stdlib.h"; __gen_e_acsl_assert_data.fct = "exit"; - __gen_e_acsl_assert_data.line = 509; + __gen_e_acsl_assert_data.line = 541; __gen_e_acsl_assert_data.name = "never_terminates"; __e_acsl_assert(0,& __gen_e_acsl_assert_data); return; @@ -1185,7 +1148,7 @@ void __gen_e_acsl_abort(void) __gen_e_acsl_assert_data.pred_txt = "\\false"; __gen_e_acsl_assert_data.file = "FRAMAC_SHARE/libc/stdlib.h"; __gen_e_acsl_assert_data.fct = "abort"; - __gen_e_acsl_assert_data.line = 496; + __gen_e_acsl_assert_data.line = 528; __gen_e_acsl_assert_data.name = "never_terminates"; __e_acsl_assert(0,& __gen_e_acsl_assert_data); return; diff --git a/src/plugins/e-acsl/tests/format/oracle/printf.res.oracle b/src/plugins/e-acsl/tests/format/oracle/printf.res.oracle index 7985a51f133c31c024c129b5931b94976ccb3dcb..f1fb00a4f419b1851860644c64ce7b4d8d08a532 100644 --- a/src/plugins/e-acsl/tests/format/oracle/printf.res.oracle +++ b/src/plugins/e-acsl/tests/format/oracle/printf.res.oracle @@ -20,64 +20,64 @@ [e-acsl] Warning: annotating undefined function `strchr': the generated program may miss memory instrumentation if there are memory-related annotations. -[e-acsl] FRAMAC_SHARE/libc/string.h:367: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:419: Warning: no assigns clause generated for function valid_read_string because pointers as arguments is not yet supported -[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:281: Warning: +[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:277: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:368: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:420: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:370: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:422: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:367: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:419: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:373: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:425: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:173: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:193: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:176: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:196: Warning: E-ACSL construct `datacons' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:183: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:204: Warning: E-ACSL construct `datacons' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:173: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:192: Warning: Some assumes clauses could not be translated. Ignoring complete and disjoint behaviors annotations. -[e-acsl] FRAMAC_SHARE/libc/string.h:173: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:192: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:179: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:197: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:180: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:200: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:181: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:202: Warning: E-ACSL construct `non integer variable p in quantification - found: result_first_occur: + found: result_first_occurrence: \forall char *p; \old(s) <= p < \result ==> *p != (char)\old(c)' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:141: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:158: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:141: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:158: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:143: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:160: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. @@ -90,17 +90,17 @@ [e-acsl] FRAMAC_SHARE/libc/sys/wait.h:89: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:506: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:538: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:508: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:540: Warning: E-ACSL construct `abnormal termination case in behavior' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:493: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:525: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:495: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:527: Warning: E-ACSL construct `abnormal termination case in behavior' is not yet supported. Ignoring annotation. diff --git a/src/plugins/e-acsl/tests/libc/oracle/file.res.oracle b/src/plugins/e-acsl/tests/libc/oracle/file.res.oracle index 8dca9f2bac2c97a2596b057ccf813cdcda652172..37368c20591586b5389598157a929a0270e414d4 100644 --- a/src/plugins/e-acsl/tests/libc/oracle/file.res.oracle +++ b/src/plugins/e-acsl/tests/libc/oracle/file.res.oracle @@ -10,7 +10,7 @@ Ignoring annotation. [e-acsl] FRAMAC_SHARE/libc/stdio.h:150: Warning: no assigns clause generated for function valid_read_string because pointers as arguments is not yet supported -[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:281: Warning: +[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:277: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. diff --git a/src/plugins/e-acsl/tests/libc/oracle/gen_mem.c b/src/plugins/e-acsl/tests/libc/oracle/gen_mem.c index 9dcfda774c490f2b6e89ec4769a2c9f5fa6b67f1..32abf0b9b66fd9826f2f2341ac33d477707ef7e4 100644 --- a/src/plugins/e-acsl/tests/libc/oracle/gen_mem.c +++ b/src/plugins/e-acsl/tests/libc/oracle/gen_mem.c @@ -416,7 +416,7 @@ void *__gen_e_acsl_memset(void *s, int c, size_t n) __gen_e_acsl_assert_data_3.pred_txt = "\\result == \\old(s)"; __gen_e_acsl_assert_data_3.file = "FRAMAC_SHARE/libc/string.h"; __gen_e_acsl_assert_data_3.fct = "memset"; - __gen_e_acsl_assert_data_3.line = 135; + __gen_e_acsl_assert_data_3.line = 152; __gen_e_acsl_assert_data_3.name = "result_ptr"; __e_acsl_assert(__retres == __gen_e_acsl_at,& __gen_e_acsl_assert_data_3); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3); @@ -458,7 +458,7 @@ void *__gen_e_acsl_memmove(void *dest, void const *src, size_t n) __gen_e_acsl_assert_data_4.pred_txt = "\\result == \\old(dest)"; __gen_e_acsl_assert_data_4.file = "FRAMAC_SHARE/libc/string.h"; __gen_e_acsl_assert_data_4.fct = "memmove"; - __gen_e_acsl_assert_data_4.line = 125; + __gen_e_acsl_assert_data_4.line = 142; __gen_e_acsl_assert_data_4.name = "result_ptr"; __e_acsl_assert(__retres == __gen_e_acsl_at,& __gen_e_acsl_assert_data_4); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4); @@ -555,7 +555,7 @@ void *__gen_e_acsl_memcpy(void * restrict dest, void const * restrict src, __gen_e_acsl_assert_data_4.pred_txt = "\\valid_read((char *)dest + (0 .. n - 1))"; __gen_e_acsl_assert_data_4.file = "FRAMAC_SHARE/libc/string.h"; __gen_e_acsl_assert_data_4.fct = "memcpy"; - __gen_e_acsl_assert_data_4.line = 98; + __gen_e_acsl_assert_data_4.line = 115; __gen_e_acsl_assert_data_4.name = "separated_guard"; __e_acsl_assert(__gen_e_acsl_valid_read,& __gen_e_acsl_assert_data_4); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4); @@ -586,7 +586,7 @@ void *__gen_e_acsl_memcpy(void * restrict dest, void const * restrict src, __gen_e_acsl_assert_data_5.pred_txt = "\\valid_read((char *)src + (0 .. n - 1))"; __gen_e_acsl_assert_data_5.file = "FRAMAC_SHARE/libc/string.h"; __gen_e_acsl_assert_data_5.fct = "memcpy"; - __gen_e_acsl_assert_data_5.line = 98; + __gen_e_acsl_assert_data_5.line = 115; __gen_e_acsl_assert_data_5.name = "separated_guard"; __e_acsl_assert(__gen_e_acsl_valid_read_2,& __gen_e_acsl_assert_data_5); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_5); @@ -631,7 +631,7 @@ void *__gen_e_acsl_memcpy(void * restrict dest, void const * restrict src, __gen_e_acsl_assert_data_3.pred_txt = "\\separated((char *)dest + (0 .. n - 1), (char *)src + (0 .. n - 1))"; __gen_e_acsl_assert_data_3.file = "FRAMAC_SHARE/libc/string.h"; __gen_e_acsl_assert_data_3.fct = "memcpy"; - __gen_e_acsl_assert_data_3.line = 98; + __gen_e_acsl_assert_data_3.line = 115; __gen_e_acsl_assert_data_3.name = "separation"; __e_acsl_assert(__gen_e_acsl_separated,& __gen_e_acsl_assert_data_3); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3); @@ -656,7 +656,7 @@ void *__gen_e_acsl_memcpy(void * restrict dest, void const * restrict src, __gen_e_acsl_assert_data_7.pred_txt = "\\result == \\old(dest)"; __gen_e_acsl_assert_data_7.file = "FRAMAC_SHARE/libc/string.h"; __gen_e_acsl_assert_data_7.fct = "memcpy"; - __gen_e_acsl_assert_data_7.line = 102; + __gen_e_acsl_assert_data_7.line = 119; __gen_e_acsl_assert_data_7.name = "result_ptr"; __e_acsl_assert(__retres == __gen_e_acsl_at,& __gen_e_acsl_assert_data_7); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_7); diff --git a/src/plugins/e-acsl/tests/libc/oracle/gen_str.c b/src/plugins/e-acsl/tests/libc/oracle/gen_str.c index fc05792a9c2ad847b978f1c86f4e42f72ebea15c..3489f579ec4b0249d9064a074072cae93e37035c 100644 --- a/src/plugins/e-acsl/tests/libc/oracle/gen_str.c +++ b/src/plugins/e-acsl/tests/libc/oracle/gen_str.c @@ -48,6 +48,11 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src, /*@ requires valid_string_src: valid_read_string(src); requires valid_string_dest: valid_string(dest); requires room_string: \valid(dest + (0 .. strlen(dest) + strlen(src))); + requires + separation: + \separated( + dest + (0 .. strlen(dest) + strlen(src)), src + (0 .. strlen(src)) + ); ensures sum_of_lengths: strlen(\old(dest)) == \old(strlen(dest) + strlen(src)); ensures @@ -69,15 +74,20 @@ char *__gen_e_acsl_strcat(char * restrict dest, char const * restrict src); /*@ requires valid_nstring_src: valid_read_nstring(src, n); requires valid_string_dest: valid_string(dest); + requires + separation: + \separated( + dest + (0 .. strlen(dest) + strnlen(src, n)), + src + (0 .. strnlen(src, n)) + ); ensures result_ptr: \result == \old(dest); assigns *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + n)), \result; assigns *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + n)) - \from *(src + (0 .. n)); + \from *(src + (0 .. n - 1)); assigns \result \from dest; behavior complete: - assumes - valid_string_src_fits: valid_read_string(src) && strlen(src) <= n; + assumes src_fits: strnlen(src, n) < n; requires room_string: \valid((dest + strlen(dest)) + (0 .. strlen(src))); ensures @@ -88,13 +98,11 @@ char *__gen_e_acsl_strcat(char * restrict dest, char const * restrict src); \result; assigns *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + strlen{Old}(src))) - \from *(src + (0 .. strlen{Old}(src))); + \from *(src + (0 .. strlen{Old}(src) - 1)); assigns \result \from dest; behavior partial: - assumes - valid_string_src_too_large: - !(valid_read_string(src) && strlen(src) <= n); + assumes src_too_large: strnlen(src, n) == n; requires room_string: \valid((dest + strlen(dest)) + (0 .. n)); ensures sum_of_bounded_lengths: @@ -102,23 +110,31 @@ char *__gen_e_acsl_strcat(char * restrict dest, char const * restrict src); assigns *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + n)), \result; assigns *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + n)) - \from *(src + (0 .. strlen{Old}(src))); + \from *(src + (0 .. n - 1)); assigns \result \from dest; + + complete behaviors partial, complete; + disjoint behaviors partial, complete; */ char *__gen_e_acsl_strncat(char * restrict dest, char const * restrict src, size_t n); /*@ requires valid_nstring_src: valid_read_nstring(src, n); requires valid_string_dest: valid_string(dest); + requires + separation: + \separated( + dest + (0 .. strlen(dest) + strnlen(src, n)), + src + (0 .. strnlen(src, n)) + ); ensures result_ptr: \result == \old(dest); assigns *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + n)), \result; assigns *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + n)) - \from *(src + (0 .. n)); + \from *(src + (0 .. n - 1)); assigns \result \from dest; behavior complete: - assumes - valid_string_src_fits: valid_read_string(src) && strlen(src) <= n; + assumes src_fits: strnlen(src, n) < n; requires room_string: \valid((dest + strlen(dest)) + (0 .. strlen(src))); ensures @@ -129,13 +145,11 @@ char *__gen_e_acsl_strncat(char * restrict dest, char const * restrict src, \result; assigns *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + strlen{Old}(src))) - \from *(src + (0 .. strlen{Old}(src))); + \from *(src + (0 .. strlen{Old}(src) - 1)); assigns \result \from dest; behavior partial: - assumes - valid_string_src_too_large: - !(valid_read_string(src) && strlen(src) <= n); + assumes src_too_large: strnlen(src, n) == n; requires room_string: \valid((dest + strlen(dest)) + (0 .. n)); ensures sum_of_bounded_lengths: @@ -143,8 +157,11 @@ char *__gen_e_acsl_strncat(char * restrict dest, char const * restrict src, assigns *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + n)), \result; assigns *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + n)) - \from *(src + (0 .. strlen{Old}(src))); + \from *(src + (0 .. n - 1)); assigns \result \from dest; + + complete behaviors partial, complete; + disjoint behaviors partial, complete; */ char *__gen_e_acsl_strncat(char * restrict dest, char const * restrict src, size_t n) @@ -154,6 +171,7 @@ char *__gen_e_acsl_strncat(char * restrict dest, char const * restrict src, __e_acsl_contract_t *__gen_e_acsl_contract; char *__gen_e_acsl_at; char *__retres; + __e_acsl_store_block((void *)(& src),8UL); __e_acsl_store_block((void *)(& dest),8UL); __gen_e_acsl_at = dest; __gen_e_acsl_contract = __e_acsl_contract_init(2UL); @@ -169,8 +187,8 @@ char *__gen_e_acsl_strncat(char * restrict dest, char const * restrict src, __e_acsl_mpz_t __gen_e_acsl_add_2; __e_acsl_mpz_t __gen_e_acsl__2; int __gen_e_acsl_le; - unsigned long __gen_e_acsl_size; - __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = + unsigned long __gen_e_acsl_size_2; + __e_acsl_assert_data_t __gen_e_acsl_assert_data_8 = {.values = (void *)0}; __gmpz_init_set_ui(__gen_e_acsl_strcat_src_size_2, __gen_e_acsl_strcat_src_size); @@ -188,23 +206,23 @@ char *__gen_e_acsl_strncat(char * restrict dest, char const * restrict src, __gmpz_init_set_ui(__gen_e_acsl__2,18446744073709551615UL); __gen_e_acsl_le = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_add_2), (__e_acsl_mpz_struct const *)(__gen_e_acsl__2)); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_8, "__gen_e_acsl_strcat_src_size",0, __gen_e_acsl_strcat_src_size); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_8, "__gen_e_acsl_strcat_dest_size",0, __gen_e_acsl_strcat_dest_size); - __gen_e_acsl_assert_data_5.blocking = 1; - __gen_e_acsl_assert_data_5.kind = "RTE"; - __gen_e_acsl_assert_data_5.pred_txt = "(__gen_e_acsl_strcat_src_size + __gen_e_acsl_strcat_dest_size) + 1 <=\n18446744073709551615"; - __gen_e_acsl_assert_data_5.file = "FRAMAC_SHARE/libc/string.h"; - __gen_e_acsl_assert_data_5.fct = "strncat"; - __gen_e_acsl_assert_data_5.line = 438; - __gen_e_acsl_assert_data_5.name = "size_lesser_or_eq_than_SIZE_MAX"; - __e_acsl_assert(__gen_e_acsl_le <= 0,& __gen_e_acsl_assert_data_5); - __e_acsl_assert_clean(& __gen_e_acsl_assert_data_5); - __gen_e_acsl_size = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_add_2)); - __e_acsl_initialize((void *)dest,__gen_e_acsl_size); + __gen_e_acsl_assert_data_8.blocking = 1; + __gen_e_acsl_assert_data_8.kind = "RTE"; + __gen_e_acsl_assert_data_8.pred_txt = "(__gen_e_acsl_strcat_src_size + __gen_e_acsl_strcat_dest_size) + 1 <=\n18446744073709551615"; + __gen_e_acsl_assert_data_8.file = "FRAMAC_SHARE/libc/string.h"; + __gen_e_acsl_assert_data_8.fct = "strncat"; + __gen_e_acsl_assert_data_8.line = 496; + __gen_e_acsl_assert_data_8.name = "size_lesser_or_eq_than_SIZE_MAX"; + __e_acsl_assert(__gen_e_acsl_le <= 0,& __gen_e_acsl_assert_data_8); + __e_acsl_assert_clean(& __gen_e_acsl_assert_data_8); + __gen_e_acsl_size_2 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_add_2)); + __e_acsl_initialize((void *)dest,__gen_e_acsl_size_2); __gmpz_clear(__gen_e_acsl_strcat_src_size_2); __gmpz_clear(__gen_e_acsl_strcat_dest_size_2); __gmpz_clear(__gen_e_acsl_add); @@ -213,22 +231,23 @@ char *__gen_e_acsl_strncat(char * restrict dest, char const * restrict src, __gmpz_clear(__gen_e_acsl__2); } { - __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = + __e_acsl_assert_data_t __gen_e_acsl_assert_data_9 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"\\result", + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9,"\\result", (void *)__retres); - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"\\old(dest)", + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9,"\\old(dest)", (void *)__gen_e_acsl_at); - __gen_e_acsl_assert_data_6.blocking = 1; - __gen_e_acsl_assert_data_6.kind = "Postcondition"; - __gen_e_acsl_assert_data_6.pred_txt = "\\result == \\old(dest)"; - __gen_e_acsl_assert_data_6.file = "FRAMAC_SHARE/libc/string.h"; - __gen_e_acsl_assert_data_6.fct = "strncat"; - __gen_e_acsl_assert_data_6.line = 443; - __gen_e_acsl_assert_data_6.name = "result_ptr"; - __e_acsl_assert(__retres == __gen_e_acsl_at,& __gen_e_acsl_assert_data_6); - __e_acsl_assert_clean(& __gen_e_acsl_assert_data_6); + __gen_e_acsl_assert_data_9.blocking = 1; + __gen_e_acsl_assert_data_9.kind = "Postcondition"; + __gen_e_acsl_assert_data_9.pred_txt = "\\result == \\old(dest)"; + __gen_e_acsl_assert_data_9.file = "FRAMAC_SHARE/libc/string.h"; + __gen_e_acsl_assert_data_9.fct = "strncat"; + __gen_e_acsl_assert_data_9.line = 504; + __gen_e_acsl_assert_data_9.name = "result_ptr"; + __e_acsl_assert(__retres == __gen_e_acsl_at,& __gen_e_acsl_assert_data_9); + __e_acsl_assert_clean(& __gen_e_acsl_assert_data_9); __e_acsl_contract_clean(__gen_e_acsl_contract); + __e_acsl_delete_block((void *)(& src)); __e_acsl_delete_block((void *)(& dest)); return __retres; } @@ -237,6 +256,11 @@ char *__gen_e_acsl_strncat(char * restrict dest, char const * restrict src, /*@ requires valid_string_src: valid_read_string(src); requires valid_string_dest: valid_string(dest); requires room_string: \valid(dest + (0 .. strlen(dest) + strlen(src))); + requires + separation: + \separated( + dest + (0 .. strlen(dest) + strlen(src)), src + (0 .. strlen(src)) + ); ensures sum_of_lengths: strlen(\old(dest)) == \old(strlen(dest) + strlen(src)); ensures @@ -260,6 +284,7 @@ char *__gen_e_acsl_strcat(char * restrict dest, char const * restrict src) unsigned long __gen_e_acsl_strcat_src_size; char *__gen_e_acsl_at; char *__retres; + __e_acsl_store_block((void *)(& src),8UL); __e_acsl_store_block((void *)(& dest),8UL); __gen_e_acsl_at = dest; __gen_e_acsl_strcat_src_size = __e_acsl_builtin_strlen(src); @@ -274,7 +299,7 @@ char *__gen_e_acsl_strcat(char * restrict dest, char const * restrict src) __e_acsl_mpz_t __gen_e_acsl__2; int __gen_e_acsl_le; unsigned long __gen_e_acsl_size; - __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = + __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 = {.values = (void *)0}; __gmpz_init_set_ui(__gen_e_acsl_strcat_src_size_2, __gen_e_acsl_strcat_src_size); @@ -292,21 +317,21 @@ char *__gen_e_acsl_strcat(char * restrict dest, char const * restrict src) __gmpz_init_set_ui(__gen_e_acsl__2,18446744073709551615UL); __gen_e_acsl_le = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_add_2), (__e_acsl_mpz_struct const *)(__gen_e_acsl__2)); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7, "__gen_e_acsl_strcat_src_size",0, __gen_e_acsl_strcat_src_size); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7, "__gen_e_acsl_strcat_dest_size",0, __gen_e_acsl_strcat_dest_size); - __gen_e_acsl_assert_data_4.blocking = 1; - __gen_e_acsl_assert_data_4.kind = "RTE"; - __gen_e_acsl_assert_data_4.pred_txt = "(__gen_e_acsl_strcat_src_size + __gen_e_acsl_strcat_dest_size) + 1 <=\n18446744073709551615"; - __gen_e_acsl_assert_data_4.file = "FRAMAC_SHARE/libc/string.h"; - __gen_e_acsl_assert_data_4.fct = "strcat"; - __gen_e_acsl_assert_data_4.line = 423; - __gen_e_acsl_assert_data_4.name = "size_lesser_or_eq_than_SIZE_MAX"; - __e_acsl_assert(__gen_e_acsl_le <= 0,& __gen_e_acsl_assert_data_4); - __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4); + __gen_e_acsl_assert_data_7.blocking = 1; + __gen_e_acsl_assert_data_7.kind = "RTE"; + __gen_e_acsl_assert_data_7.pred_txt = "(__gen_e_acsl_strcat_src_size + __gen_e_acsl_strcat_dest_size) + 1 <=\n18446744073709551615"; + __gen_e_acsl_assert_data_7.file = "FRAMAC_SHARE/libc/string.h"; + __gen_e_acsl_assert_data_7.fct = "strcat"; + __gen_e_acsl_assert_data_7.line = 475; + __gen_e_acsl_assert_data_7.name = "size_lesser_or_eq_than_SIZE_MAX"; + __e_acsl_assert(__gen_e_acsl_le <= 0,& __gen_e_acsl_assert_data_7); + __e_acsl_assert_clean(& __gen_e_acsl_assert_data_7); __gen_e_acsl_size = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_add_2)); __e_acsl_initialize((void *)dest,__gen_e_acsl_size); __gmpz_clear(__gen_e_acsl_strcat_src_size_2); @@ -317,21 +342,23 @@ char *__gen_e_acsl_strcat(char * restrict dest, char const * restrict src) __gmpz_clear(__gen_e_acsl__2); } { - __e_acsl_assert_data_t __gen_e_acsl_assert_data_8 = + __e_acsl_assert_data_t __gen_e_acsl_assert_data_11 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_8,"\\result", + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_11,"\\result", (void *)__retres); - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_8,"\\old(dest)", + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_11,"\\old(dest)", (void *)__gen_e_acsl_at); - __gen_e_acsl_assert_data_8.blocking = 1; - __gen_e_acsl_assert_data_8.kind = "Postcondition"; - __gen_e_acsl_assert_data_8.pred_txt = "\\result == \\old(dest)"; - __gen_e_acsl_assert_data_8.file = "FRAMAC_SHARE/libc/string.h"; - __gen_e_acsl_assert_data_8.fct = "strcat"; - __gen_e_acsl_assert_data_8.line = 434; - __gen_e_acsl_assert_data_8.name = "result_ptr"; - __e_acsl_assert(__retres == __gen_e_acsl_at,& __gen_e_acsl_assert_data_8); - __e_acsl_assert_clean(& __gen_e_acsl_assert_data_8); + __gen_e_acsl_assert_data_11.blocking = 1; + __gen_e_acsl_assert_data_11.kind = "Postcondition"; + __gen_e_acsl_assert_data_11.pred_txt = "\\result == \\old(dest)"; + __gen_e_acsl_assert_data_11.file = "FRAMAC_SHARE/libc/string.h"; + __gen_e_acsl_assert_data_11.fct = "strcat"; + __gen_e_acsl_assert_data_11.line = 488; + __gen_e_acsl_assert_data_11.name = "result_ptr"; + __e_acsl_assert(__retres == __gen_e_acsl_at, + & __gen_e_acsl_assert_data_11); + __e_acsl_assert_clean(& __gen_e_acsl_assert_data_11); + __e_acsl_delete_block((void *)(& src)); __e_acsl_delete_block((void *)(& dest)); return __retres; } @@ -439,7 +466,7 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src, __gen_e_acsl_assert_data_2.pred_txt = "\\valid(dest + (0 .. n - 1))"; __gen_e_acsl_assert_data_2.file = "FRAMAC_SHARE/libc/string.h"; __gen_e_acsl_assert_data_2.fct = "strncpy"; - __gen_e_acsl_assert_data_2.line = 380; + __gen_e_acsl_assert_data_2.line = 432; __gen_e_acsl_assert_data_2.name = "room_nstring"; __e_acsl_assert(__gen_e_acsl_valid,& __gen_e_acsl_assert_data_2); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2); @@ -471,7 +498,7 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src, __gen_e_acsl_assert_data_4.pred_txt = "\\valid_read(dest + (0 .. n - 1))"; __gen_e_acsl_assert_data_4.file = "FRAMAC_SHARE/libc/string.h"; __gen_e_acsl_assert_data_4.fct = "strncpy"; - __gen_e_acsl_assert_data_4.line = 382; + __gen_e_acsl_assert_data_4.line = 434; __gen_e_acsl_assert_data_4.name = "separated_guard"; __e_acsl_assert(__gen_e_acsl_valid_read,& __gen_e_acsl_assert_data_4); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4); @@ -501,7 +528,7 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src, __gen_e_acsl_assert_data_5.pred_txt = "\\valid_read(src + (0 .. n - 1))"; __gen_e_acsl_assert_data_5.file = "FRAMAC_SHARE/libc/string.h"; __gen_e_acsl_assert_data_5.fct = "strncpy"; - __gen_e_acsl_assert_data_5.line = 382; + __gen_e_acsl_assert_data_5.line = 434; __gen_e_acsl_assert_data_5.name = "separated_guard"; __e_acsl_assert(__gen_e_acsl_valid_read_2,& __gen_e_acsl_assert_data_5); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_5); @@ -547,7 +574,7 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src, __gen_e_acsl_assert_data_3.pred_txt = "\\separated(dest + (0 .. n - 1), src + (0 .. n - 1))"; __gen_e_acsl_assert_data_3.file = "FRAMAC_SHARE/libc/string.h"; __gen_e_acsl_assert_data_3.fct = "strncpy"; - __gen_e_acsl_assert_data_3.line = 382; + __gen_e_acsl_assert_data_3.line = 434; __gen_e_acsl_assert_data_3.name = "separation"; __e_acsl_assert(__gen_e_acsl_separated,& __gen_e_acsl_assert_data_3); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3); @@ -582,7 +609,7 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src, __gen_e_acsl_assert_data_6.pred_txt = "\\result == \\old(dest)"; __gen_e_acsl_assert_data_6.file = "FRAMAC_SHARE/libc/string.h"; __gen_e_acsl_assert_data_6.fct = "strncpy"; - __gen_e_acsl_assert_data_6.line = 385; + __gen_e_acsl_assert_data_6.line = 437; __gen_e_acsl_assert_data_6.name = "result_ptr"; __e_acsl_assert(__retres == __gen_e_acsl_at,& __gen_e_acsl_assert_data_6); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_6); @@ -629,7 +656,7 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src, __gen_e_acsl_assert_data_7.pred_txt = "\\initialized(\\old(dest) + (0 .. \\old(n) - 1))"; __gen_e_acsl_assert_data_7.file = "FRAMAC_SHARE/libc/string.h"; __gen_e_acsl_assert_data_7.fct = "strncpy"; - __gen_e_acsl_assert_data_7.line = 386; + __gen_e_acsl_assert_data_7.line = 438; __gen_e_acsl_assert_data_7.name = "initialization"; __e_acsl_assert(__gen_e_acsl_initialized,& __gen_e_acsl_assert_data_7); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_7); @@ -695,7 +722,7 @@ char *__gen_e_acsl_strcpy(char * restrict dest, char const * restrict src) __gen_e_acsl_assert_data_6.pred_txt = "__gen_e_acsl_strcpy_src_size + 1 <= 18446744073709551615"; __gen_e_acsl_assert_data_6.file = "FRAMAC_SHARE/libc/string.h"; __gen_e_acsl_assert_data_6.fct = "strcpy"; - __gen_e_acsl_assert_data_6.line = 367; + __gen_e_acsl_assert_data_6.line = 419; __gen_e_acsl_assert_data_6.name = "size_lesser_or_eq_than_SIZE_MAX"; __e_acsl_assert(__gen_e_acsl_le <= 0,& __gen_e_acsl_assert_data_6); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_6); @@ -718,7 +745,7 @@ char *__gen_e_acsl_strcpy(char * restrict dest, char const * restrict src) __gen_e_acsl_assert_data_8.pred_txt = "\\result == \\old(dest)"; __gen_e_acsl_assert_data_8.file = "FRAMAC_SHARE/libc/string.h"; __gen_e_acsl_assert_data_8.fct = "strcpy"; - __gen_e_acsl_assert_data_8.line = 374; + __gen_e_acsl_assert_data_8.line = 426; __gen_e_acsl_assert_data_8.name = "result_ptr"; __e_acsl_assert(__retres == __gen_e_acsl_at,& __gen_e_acsl_assert_data_8); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_8); diff --git a/src/plugins/e-acsl/tests/libc/oracle/mem.res.oracle b/src/plugins/e-acsl/tests/libc/oracle/mem.res.oracle index 673b705e2c742c0cc5a1f353cf2b6fb2f9771c51..3391277a9a4a8c700164541d29032b764d6a0904 100644 --- a/src/plugins/e-acsl/tests/libc/oracle/mem.res.oracle +++ b/src/plugins/e-acsl/tests/libc/oracle/mem.res.oracle @@ -1,47 +1,47 @@ [e-acsl] beginning translation. -[e-acsl] FRAMAC_SHARE/libc/string.h:131: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:148: Warning: no assigns clause generated for function valid_or_empty because pointers as arguments is not yet supported [e-acsl] FRAMAC_SHARE/libc/string.h:49: Warning: E-ACSL construct `predicates with labels' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:131: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:148: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:134: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:151: Warning: E-ACSL construct `datacons' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:120: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:137: Warning: E-ACSL construct `predicates with labels' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:121: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:138: Warning: no assigns clause generated for function valid_read_or_empty because pointers as arguments is not yet supported [e-acsl] FRAMAC_SHARE/libc/string.h:52: Warning: E-ACSL construct `predicates with labels' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:120: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:137: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:124: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:141: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:95: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:112: Warning: E-ACSL construct `predicates with labels' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:96: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:113: Warning: E-ACSL construct `predicates with labels' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:95: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:112: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:101: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:118: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. [e-acsl] translation done in project "e-acsl". -[eva:alarm] FRAMAC_SHARE/libc/string.h:135: Warning: +[eva:alarm] FRAMAC_SHARE/libc/string.h:152: Warning: function __e_acsl_assert_register_ptr: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] FRAMAC_SHARE/libc/string.h:134: Warning: +[eva:alarm] FRAMAC_SHARE/libc/string.h:151: Warning: function __gen_e_acsl_memset: postcondition 'acsl_c_equiv' got status unknown. [eva:alarm] mem.c:10: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || @@ -82,27 +82,27 @@ [eva:alarm] mem.c:19: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] FRAMAC_SHARE/libc/string.h:98: Warning: +[eva:alarm] FRAMAC_SHARE/libc/string.h:115: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] FRAMAC_SHARE/libc/string.h:98: Warning: +[eva:alarm] FRAMAC_SHARE/libc/string.h:115: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] FRAMAC_SHARE/libc/string.h:98: Warning: +[eva:alarm] FRAMAC_SHARE/libc/string.h:115: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] FRAMAC_SHARE/libc/string.h:98: Warning: +[eva:alarm] FRAMAC_SHARE/libc/string.h:115: Warning: function __e_acsl_assert, behavior blocking: precondition got status unknown. -[eva:alarm] FRAMAC_SHARE/libc/string.h:98: Warning: +[eva:alarm] FRAMAC_SHARE/libc/string.h:115: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] FRAMAC_SHARE/libc/string.h:98: Warning: +[eva:alarm] FRAMAC_SHARE/libc/string.h:115: Warning: function __e_acsl_assert_register_ptr: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] FRAMAC_SHARE/libc/string.h:102: Warning: +[eva:alarm] FRAMAC_SHARE/libc/string.h:119: Warning: function __e_acsl_assert_register_ptr: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] FRAMAC_SHARE/libc/string.h:101: Warning: +[eva:alarm] FRAMAC_SHARE/libc/string.h:118: Warning: function __gen_e_acsl_memcpy: postcondition 'copied_contents' got status unknown. [eva:alarm] mem.c:23: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || @@ -119,10 +119,10 @@ [eva:alarm] mem.c:25: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] FRAMAC_SHARE/libc/string.h:125: Warning: +[eva:alarm] FRAMAC_SHARE/libc/string.h:142: Warning: function __e_acsl_assert_register_ptr: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] FRAMAC_SHARE/libc/string.h:124: Warning: +[eva:alarm] FRAMAC_SHARE/libc/string.h:141: Warning: function __gen_e_acsl_memmove: postcondition 'copied_contents' got status unknown. [eva:alarm] mem.c:28: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || diff --git a/src/plugins/e-acsl/tests/libc/oracle/str.res.oracle b/src/plugins/e-acsl/tests/libc/oracle/str.res.oracle index 67886b4500ae16bb187e07dbbe1e3b244bd84636..00c9e9bab1d0642c1b664b698c697135bcdc5456 100644 --- a/src/plugins/e-acsl/tests/libc/oracle/str.res.oracle +++ b/src/plugins/e-acsl/tests/libc/oracle/str.res.oracle @@ -1,121 +1,138 @@ [e-acsl] beginning translation. -[e-acsl] FRAMAC_SHARE/libc/string.h:439: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:497: Warning: no assigns clause generated for function valid_read_nstring because pointers as arguments is not yet supported -[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:284: Warning: +[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:280: Warning: E-ACSL construct `labeled \valid_read' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:440: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:498: Warning: no assigns clause generated for function valid_string because pointers as arguments is not yet supported -[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:278: Warning: +[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:274: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:445: Warning: - no assigns clause generated for function valid_read_string because pointers as arguments is not yet supported -[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:281: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:500: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:453: Warning: - E-ACSL construct `logic functions or predicates performing read accesses' +[e-acsl] FRAMAC_SHARE/libc/string.h:500: Warning: + no assigns clause generated for function strnlen because pointers as arguments is not yet supported +[e-acsl] FRAMAC_SHARE/libc/string.h:500: Warning: + E-ACSL construct + `logic functions or predicates with no definition nor reads clause' + is not yet supported. + Ignoring annotation. +[e-acsl] FRAMAC_SHARE/libc/string.h:506: Warning: + E-ACSL construct + `logic functions or predicates with no definition nor reads clause' + is not yet supported. + Ignoring annotation. +[e-acsl] FRAMAC_SHARE/libc/string.h:513: Warning: + E-ACSL construct + `logic functions or predicates with no definition nor reads clause' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:446: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:507: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:454: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:514: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:438: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:496: Warning: Some assumes clauses could not be translated. Ignoring complete and disjoint behaviors annotations. -[e-acsl] FRAMAC_SHARE/libc/string.h:438: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:496: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:443: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:504: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:450: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:511: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:450: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:511: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:458: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:518: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:424: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:476: Warning: + no assigns clause generated for function valid_read_string because pointers as arguments is not yet supported +[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:277: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:425: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:477: Warning: + E-ACSL construct `logic functions or predicates performing read accesses' + is not yet supported. + Ignoring annotation. +[e-acsl] FRAMAC_SHARE/libc/string.h:478: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:426: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:480: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:423: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:475: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:429: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:483: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:432: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:486: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:433: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:487: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:379: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:431: Warning: E-ACSL construct `labeled \valid_read' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:388: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:440: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:391: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:443: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:378: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:430: Warning: Some assumes clauses could not be translated. Ignoring complete and disjoint behaviors annotations. -[e-acsl] FRAMAC_SHARE/libc/string.h:378: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:430: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:389: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:441: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:392: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:444: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:367: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:419: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:368: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:420: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:370: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:422: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:367: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:419: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:373: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:425: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. @@ -126,12 +143,12 @@ [eva:alarm] str.c:13: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] FRAMAC_SHARE/libc/string.h:367: Warning: +[eva:alarm] FRAMAC_SHARE/libc/string.h:419: Warning: function __e_acsl_assert, behavior blocking: precondition got status unknown. -[eva:alarm] FRAMAC_SHARE/libc/string.h:374: Warning: +[eva:alarm] FRAMAC_SHARE/libc/string.h:426: Warning: function __e_acsl_assert_register_ptr: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] FRAMAC_SHARE/libc/string.h:373: Warning: +[eva:alarm] FRAMAC_SHARE/libc/string.h:425: Warning: function __gen_e_acsl_strcpy: postcondition 'equal_contents' got status unknown. [eva:alarm] str.c:16: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_hidden_malloc.c b/src/plugins/e-acsl/tests/memory/oracle/gen_hidden_malloc.c index fc9c66c217bb9cac04a30bbc8f7e27e8472ad382..321145a55641a93fc164950245e30f75da6e9e63 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_hidden_malloc.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_hidden_malloc.c @@ -205,7 +205,7 @@ char *__gen_e_acsl_realpath(char const * restrict file_name, __gen_e_acsl_assert_data_2.pred_txt = "resolved_name == \\null || \\valid(resolved_name + (0 .. 4096 - 1))"; __gen_e_acsl_assert_data_2.file = "FRAMAC_SHARE/libc/stdlib.h"; __gen_e_acsl_assert_data_2.fct = "realpath"; - __gen_e_acsl_assert_data_2.line = 759; + __gen_e_acsl_assert_data_2.line = 842; __gen_e_acsl_assert_data_2.name = "resolved_name_null_or_allocated"; __e_acsl_assert(__gen_e_acsl_or,& __gen_e_acsl_assert_data_2); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2); @@ -231,7 +231,7 @@ char *__gen_e_acsl_realpath(char const * restrict file_name, __gen_e_acsl_assert_data_4.pred_txt = "__fc_errno == 22"; __gen_e_acsl_assert_data_4.file = "FRAMAC_SHARE/libc/stdlib.h"; __gen_e_acsl_assert_data_4.fct = "realpath"; - __gen_e_acsl_assert_data_4.line = 770; + __gen_e_acsl_assert_data_4.line = 853; __gen_e_acsl_assert_data_4.name = "null_file_name/errno_set"; __e_acsl_assert(errno == 22,& __gen_e_acsl_assert_data_4); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4); @@ -240,7 +240,7 @@ char *__gen_e_acsl_realpath(char const * restrict file_name, __gen_e_acsl_assert_data_3.pred_txt = "\\result == \\null"; __gen_e_acsl_assert_data_3.file = "FRAMAC_SHARE/libc/stdlib.h"; __gen_e_acsl_assert_data_3.fct = "realpath"; - __gen_e_acsl_assert_data_3.line = 769; + __gen_e_acsl_assert_data_3.line = 852; __gen_e_acsl_assert_data_3.name = "null_file_name/null_result"; __e_acsl_assert(__retres == (char *)0,& __gen_e_acsl_assert_data_3); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3); @@ -261,7 +261,7 @@ char *__gen_e_acsl_realpath(char const * restrict file_name, __gen_e_acsl_assert_data_7.pred_txt = "__fc_errno == 12"; __gen_e_acsl_assert_data_7.file = "FRAMAC_SHARE/libc/stdlib.h"; __gen_e_acsl_assert_data_7.fct = "realpath"; - __gen_e_acsl_assert_data_7.line = 785; + __gen_e_acsl_assert_data_7.line = 868; __gen_e_acsl_assert_data_7.name = "not_enough_memory/errno_set"; __e_acsl_assert(errno == 12,& __gen_e_acsl_assert_data_7); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_7); @@ -270,7 +270,7 @@ char *__gen_e_acsl_realpath(char const * restrict file_name, __gen_e_acsl_assert_data_6.pred_txt = "\\result == \\null"; __gen_e_acsl_assert_data_6.file = "FRAMAC_SHARE/libc/stdlib.h"; __gen_e_acsl_assert_data_6.fct = "realpath"; - __gen_e_acsl_assert_data_6.line = 784; + __gen_e_acsl_assert_data_6.line = 867; __gen_e_acsl_assert_data_6.name = "not_enough_memory/null_result"; __e_acsl_assert(__retres == (char *)0,& __gen_e_acsl_assert_data_6); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_6); @@ -290,7 +290,7 @@ char *__gen_e_acsl_realpath(char const * restrict file_name, __gen_e_acsl_assert_data_9.pred_txt = "\\result == \\old(resolved_name)"; __gen_e_acsl_assert_data_9.file = "FRAMAC_SHARE/libc/stdlib.h"; __gen_e_acsl_assert_data_9.fct = "realpath"; - __gen_e_acsl_assert_data_9.line = 796; + __gen_e_acsl_assert_data_9.line = 880; __gen_e_acsl_assert_data_9.name = "resolved_name_buffer/resolved_result"; __e_acsl_assert(__retres == __gen_e_acsl_at, & __gen_e_acsl_assert_data_9); @@ -308,7 +308,7 @@ char *__gen_e_acsl_realpath(char const * restrict file_name, __gen_e_acsl_assert_data_10.pred_txt = "\\result == \\null"; __gen_e_acsl_assert_data_10.file = "FRAMAC_SHARE/libc/stdlib.h"; __gen_e_acsl_assert_data_10.fct = "realpath"; - __gen_e_acsl_assert_data_10.line = 802; + __gen_e_acsl_assert_data_10.line = 886; __gen_e_acsl_assert_data_10.name = "filesystem_error/null_result"; __e_acsl_assert(__retres == (char *)0,& __gen_e_acsl_assert_data_10); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_10); diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_memalign.c b/src/plugins/e-acsl/tests/memory/oracle/gen_memalign.c index 90b363e3678824a5f951d60b97bfc3945c84f774..80d3c12fd943bd91f0ed1e3d89065342d92eda74 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_memalign.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_memalign.c @@ -420,7 +420,7 @@ int __gen_e_acsl_posix_memalign(void **memptr, size_t alignment, size_t size) __gen_e_acsl_assert_data.pred_txt = "\\valid(memptr)"; __gen_e_acsl_assert_data.file = "FRAMAC_SHARE/libc/stdlib.h"; __gen_e_acsl_assert_data.fct = "posix_memalign"; - __gen_e_acsl_assert_data.line = 702; + __gen_e_acsl_assert_data.line = 785; __gen_e_acsl_assert_data.name = "valid_memptr"; __e_acsl_assert(__gen_e_acsl_valid,& __gen_e_acsl_assert_data); __e_acsl_assert_clean(& __gen_e_acsl_assert_data); @@ -463,7 +463,7 @@ int __gen_e_acsl_posix_memalign(void **memptr, size_t alignment, size_t size) __gen_e_acsl_assert_data_2.pred_txt = "alignment >= sizeof(void *) &&\n((size_t)alignment & (size_t)alignment - 1) == 0"; __gen_e_acsl_assert_data_2.file = "FRAMAC_SHARE/libc/stdlib.h"; __gen_e_acsl_assert_data_2.fct = "posix_memalign"; - __gen_e_acsl_assert_data_2.line = 704; + __gen_e_acsl_assert_data_2.line = 787; __gen_e_acsl_assert_data_2.name = "alignment_is_a_suitable_power_of_two"; __e_acsl_assert(__gen_e_acsl_and,& __gen_e_acsl_assert_data_2); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2); @@ -483,7 +483,7 @@ int __gen_e_acsl_posix_memalign(void **memptr, size_t alignment, size_t size) __gen_e_acsl_assert_data_4.pred_txt = "\\result == 0"; __gen_e_acsl_assert_data_4.file = "FRAMAC_SHARE/libc/stdlib.h"; __gen_e_acsl_assert_data_4.fct = "posix_memalign"; - __gen_e_acsl_assert_data_4.line = 716; + __gen_e_acsl_assert_data_4.line = 799; __gen_e_acsl_assert_data_4.name = "allocation/result_zero"; __e_acsl_assert(__retres == 0,& __gen_e_acsl_assert_data_4); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4); @@ -507,7 +507,7 @@ int __gen_e_acsl_posix_memalign(void **memptr, size_t alignment, size_t size) __gen_e_acsl_assert_data_5.pred_txt = "\\result < 0 || \\result > 0"; __gen_e_acsl_assert_data_5.file = "FRAMAC_SHARE/libc/stdlib.h"; __gen_e_acsl_assert_data_5.fct = "posix_memalign"; - __gen_e_acsl_assert_data_5.line = 721; + __gen_e_acsl_assert_data_5.line = 804; __gen_e_acsl_assert_data_5.name = "no_allocation/result_non_zero"; __e_acsl_assert(__gen_e_acsl_or,& __gen_e_acsl_assert_data_5); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_5); diff --git a/src/plugins/e-acsl/tests/memory/oracle/hidden_malloc.res.oracle b/src/plugins/e-acsl/tests/memory/oracle/hidden_malloc.res.oracle index 25a8a53eceb1175fbdd93ff8adfd73b6b9b8258b..27d93fcb73cbe470eaea8f27d7fc9a7ae2ea0e30 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/hidden_malloc.res.oracle +++ b/src/plugins/e-acsl/tests/memory/oracle/hidden_malloc.res.oracle @@ -2,57 +2,57 @@ [e-acsl] Warning: annotating undefined function `realpath': the generated program may miss memory instrumentation if there are memory-related annotations. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:755: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:838: Warning: E-ACSL construct `\fresh' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:757: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:840: Warning: no assigns clause generated for function valid_read_string because pointers as arguments is not yet supported -[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:281: Warning: +[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:277: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:772: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:855: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:779: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:862: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:787: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:870: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:799: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:882: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:755: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:838: Warning: Some assumes clauses could not be translated. Ignoring complete and disjoint behaviors annotations. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:755: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:838: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:770: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:853: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:777: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:860: Warning: E-ACSL construct `\fresh' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:777: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:860: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:785: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:868: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:792: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:876: Warning: no assigns clause generated for function valid_string because pointers as arguments is not yet supported -[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:278: Warning: +[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:274: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:796: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:880: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:804: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:888: Warning: E-ACSL construct `logic functions or predicates with no definition nor reads clause' is not yet supported. diff --git a/src/plugins/e-acsl/tests/memory/oracle/mainargs.res.oracle b/src/plugins/e-acsl/tests/memory/oracle/mainargs.res.oracle index 411c0b7ba798d3afe689edf886fe08f7a6ca47b5..23d24e3095e594e93553bae1ed36b05412b9a8eb 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/mainargs.res.oracle +++ b/src/plugins/e-acsl/tests/memory/oracle/mainargs.res.oracle @@ -2,16 +2,16 @@ [e-acsl] Warning: annotating undefined function `strlen': the generated program may miss memory instrumentation if there are memory-related annotations. -[e-acsl] FRAMAC_SHARE/libc/string.h:141: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:158: Warning: no assigns clause generated for function valid_read_string because pointers as arguments is not yet supported -[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:281: Warning: +[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:277: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:141: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:158: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:143: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:160: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. @@ -82,9 +82,9 @@ [eva:alarm] mainargs.c:16: Warning: assertion got status unknown. [eva:alarm] mainargs.c:18: Warning: function __gen_e_acsl_strlen: precondition 'valid_string_s' got status unknown. -[eva:alarm] FRAMAC_SHARE/libc/string.h:141: Warning: +[eva:alarm] FRAMAC_SHARE/libc/string.h:158: Warning: function strlen: precondition 'valid_string_s' got status unknown. -[eva:alarm] FRAMAC_SHARE/libc/string.h:143: Warning: +[eva:alarm] FRAMAC_SHARE/libc/string.h:160: Warning: function __gen_e_acsl_strlen: postcondition 'acsl_c_equiv' got status unknown. [eva:alarm] mainargs.c:19: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || diff --git a/src/plugins/e-acsl/tests/memory/oracle/memalign.res.oracle b/src/plugins/e-acsl/tests/memory/oracle/memalign.res.oracle index 4dc9a20ea6aabb658451aaacf8020393e60b10cf..f17a43af95db3a68f64d9f12fb3bd622ec9fc8c3 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/memalign.res.oracle +++ b/src/plugins/e-acsl/tests/memory/oracle/memalign.res.oracle @@ -2,25 +2,25 @@ [e-acsl] Warning: annotating undefined function `posix_memalign': the generated program may miss memory instrumentation if there are memory-related annotations. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:701: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:784: Warning: E-ACSL construct `\fresh' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:711: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:794: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:718: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:801: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:701: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:784: Warning: Some assumes clauses could not be translated. Ignoring complete and disjoint behaviors annotations. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:701: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:784: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:715: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:798: Warning: E-ACSL construct `\fresh' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:716: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:799: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. [e-acsl] translation done in project "e-acsl". diff --git a/src/plugins/e-acsl/tests/memory/oracle/memsize.res.oracle b/src/plugins/e-acsl/tests/memory/oracle/memsize.res.oracle index e608985d5a008400c7eaec279bd9bf175a8d87d2..3e4f2b0295e1fc586820cf1a277c1de17c7449a5 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/memsize.res.oracle +++ b/src/plugins/e-acsl/tests/memory/oracle/memsize.res.oracle @@ -14,7 +14,7 @@ [eva] memsize.c:25: Warning: ignoring unsupported allocates clause [eva:alarm] memsize.c:26: Warning: function __e_acsl_assert, behavior blocking: precondition got status unknown. -[eva] FRAMAC_SHARE/libc/stdlib.h:453: Warning: +[eva] FRAMAC_SHARE/libc/stdlib.h:485: Warning: no 'assigns \result \from ...' clause specified for function realloc [eva] memsize.c:29: Warning: ignoring unsupported allocates clause [eva:alarm] memsize.c:29: Warning: @@ -42,7 +42,7 @@ function __e_acsl_assert, behavior blocking: precondition got status unknown. [eva:alarm] memsize.c:52: Warning: function __e_acsl_assert, behavior blocking: precondition got status unknown. -[eva] FRAMAC_SHARE/libc/stdlib.h:386: Warning: +[eva] FRAMAC_SHARE/libc/stdlib.h:418: Warning: no 'assigns \result \from ...' clause specified for function calloc [eva] memsize.c:55: Warning: ignoring unsupported allocates clause [eva:alarm] memsize.c:56: Warning: diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_fun_lib.c b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_fun_lib.c index ede92c3c70c3c7822255a83be2ea29009cc1d2cf..78967c20b82a00d7be3de12acfd62c596dc778ab 100644 --- a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_fun_lib.c +++ b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_fun_lib.c @@ -207,7 +207,7 @@ char *__gen_e_acsl_realpath(char const * restrict file_name, __gen_e_acsl_assert_data_2.pred_txt = "resolved_name == \\null || \\valid(resolved_name + (0 .. 4096 - 1))"; __gen_e_acsl_assert_data_2.file = "FRAMAC_SHARE/libc/stdlib.h"; __gen_e_acsl_assert_data_2.fct = "realpath"; - __gen_e_acsl_assert_data_2.line = 759; + __gen_e_acsl_assert_data_2.line = 842; __gen_e_acsl_assert_data_2.name = "resolved_name_null_or_allocated"; __e_acsl_assert(__gen_e_acsl_or,& __gen_e_acsl_assert_data_2); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2); @@ -238,7 +238,7 @@ char *__gen_e_acsl_realpath(char const * restrict file_name, __gen_e_acsl_assert_data_4.pred_txt = "__fc_errno == 22"; __gen_e_acsl_assert_data_4.file = "FRAMAC_SHARE/libc/stdlib.h"; __gen_e_acsl_assert_data_4.fct = "realpath"; - __gen_e_acsl_assert_data_4.line = 770; + __gen_e_acsl_assert_data_4.line = 853; __gen_e_acsl_assert_data_4.name = "null_file_name/errno_set"; __e_acsl_assert(errno == 22,& __gen_e_acsl_assert_data_4); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4); @@ -247,7 +247,7 @@ char *__gen_e_acsl_realpath(char const * restrict file_name, __gen_e_acsl_assert_data_3.pred_txt = "\\result == \\null"; __gen_e_acsl_assert_data_3.file = "FRAMAC_SHARE/libc/stdlib.h"; __gen_e_acsl_assert_data_3.fct = "realpath"; - __gen_e_acsl_assert_data_3.line = 769; + __gen_e_acsl_assert_data_3.line = 852; __gen_e_acsl_assert_data_3.name = "null_file_name/null_result"; __e_acsl_assert(__retres == (char *)0,& __gen_e_acsl_assert_data_3); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3); @@ -268,7 +268,7 @@ char *__gen_e_acsl_realpath(char const * restrict file_name, __gen_e_acsl_assert_data_7.pred_txt = "__fc_errno == 12"; __gen_e_acsl_assert_data_7.file = "FRAMAC_SHARE/libc/stdlib.h"; __gen_e_acsl_assert_data_7.fct = "realpath"; - __gen_e_acsl_assert_data_7.line = 785; + __gen_e_acsl_assert_data_7.line = 868; __gen_e_acsl_assert_data_7.name = "not_enough_memory/errno_set"; __e_acsl_assert(errno == 12,& __gen_e_acsl_assert_data_7); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_7); @@ -277,7 +277,7 @@ char *__gen_e_acsl_realpath(char const * restrict file_name, __gen_e_acsl_assert_data_6.pred_txt = "\\result == \\null"; __gen_e_acsl_assert_data_6.file = "FRAMAC_SHARE/libc/stdlib.h"; __gen_e_acsl_assert_data_6.fct = "realpath"; - __gen_e_acsl_assert_data_6.line = 784; + __gen_e_acsl_assert_data_6.line = 867; __gen_e_acsl_assert_data_6.name = "not_enough_memory/null_result"; __e_acsl_assert(__retres == (char *)0,& __gen_e_acsl_assert_data_6); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_6); @@ -297,7 +297,7 @@ char *__gen_e_acsl_realpath(char const * restrict file_name, __gen_e_acsl_assert_data_9.pred_txt = "\\result == \\old(resolved_name)"; __gen_e_acsl_assert_data_9.file = "FRAMAC_SHARE/libc/stdlib.h"; __gen_e_acsl_assert_data_9.fct = "realpath"; - __gen_e_acsl_assert_data_9.line = 796; + __gen_e_acsl_assert_data_9.line = 880; __gen_e_acsl_assert_data_9.name = "resolved_name_buffer/resolved_result"; __e_acsl_assert(__retres == __gen_e_acsl_at, & __gen_e_acsl_assert_data_9); @@ -315,7 +315,7 @@ char *__gen_e_acsl_realpath(char const * restrict file_name, __gen_e_acsl_assert_data_10.pred_txt = "\\result == \\null"; __gen_e_acsl_assert_data_10.file = "FRAMAC_SHARE/libc/stdlib.h"; __gen_e_acsl_assert_data_10.fct = "realpath"; - __gen_e_acsl_assert_data_10.line = 802; + __gen_e_acsl_assert_data_10.line = 886; __gen_e_acsl_assert_data_10.name = "filesystem_error/null_result"; __e_acsl_assert(__retres == (char *)0,& __gen_e_acsl_assert_data_10); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_10); diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_getenv.c b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_getenv.c index a95cdb0ed93f608bc404277e283b3411d1d8b3db..3ef3318f69b410b2529a203a7c5d342520afae3a 100644 --- a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_getenv.c +++ b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_getenv.c @@ -12,16 +12,24 @@ char *__gen_e_acsl_literal_string; extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; /*@ requires valid_name: valid_read_string(name); - ensures null_or_valid_result: \result == \null || \valid(\result); + ensures + null_or_valid_result: + \result == \null || (\valid(\result) && valid_read_string(\result)); assigns \result; - assigns \result \from __fc_env[0 ..], (indirect: name), *(name + (0 ..)); + assigns \result + \from __fc_env[0 ..], (indirect: name), + (indirect: *(name + (0 .. strlen{Old}(name)))); */ char *__gen_e_acsl_getenv(char const *name); /*@ requires valid_name: valid_read_string(name); - ensures null_or_valid_result: \result == \null || \valid(\result); + ensures + null_or_valid_result: + \result == \null || (\valid(\result) && valid_read_string(\result)); assigns \result; - assigns \result \from __fc_env[0 ..], (indirect: name), *(name + (0 ..)); + assigns \result + \from __fc_env[0 ..], (indirect: name), + (indirect: *(name + (0 .. strlen{Old}(name)))); */ char *__gen_e_acsl_getenv(char const *name) { @@ -31,39 +39,9 @@ char *__gen_e_acsl_getenv(char const *name) __e_acsl_temporal_reset_return(); __retres = getenv(name); __e_acsl_temporal_store_nblock((void *)(& __retres),(void *)*(& __retres)); - { - int __gen_e_acsl_or; - __e_acsl_temporal_save_return((void *)(& __retres)); - __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = - {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"\\result", - (void *)__retres); - if (__retres == (char *)0) __gen_e_acsl_or = 1; - else { - int __gen_e_acsl_valid; - __gen_e_acsl_valid = __e_acsl_valid((void *)__retres,sizeof(char), - (void *)__retres, - (void *)(& __retres)); - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"\\result", - (void *)__retres); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, - "sizeof(char)",0,sizeof(char)); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, - "\\valid(\\result)",0,__gen_e_acsl_valid); - __gen_e_acsl_or = __gen_e_acsl_valid; - } - __gen_e_acsl_assert_data_2.blocking = 1; - __gen_e_acsl_assert_data_2.kind = "Postcondition"; - __gen_e_acsl_assert_data_2.pred_txt = "\\result == \\null || \\valid(\\result)"; - __gen_e_acsl_assert_data_2.file = "FRAMAC_SHARE/libc/stdlib.h"; - __gen_e_acsl_assert_data_2.fct = "getenv"; - __gen_e_acsl_assert_data_2.line = 524; - __gen_e_acsl_assert_data_2.name = "null_or_valid_result"; - __e_acsl_assert(__gen_e_acsl_or,& __gen_e_acsl_assert_data_2); - __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2); - __e_acsl_delete_block((void *)(& __retres)); - return __retres; - } + __e_acsl_temporal_save_return((void *)(& __retres)); + __e_acsl_delete_block((void *)(& __retres)); + return __retres; } void __e_acsl_globals_init(void) diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_memcpy.c b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_memcpy.c index c4293f684174946dd589aee2f0067051aae0afa6..5284f282963682e4507a2e0de7aa871255547eff 100644 --- a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_memcpy.c +++ b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_memcpy.c @@ -756,7 +756,7 @@ void *__gen_e_acsl_memset(void *s, int c, size_t n) __gen_e_acsl_assert_data_3.pred_txt = "\\result == \\old(s)"; __gen_e_acsl_assert_data_3.file = "FRAMAC_SHARE/libc/string.h"; __gen_e_acsl_assert_data_3.fct = "memset"; - __gen_e_acsl_assert_data_3.line = 135; + __gen_e_acsl_assert_data_3.line = 152; __gen_e_acsl_assert_data_3.name = "result_ptr"; __e_acsl_assert(__retres == __gen_e_acsl_at,& __gen_e_acsl_assert_data_3); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3); @@ -854,7 +854,7 @@ void *__gen_e_acsl_memcpy(void * restrict dest, void const * restrict src, __gen_e_acsl_assert_data_4.pred_txt = "\\valid_read((char *)dest + (0 .. n - 1))"; __gen_e_acsl_assert_data_4.file = "FRAMAC_SHARE/libc/string.h"; __gen_e_acsl_assert_data_4.fct = "memcpy"; - __gen_e_acsl_assert_data_4.line = 98; + __gen_e_acsl_assert_data_4.line = 115; __gen_e_acsl_assert_data_4.name = "separated_guard"; __e_acsl_assert(__gen_e_acsl_valid_read,& __gen_e_acsl_assert_data_4); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4); @@ -885,7 +885,7 @@ void *__gen_e_acsl_memcpy(void * restrict dest, void const * restrict src, __gen_e_acsl_assert_data_5.pred_txt = "\\valid_read((char *)src + (0 .. n - 1))"; __gen_e_acsl_assert_data_5.file = "FRAMAC_SHARE/libc/string.h"; __gen_e_acsl_assert_data_5.fct = "memcpy"; - __gen_e_acsl_assert_data_5.line = 98; + __gen_e_acsl_assert_data_5.line = 115; __gen_e_acsl_assert_data_5.name = "separated_guard"; __e_acsl_assert(__gen_e_acsl_valid_read_2,& __gen_e_acsl_assert_data_5); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_5); @@ -930,7 +930,7 @@ void *__gen_e_acsl_memcpy(void * restrict dest, void const * restrict src, __gen_e_acsl_assert_data_3.pred_txt = "\\separated((char *)dest + (0 .. n - 1), (char *)src + (0 .. n - 1))"; __gen_e_acsl_assert_data_3.file = "FRAMAC_SHARE/libc/string.h"; __gen_e_acsl_assert_data_3.fct = "memcpy"; - __gen_e_acsl_assert_data_3.line = 98; + __gen_e_acsl_assert_data_3.line = 115; __gen_e_acsl_assert_data_3.name = "separation"; __e_acsl_assert(__gen_e_acsl_separated,& __gen_e_acsl_assert_data_3); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3); @@ -960,7 +960,7 @@ void *__gen_e_acsl_memcpy(void * restrict dest, void const * restrict src, __gen_e_acsl_assert_data_7.pred_txt = "\\result == \\old(dest)"; __gen_e_acsl_assert_data_7.file = "FRAMAC_SHARE/libc/string.h"; __gen_e_acsl_assert_data_7.fct = "memcpy"; - __gen_e_acsl_assert_data_7.line = 102; + __gen_e_acsl_assert_data_7.line = 119; __gen_e_acsl_assert_data_7.name = "result_ptr"; __e_acsl_assert(__retres == __gen_e_acsl_at,& __gen_e_acsl_assert_data_7); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_7); diff --git a/src/plugins/e-acsl/tests/temporal/oracle/t_fun_lib.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle/t_fun_lib.res.oracle index 014073a4bba894b34d813b8db4b56715fbb9f203..479597f91297167d45c819ba1520d30791d43710 100644 --- a/src/plugins/e-acsl/tests/temporal/oracle/t_fun_lib.res.oracle +++ b/src/plugins/e-acsl/tests/temporal/oracle/t_fun_lib.res.oracle @@ -2,57 +2,57 @@ [e-acsl] Warning: annotating undefined function `realpath': the generated program may miss memory instrumentation if there are memory-related annotations. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:755: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:838: Warning: E-ACSL construct `\fresh' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:757: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:840: Warning: no assigns clause generated for function valid_read_string because pointers as arguments is not yet supported -[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:281: Warning: +[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:277: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:772: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:855: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:779: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:862: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:787: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:870: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:799: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:882: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:755: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:838: Warning: Some assumes clauses could not be translated. Ignoring complete and disjoint behaviors annotations. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:755: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:838: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:770: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:853: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:777: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:860: Warning: E-ACSL construct `\fresh' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:777: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:860: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:785: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:868: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:792: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:876: Warning: no assigns clause generated for function valid_string because pointers as arguments is not yet supported -[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:278: Warning: +[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:274: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:796: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:880: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:804: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:888: Warning: E-ACSL construct `logic functions or predicates with no definition nor reads clause' is not yet supported. diff --git a/src/plugins/e-acsl/tests/temporal/oracle/t_getenv.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle/t_getenv.res.oracle index 512e712c13d305d6a7a8a8d3aa316915f3246491..8587f5a2e6a228103cb6663da293c8b1905a8c06 100644 --- a/src/plugins/e-acsl/tests/temporal/oracle/t_getenv.res.oracle +++ b/src/plugins/e-acsl/tests/temporal/oracle/t_getenv.res.oracle @@ -2,28 +2,21 @@ [e-acsl] Warning: annotating undefined function `getenv': the generated program may miss memory instrumentation if there are memory-related annotations. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:522: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:554: Warning: no assigns clause generated for function valid_read_string because pointers as arguments is not yet supported -[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:281: Warning: +[e-acsl] FRAMAC_SHARE/libc/__fc_string_axiomatic.h:277: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:521: Warning: +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:553: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:558: Warning: + E-ACSL construct `logic functions or predicates performing read accesses' + is not yet supported. + Ignoring annotation. [e-acsl] translation done in project "e-acsl". -[eva:alarm] FRAMAC_SHARE/libc/stdlib.h:524: Warning: - function __e_acsl_assert_register_ptr: precondition data->values == \null || - \valid(data->values) got status unknown. -[eva:alarm] FRAMAC_SHARE/libc/stdlib.h:524: Warning: - function __e_acsl_assert_register_ulong: precondition data->values == \null || - \valid(data->values) got status unknown. -[eva:alarm] FRAMAC_SHARE/libc/stdlib.h:524: Warning: - function __e_acsl_assert_register_int: precondition data->values == \null || - \valid(data->values) got status unknown. -[eva:alarm] FRAMAC_SHARE/libc/stdlib.h:524: Warning: - function __e_acsl_assert, behavior blocking: precondition got status unknown. -[eva:alarm] FRAMAC_SHARE/libc/stdlib.h:524: Warning: +[eva:alarm] FRAMAC_SHARE/libc/stdlib.h:558: Warning: function __gen_e_acsl_getenv: postcondition 'null_or_valid_result' got status unknown. [eva:alarm] t_getenv.c:13: Warning: function __e_acsl_assert_register_ptr: precondition data->values == \null || diff --git a/src/plugins/e-acsl/tests/temporal/oracle/t_memcpy.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle/t_memcpy.res.oracle index 9106573e05febb9ac0e542e9402eeab84e00c929..d421a5613b26293031f99c2f68eb452ebc82d9f2 100644 --- a/src/plugins/e-acsl/tests/temporal/oracle/t_memcpy.res.oracle +++ b/src/plugins/e-acsl/tests/temporal/oracle/t_memcpy.res.oracle @@ -1,26 +1,26 @@ [e-acsl] beginning translation. -[e-acsl] FRAMAC_SHARE/libc/string.h:131: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:148: Warning: no assigns clause generated for function valid_or_empty because pointers as arguments is not yet supported [e-acsl] FRAMAC_SHARE/libc/string.h:49: Warning: E-ACSL construct `predicates with labels' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:131: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:148: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:134: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:151: Warning: E-ACSL construct `datacons' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:95: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:112: Warning: E-ACSL construct `predicates with labels' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:96: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:113: Warning: no assigns clause generated for function valid_read_or_empty because pointers as arguments is not yet supported [e-acsl] FRAMAC_SHARE/libc/string.h:52: Warning: E-ACSL construct `predicates with labels' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:95: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:112: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/string.h:101: Warning: +[e-acsl] FRAMAC_SHARE/libc/string.h:118: Warning: E-ACSL construct `logic functions or predicates performing read accesses' is not yet supported. Ignoring annotation. @@ -49,27 +49,27 @@ [eva:alarm] t_memcpy.c:21: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] FRAMAC_SHARE/libc/string.h:98: Warning: +[eva:alarm] FRAMAC_SHARE/libc/string.h:115: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] FRAMAC_SHARE/libc/string.h:98: Warning: +[eva:alarm] FRAMAC_SHARE/libc/string.h:115: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] FRAMAC_SHARE/libc/string.h:98: Warning: +[eva:alarm] FRAMAC_SHARE/libc/string.h:115: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] FRAMAC_SHARE/libc/string.h:98: Warning: +[eva:alarm] FRAMAC_SHARE/libc/string.h:115: Warning: function __e_acsl_assert, behavior blocking: precondition got status unknown. -[eva:alarm] FRAMAC_SHARE/libc/string.h:98: Warning: +[eva:alarm] FRAMAC_SHARE/libc/string.h:115: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] FRAMAC_SHARE/libc/string.h:98: Warning: +[eva:alarm] FRAMAC_SHARE/libc/string.h:115: Warning: function __e_acsl_assert_register_ptr: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] FRAMAC_SHARE/libc/string.h:102: Warning: +[eva:alarm] FRAMAC_SHARE/libc/string.h:119: Warning: function __e_acsl_assert_register_ptr: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] FRAMAC_SHARE/libc/string.h:101: Warning: +[eva:alarm] FRAMAC_SHARE/libc/string.h:118: Warning: function __gen_e_acsl_memcpy: postcondition 'copied_contents' got status unknown. [eva:alarm] t_memcpy.c:25: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || @@ -95,10 +95,10 @@ [eva:alarm] t_memcpy.c:26: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] FRAMAC_SHARE/libc/string.h:135: Warning: +[eva:alarm] FRAMAC_SHARE/libc/string.h:152: Warning: function __e_acsl_assert_register_ptr: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] FRAMAC_SHARE/libc/string.h:134: Warning: +[eva:alarm] FRAMAC_SHARE/libc/string.h:151: Warning: function __gen_e_acsl_memset: postcondition 'acsl_c_equiv' got status unknown. [eva:alarm] t_memcpy.c:30: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || diff --git a/src/plugins/markdown-report/tests/md/oracle/cwe126.res.oracle b/src/plugins/markdown-report/tests/md/oracle/cwe126.res.oracle index 6355ddcc099d73f8d485c9774e22817ad25360f3..2b4cbb58cf0a423e68464a791e2fd97a3d07386b 100644 --- a/src/plugins/markdown-report/tests/md/oracle/cwe126.res.oracle +++ b/src/plugins/markdown-report/tests/md/oracle/cwe126.res.oracle @@ -4,7 +4,7 @@ [eva] cwe126.c:77: allocating variable __malloc_goodG2B_l77 [eva] using specification for function exit -[eva] FRAMAC_SHARE/libc/string.h:134: +[eva] FRAMAC_SHARE/libc/string.h:151: cannot evaluate ACSL term, unsupported ACSL construct: logic function memset [eva] cwe126.c:63: starting to merge loop iterations [eva] cwe126.c:41: diff --git a/src/plugins/markdown-report/tests/sarif/oracle/std_string.sarif b/src/plugins/markdown-report/tests/sarif/oracle/std_string.sarif index fdcbf846d8ca558a43f2473c229991bd095d249f..8cd873462f24eff47d8b190625670932cc3ff373 100644 --- a/src/plugins/markdown-report/tests/sarif/oracle/std_string.sarif +++ b/src/plugins/markdown-report/tests/sarif/oracle/std_string.sarif @@ -1157,9 +1157,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 189, + "startLine": 247, "startColumn": 12, - "endLine": 189, + "endLine": 247, "endColumn": 25, "byteLength": 13 } @@ -1180,9 +1180,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 187, + "startLine": 245, "startColumn": 28, - "endLine": 187, + "endLine": 245, "endColumn": 34, "byteLength": 6 } @@ -1203,9 +1203,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 189, + "startLine": 247, "startColumn": 12, - "endLine": 189, + "endLine": 247, "endColumn": 25, "byteLength": 13 } @@ -1226,9 +1226,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 185, + "startLine": 243, "startColumn": 13, - "endLine": 185, + "endLine": 243, "endColumn": 19, "byteLength": 6 } @@ -1251,9 +1251,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 198, + "startLine": 261, "startColumn": 17, - "endLine": 198, + "endLine": 261, "endColumn": 42, "byteLength": 25 } @@ -1276,9 +1276,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 198, + "startLine": 261, "startColumn": 17, - "endLine": 198, + "endLine": 261, "endColumn": 42, "byteLength": 25 } @@ -1301,9 +1301,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 197, + "startLine": 260, "startColumn": 12, - "endLine": 197, + "endLine": 260, "endColumn": 19, "byteLength": 7 } @@ -1326,9 +1326,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 202, + "startLine": 265, "startColumn": 17, - "endLine": 202, + "endLine": 265, "endColumn": 37, "byteLength": 20 } @@ -1351,9 +1351,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 202, + "startLine": 265, "startColumn": 17, - "endLine": 202, + "endLine": 265, "endColumn": 37, "byteLength": 20 } @@ -1376,9 +1376,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 201, + "startLine": 264, "startColumn": 12, - "endLine": 201, + "endLine": 264, "endColumn": 19, "byteLength": 7 } @@ -1401,9 +1401,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 205, + "startLine": 268, "startColumn": 17, - "endLine": 205, + "endLine": 268, "endColumn": 37, "byteLength": 20 } @@ -1426,9 +1426,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 205, + "startLine": 268, "startColumn": 17, - "endLine": 205, + "endLine": 268, "endColumn": 37, "byteLength": 20 } @@ -1451,9 +1451,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 204, + "startLine": 267, "startColumn": 12, - "endLine": 204, + "endLine": 267, "endColumn": 19, "byteLength": 7 } @@ -1476,9 +1476,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 80, + "startLine": 90, "startColumn": 12, - "endLine": 80, + "endLine": 90, "endColumn": 33, "byteLength": 21 } @@ -1499,9 +1499,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 75, + "startLine": 85, "startColumn": 20, - "endLine": 75, + "endLine": 85, "endColumn": 30, "byteLength": 10 } @@ -1522,9 +1522,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 78, + "startLine": 88, "startColumn": 28, - "endLine": 78, + "endLine": 88, "endColumn": 49, "byteLength": 21 } @@ -1547,9 +1547,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 76, + "startLine": 86, "startColumn": 12, - "endLine": 76, + "endLine": 86, "endColumn": 19, "byteLength": 7 } @@ -1572,9 +1572,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 76, + "startLine": 86, "startColumn": 12, - "endLine": 76, + "endLine": 86, "endColumn": 19, "byteLength": 7 } @@ -1597,9 +1597,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 77, + "startLine": 87, "startColumn": 12, - "endLine": 77, + "endLine": 87, "endColumn": 34, "byteLength": 22 } @@ -1622,9 +1622,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 172, + "startLine": 230, "startColumn": 14, - "endLine": 172, + "endLine": 230, "endColumn": 37, "byteLength": 23 } @@ -1636,7 +1636,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "finite." }, + "message": { + "text": "behavior finite in function Frama_C_double_interval." + }, "locations": [ { "physicalLocation": { @@ -1645,11 +1647,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 166, - "startColumn": 21, - "endLine": 166, - "endColumn": 55, - "byteLength": 34 + "startLine": 230, + "startColumn": 14, + "endLine": 230, + "endColumn": 37, + "byteLength": 23 } } } @@ -1659,7 +1661,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "order." }, + "message": { + "text": "behavior infinite_not_nan in function Frama_C_double_interval." + }, "locations": [ { "physicalLocation": { @@ -1668,11 +1672,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 167, - "startColumn": 20, - "endLine": 167, - "endColumn": 30, - "byteLength": 10 + "startLine": 230, + "startColumn": 14, + "endLine": 230, + "endColumn": 37, + "byteLength": 23 } } } @@ -1682,7 +1686,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_bounded." }, + "message": { "text": "order." }, "locations": [ { "physicalLocation": { @@ -1691,11 +1695,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 170, - "startColumn": 28, - "endLine": 170, - "endColumn": 72, - "byteLength": 44 + "startLine": 221, + "startColumn": 20, + "endLine": 221, + "endColumn": 30, + "byteLength": 10 } } } @@ -1705,9 +1709,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "assigns clause in function Frama_C_double_interval." - }, + "message": { "text": "order." }, "locations": [ { "physicalLocation": { @@ -1716,11 +1718,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 168, - "startColumn": 12, - "endLine": 168, - "endColumn": 19, - "byteLength": 7 + "startLine": 226, + "startColumn": 20, + "endLine": 226, + "endColumn": 30, + "byteLength": 10 } } } @@ -1730,9 +1732,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term \\result in function Frama_C_double_interval." - }, + "message": { "text": "finite." }, "locations": [ { "physicalLocation": { @@ -1741,11 +1741,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 168, - "startColumn": 12, - "endLine": 168, - "endColumn": 19, - "byteLength": 7 + "startLine": 220, + "startColumn": 20, + "endLine": 220, + "endColumn": 54, + "byteLength": 34 } } } @@ -1755,9 +1755,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term Frama_C_entropy_source in function Frama_C_double_interval." - }, + "message": { "text": "infinite." }, "locations": [ { "physicalLocation": { @@ -1766,11 +1764,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 169, - "startColumn": 12, - "endLine": 169, - "endColumn": 34, - "byteLength": 22 + "startLine": 224, + "startColumn": 22, + "endLine": 224, + "endColumn": 60, + "byteLength": 38 } } } @@ -1780,9 +1778,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "behavior default! in function Frama_C_float_interval." - }, + "message": { "text": "not_nan." }, "locations": [ { "physicalLocation": { @@ -1791,11 +1787,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 163, - "startColumn": 13, - "endLine": 163, - "endColumn": 35, - "byteLength": 22 + "startLine": 225, + "startColumn": 21, + "endLine": 225, + "endColumn": 51, + "byteLength": 30 } } } @@ -1805,7 +1801,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "finite." }, + "message": { "text": "result_bounded." }, "locations": [ { "physicalLocation": { @@ -1814,11 +1810,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 157, - "startColumn": 21, - "endLine": 157, - "endColumn": 55, - "byteLength": 34 + "startLine": 222, + "startColumn": 28, + "endLine": 222, + "endColumn": 72, + "byteLength": 44 } } } @@ -1828,7 +1824,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "order." }, + "message": { "text": "result_bounded." }, "locations": [ { "physicalLocation": { @@ -1837,11 +1833,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 158, - "startColumn": 20, - "endLine": 158, - "endColumn": 30, - "byteLength": 10 + "startLine": 227, + "startColumn": 28, + "endLine": 227, + "endColumn": 70, + "byteLength": 42 } } } @@ -1851,7 +1847,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_bounded." }, + "message": { + "text": "assigns clause in function Frama_C_double_interval." + }, "locations": [ { "physicalLocation": { @@ -1860,11 +1858,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 161, - "startColumn": 28, - "endLine": 161, - "endColumn": 72, - "byteLength": 44 + "startLine": 217, + "startColumn": 10, + "endLine": 217, + "endColumn": 17, + "byteLength": 7 } } } @@ -1875,7 +1873,7 @@ "kind": "pass", "level": "none", "message": { - "text": "assigns clause in function Frama_C_float_interval." + "text": "from clause of term \\result in function Frama_C_double_interval." }, "locations": [ { @@ -1885,10 +1883,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 159, - "startColumn": 12, - "endLine": 159, - "endColumn": 19, + "startLine": 217, + "startColumn": 10, + "endLine": 217, + "endColumn": 17, "byteLength": 7 } } @@ -1900,7 +1898,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term \\result in function Frama_C_float_interval." + "text": "from clause of term Frama_C_entropy_source in function Frama_C_double_interval." }, "locations": [ { @@ -1910,11 +1908,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 159, - "startColumn": 12, - "endLine": 159, - "endColumn": 19, - "byteLength": 7 + "startLine": 218, + "startColumn": 10, + "endLine": 218, + "endColumn": 32, + "byteLength": 22 } } } @@ -1925,7 +1923,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term Frama_C_entropy_source in function Frama_C_float_interval." + "text": "disjoint clause in function Frama_C_double_interval." }, "locations": [ { @@ -1935,11 +1933,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 160, - "startColumn": 12, - "endLine": 160, - "endColumn": 34, - "byteLength": 22 + "startLine": 230, + "startColumn": 14, + "endLine": 230, + "endColumn": 37, + "byteLength": 23 } } } @@ -1950,7 +1948,7 @@ "kind": "pass", "level": "none", "message": { - "text": "behavior default! in function Frama_C_int_interval." + "text": "behavior default! in function Frama_C_float_interval." }, "locations": [ { @@ -1960,11 +1958,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 114, - "startColumn": 11, - "endLine": 114, - "endColumn": 31, - "byteLength": 20 + "startLine": 213, + "startColumn": 13, + "endLine": 213, + "endColumn": 35, + "byteLength": 22 } } } @@ -1974,7 +1972,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "order." }, + "message": { + "text": "behavior finite in function Frama_C_float_interval." + }, "locations": [ { "physicalLocation": { @@ -1983,13 +1983,13 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 109, - "startColumn": 20, - "endLine": 109, - "endColumn": 30, - "byteLength": 10 - } - } + "startLine": 213, + "startColumn": 13, + "endLine": 213, + "endColumn": 35, + "byteLength": 22 + } + } } ] }, @@ -1997,7 +1997,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_bounded." }, + "message": { + "text": "behavior infinite_not_nan in function Frama_C_float_interval." + }, "locations": [ { "physicalLocation": { @@ -2006,11 +2008,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 112, - "startColumn": 28, - "endLine": 112, - "endColumn": 49, - "byteLength": 21 + "startLine": 213, + "startColumn": 13, + "endLine": 213, + "endColumn": 35, + "byteLength": 22 } } } @@ -2020,9 +2022,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "assigns clause in function Frama_C_int_interval." - }, + "message": { "text": "order." }, "locations": [ { "physicalLocation": { @@ -2031,11 +2031,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 110, - "startColumn": 12, - "endLine": 110, - "endColumn": 19, - "byteLength": 7 + "startLine": 204, + "startColumn": 20, + "endLine": 204, + "endColumn": 30, + "byteLength": 10 } } } @@ -2045,9 +2045,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term \\result in function Frama_C_int_interval." - }, + "message": { "text": "order." }, "locations": [ { "physicalLocation": { @@ -2056,11 +2054,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 110, - "startColumn": 12, - "endLine": 110, - "endColumn": 19, - "byteLength": 7 + "startLine": 209, + "startColumn": 20, + "endLine": 209, + "endColumn": 30, + "byteLength": 10 } } } @@ -2070,9 +2068,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term Frama_C_entropy_source in function Frama_C_int_interval." - }, + "message": { "text": "finite." }, "locations": [ { "physicalLocation": { @@ -2081,11 +2077,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 111, - "startColumn": 12, - "endLine": 111, - "endColumn": 34, - "byteLength": 22 + "startLine": 203, + "startColumn": 20, + "endLine": 203, + "endColumn": 54, + "byteLength": 34 } } } @@ -2095,9 +2091,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "behavior default! in function Frama_C_interval." - }, + "message": { "text": "infinite." }, "locations": [ { "physicalLocation": { @@ -2106,11 +2100,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 57, - "startColumn": 11, - "endLine": 57, - "endColumn": 27, - "byteLength": 16 + "startLine": 207, + "startColumn": 22, + "endLine": 207, + "endColumn": 60, + "byteLength": 38 } } } @@ -2120,7 +2114,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "order." }, + "message": { "text": "not_nan." }, "locations": [ { "physicalLocation": { @@ -2129,11 +2123,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 52, - "startColumn": 20, - "endLine": 52, - "endColumn": 30, - "byteLength": 10 + "startLine": 208, + "startColumn": 21, + "endLine": 208, + "endColumn": 51, + "byteLength": 30 } } } @@ -2152,11 +2146,34 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 55, + "startLine": 205, "startColumn": 28, - "endLine": 55, - "endColumn": 49, - "byteLength": 21 + "endLine": 205, + "endColumn": 72, + "byteLength": 44 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "result_bounded." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/__fc_builtin.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 210, + "startColumn": 28, + "endLine": 210, + "endColumn": 70, + "byteLength": 42 } } } @@ -2167,7 +2184,7 @@ "kind": "pass", "level": "none", "message": { - "text": "assigns clause in function Frama_C_interval." + "text": "assigns clause in function Frama_C_float_interval." }, "locations": [ { @@ -2177,10 +2194,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 53, - "startColumn": 12, - "endLine": 53, - "endColumn": 19, + "startLine": 200, + "startColumn": 10, + "endLine": 200, + "endColumn": 17, "byteLength": 7 } } @@ -2192,7 +2209,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term \\result in function Frama_C_interval." + "text": "from clause of term \\result in function Frama_C_float_interval." }, "locations": [ { @@ -2202,10 +2219,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 53, - "startColumn": 12, - "endLine": 53, - "endColumn": 19, + "startLine": 200, + "startColumn": 10, + "endLine": 200, + "endColumn": 17, "byteLength": 7 } } @@ -2217,7 +2234,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term Frama_C_entropy_source in function Frama_C_interval." + "text": "from clause of term Frama_C_entropy_source in function Frama_C_float_interval." }, "locations": [ { @@ -2227,10 +2244,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 54, - "startColumn": 12, - "endLine": 54, - "endColumn": 34, + "startLine": 201, + "startColumn": 10, + "endLine": 201, + "endColumn": 32, "byteLength": 22 } } @@ -2242,7 +2259,7 @@ "kind": "pass", "level": "none", "message": { - "text": "behavior default! in function Frama_C_interval_split." + "text": "disjoint clause in function Frama_C_float_interval." }, "locations": [ { @@ -2252,16 +2269,41 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 64, - "startColumn": 11, - "endLine": 64, - "endColumn": 33, + "startLine": 213, + "startColumn": 13, + "endLine": 213, + "endColumn": 35, "byteLength": 22 } } } ] }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { + "text": "behavior default! in function Frama_C_int_interval." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/__fc_builtin.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 124, + "startColumn": 11, + "endLine": 124, + "endColumn": 31, + "byteLength": 20 + } + } + } + ] + }, { "ruleId": "user-spec", "kind": "pass", @@ -2275,9 +2317,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 59, + "startLine": 119, "startColumn": 20, - "endLine": 59, + "endLine": 119, "endColumn": 30, "byteLength": 10 } @@ -2298,9 +2340,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 62, + "startLine": 122, "startColumn": 28, - "endLine": 62, + "endLine": 122, "endColumn": 49, "byteLength": 21 } @@ -2313,7 +2355,7 @@ "kind": "pass", "level": "none", "message": { - "text": "assigns clause in function Frama_C_interval_split." + "text": "assigns clause in function Frama_C_int_interval." }, "locations": [ { @@ -2323,9 +2365,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 60, + "startLine": 120, "startColumn": 12, - "endLine": 60, + "endLine": 120, "endColumn": 19, "byteLength": 7 } @@ -2338,7 +2380,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term \\result in function Frama_C_interval_split." + "text": "from clause of term \\result in function Frama_C_int_interval." }, "locations": [ { @@ -2348,9 +2390,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 60, + "startLine": 120, "startColumn": 12, - "endLine": 60, + "endLine": 120, "endColumn": 19, "byteLength": 7 } @@ -2363,7 +2405,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term Frama_C_entropy_source in function Frama_C_interval_split." + "text": "from clause of term Frama_C_entropy_source in function Frama_C_int_interval." }, "locations": [ { @@ -2373,9 +2415,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 61, + "startLine": 121, "startColumn": 12, - "endLine": 61, + "endLine": 121, "endColumn": 34, "byteLength": 22 } @@ -2388,7 +2430,7 @@ "kind": "pass", "level": "none", "message": { - "text": "behavior default! in function Frama_C_long_interval." + "text": "behavior default! in function Frama_C_interval." }, "locations": [ { @@ -2398,11 +2440,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 130, - "startColumn": 12, - "endLine": 130, - "endColumn": 33, - "byteLength": 21 + "startLine": 67, + "startColumn": 11, + "endLine": 67, + "endColumn": 27, + "byteLength": 16 } } } @@ -2421,9 +2463,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 125, + "startLine": 62, "startColumn": 20, - "endLine": 125, + "endLine": 62, "endColumn": 30, "byteLength": 10 } @@ -2444,9 +2486,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 128, + "startLine": 65, "startColumn": 28, - "endLine": 128, + "endLine": 65, "endColumn": 49, "byteLength": 21 } @@ -2459,7 +2501,7 @@ "kind": "pass", "level": "none", "message": { - "text": "assigns clause in function Frama_C_long_interval." + "text": "assigns clause in function Frama_C_interval." }, "locations": [ { @@ -2469,9 +2511,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 126, + "startLine": 63, "startColumn": 12, - "endLine": 126, + "endLine": 63, "endColumn": 19, "byteLength": 7 } @@ -2484,7 +2526,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term \\result in function Frama_C_long_interval." + "text": "from clause of term \\result in function Frama_C_interval." }, "locations": [ { @@ -2494,9 +2536,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 126, + "startLine": 63, "startColumn": 12, - "endLine": 126, + "endLine": 63, "endColumn": 19, "byteLength": 7 } @@ -2509,7 +2551,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term Frama_C_entropy_source in function Frama_C_long_interval." + "text": "from clause of term Frama_C_entropy_source in function Frama_C_interval." }, "locations": [ { @@ -2519,9 +2561,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 127, + "startLine": 64, "startColumn": 12, - "endLine": 127, + "endLine": 64, "endColumn": 34, "byteLength": 22 } @@ -2534,7 +2576,7 @@ "kind": "pass", "level": "none", "message": { - "text": "behavior default! in function Frama_C_long_long_interval." + "text": "behavior default! in function Frama_C_interval_split." }, "locations": [ { @@ -2544,11 +2586,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 146, - "startColumn": 17, - "endLine": 146, - "endColumn": 43, - "byteLength": 26 + "startLine": 74, + "startColumn": 11, + "endLine": 74, + "endColumn": 33, + "byteLength": 22 } } } @@ -2567,9 +2609,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 141, + "startLine": 69, "startColumn": 20, - "endLine": 141, + "endLine": 69, "endColumn": 30, "byteLength": 10 } @@ -2590,9 +2632,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 144, + "startLine": 72, "startColumn": 28, - "endLine": 144, + "endLine": 72, "endColumn": 49, "byteLength": 21 } @@ -2605,7 +2647,7 @@ "kind": "pass", "level": "none", "message": { - "text": "assigns clause in function Frama_C_long_long_interval." + "text": "assigns clause in function Frama_C_interval_split." }, "locations": [ { @@ -2615,9 +2657,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 142, + "startLine": 70, "startColumn": 12, - "endLine": 142, + "endLine": 70, "endColumn": 19, "byteLength": 7 } @@ -2630,7 +2672,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term \\result in function Frama_C_long_long_interval." + "text": "from clause of term \\result in function Frama_C_interval_split." }, "locations": [ { @@ -2640,9 +2682,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 142, + "startLine": 70, "startColumn": 12, - "endLine": 142, + "endLine": 70, "endColumn": 19, "byteLength": 7 } @@ -2655,7 +2697,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term Frama_C_entropy_source in function Frama_C_long_long_interval." + "text": "from clause of term Frama_C_entropy_source in function Frama_C_interval_split." }, "locations": [ { @@ -2665,9 +2707,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 143, + "startLine": 71, "startColumn": 12, - "endLine": 143, + "endLine": 71, "endColumn": 34, "byteLength": 22 } @@ -2680,7 +2722,7 @@ "kind": "pass", "level": "none", "message": { - "text": "behavior default! in function Frama_C_make_unknown." + "text": "behavior default! in function Frama_C_intmax_t_interval." }, "locations": [ { @@ -2690,11 +2732,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 38, - "startColumn": 12, - "endLine": 38, - "endColumn": 32, - "byteLength": 20 + "startLine": 172, + "startColumn": 16, + "endLine": 172, + "endColumn": 41, + "byteLength": 25 } } } @@ -2704,7 +2746,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "valid_p." }, + "message": { "text": "order." }, "locations": [ { "physicalLocation": { @@ -2713,11 +2755,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 33, - "startColumn": 22, - "endLine": 33, - "endColumn": 44, - "byteLength": 22 + "startLine": 167, + "startColumn": 20, + "endLine": 167, + "endColumn": 30, + "byteLength": 10 } } } @@ -2727,7 +2769,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "initialization." }, + "message": { "text": "result_bounded." }, "locations": [ { "physicalLocation": { @@ -2736,11 +2778,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 36, + "startLine": 170, "startColumn": 28, - "endLine": 36, - "endColumn": 56, - "byteLength": 28 + "endLine": 170, + "endColumn": 49, + "byteLength": 21 } } } @@ -2751,7 +2793,7 @@ "kind": "pass", "level": "none", "message": { - "text": "assigns clause in function Frama_C_make_unknown." + "text": "assigns clause in function Frama_C_intmax_t_interval." }, "locations": [ { @@ -2761,11 +2803,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 34, + "startLine": 168, "startColumn": 12, - "endLine": 34, - "endColumn": 23, - "byteLength": 11 + "endLine": 168, + "endColumn": 19, + "byteLength": 7 } } } @@ -2776,7 +2818,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term *(p + (0 .. l - 1)) in function Frama_C_make_unknown." + "text": "from clause of term \\result in function Frama_C_intmax_t_interval." }, "locations": [ { @@ -2786,11 +2828,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 34, + "startLine": 168, "startColumn": 12, - "endLine": 34, - "endColumn": 23, - "byteLength": 11 + "endLine": 168, + "endColumn": 19, + "byteLength": 7 } } } @@ -2801,7 +2843,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term Frama_C_entropy_source in function Frama_C_make_unknown." + "text": "from clause of term Frama_C_entropy_source in function Frama_C_intmax_t_interval." }, "locations": [ { @@ -2811,9 +2853,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 35, + "startLine": 169, "startColumn": 12, - "endLine": 35, + "endLine": 169, "endColumn": 34, "byteLength": 22 } @@ -2826,7 +2868,7 @@ "kind": "pass", "level": "none", "message": { - "text": "behavior default! in function Frama_C_nondet." + "text": "behavior default! in function Frama_C_long_interval." }, "locations": [ { @@ -2836,11 +2878,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 44, - "startColumn": 11, - "endLine": 44, - "endColumn": 25, - "byteLength": 14 + "startLine": 140, + "startColumn": 12, + "endLine": 140, + "endColumn": 33, + "byteLength": 21 } } } @@ -2850,7 +2892,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_a_or_b." }, + "message": { "text": "order." }, "locations": [ { "physicalLocation": { @@ -2859,11 +2901,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 42, - "startColumn": 27, - "endLine": 42, - "endColumn": 55, - "byteLength": 28 + "startLine": 135, + "startColumn": 20, + "endLine": 135, + "endColumn": 30, + "byteLength": 10 } } } @@ -2873,7 +2915,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function Frama_C_nondet." }, + "message": { "text": "result_bounded." }, "locations": [ { "physicalLocation": { @@ -2882,11 +2924,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 40, - "startColumn": 12, - "endLine": 40, - "endColumn": 19, - "byteLength": 7 + "startLine": 138, + "startColumn": 28, + "endLine": 138, + "endColumn": 49, + "byteLength": 21 } } } @@ -2897,7 +2939,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term \\result in function Frama_C_nondet." + "text": "assigns clause in function Frama_C_long_interval." }, "locations": [ { @@ -2907,9 +2949,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 40, + "startLine": 136, "startColumn": 12, - "endLine": 40, + "endLine": 136, "endColumn": 19, "byteLength": 7 } @@ -2922,7 +2964,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term Frama_C_entropy_source in function Frama_C_nondet." + "text": "from clause of term \\result in function Frama_C_long_interval." }, "locations": [ { @@ -2932,11 +2974,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 41, + "startLine": 136, "startColumn": 12, - "endLine": 41, - "endColumn": 34, - "byteLength": 22 + "endLine": 136, + "endColumn": 19, + "byteLength": 7 } } } @@ -2947,7 +2989,7 @@ "kind": "pass", "level": "none", "message": { - "text": "behavior default! in function Frama_C_nondet_ptr." + "text": "from clause of term Frama_C_entropy_source in function Frama_C_long_interval." }, "locations": [ { @@ -2957,11 +2999,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 50, - "startColumn": 13, - "endLine": 50, - "endColumn": 31, - "byteLength": 18 + "startLine": 137, + "startColumn": 12, + "endLine": 137, + "endColumn": 34, + "byteLength": 22 } } } @@ -2971,7 +3013,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_a_or_b." }, + "message": { + "text": "behavior default! in function Frama_C_long_long_interval." + }, "locations": [ { "physicalLocation": { @@ -2980,11 +3024,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 48, - "startColumn": 27, - "endLine": 48, - "endColumn": 55, - "byteLength": 28 + "startLine": 156, + "startColumn": 17, + "endLine": 156, + "endColumn": 43, + "byteLength": 26 } } } @@ -2994,9 +3038,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "assigns clause in function Frama_C_nondet_ptr." - }, + "message": { "text": "order." }, "locations": [ { "physicalLocation": { @@ -3005,11 +3047,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 46, - "startColumn": 12, - "endLine": 46, - "endColumn": 19, - "byteLength": 7 + "startLine": 151, + "startColumn": 20, + "endLine": 151, + "endColumn": 30, + "byteLength": 10 } } } @@ -3019,9 +3061,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term \\result in function Frama_C_nondet_ptr." - }, + "message": { "text": "result_bounded." }, "locations": [ { "physicalLocation": { @@ -3030,11 +3070,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 46, - "startColumn": 12, - "endLine": 46, - "endColumn": 19, - "byteLength": 7 + "startLine": 154, + "startColumn": 28, + "endLine": 154, + "endColumn": 49, + "byteLength": 21 } } } @@ -3045,7 +3085,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term Frama_C_entropy_source in function Frama_C_nondet_ptr." + "text": "assigns clause in function Frama_C_long_long_interval." }, "locations": [ { @@ -3055,11 +3095,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 47, + "startLine": 152, "startColumn": 12, - "endLine": 47, - "endColumn": 34, - "byteLength": 22 + "endLine": 152, + "endColumn": 19, + "byteLength": 7 } } } @@ -3070,7 +3110,7 @@ "kind": "pass", "level": "none", "message": { - "text": "behavior default! in function Frama_C_offset." + "text": "from clause of term \\result in function Frama_C_long_long_interval." }, "locations": [ { @@ -3080,11 +3120,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 193, - "startColumn": 14, - "endLine": 193, - "endColumn": 28, - "byteLength": 14 + "startLine": 152, + "startColumn": 12, + "endLine": 152, + "endColumn": 19, + "byteLength": 7 } } } @@ -3094,7 +3134,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function Frama_C_offset." }, + "message": { + "text": "from clause of term Frama_C_entropy_source in function Frama_C_long_long_interval." + }, "locations": [ { "physicalLocation": { @@ -3103,11 +3145,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 193, - "startColumn": 14, - "endLine": 193, - "endColumn": 28, - "byteLength": 14 + "startLine": 153, + "startColumn": 12, + "endLine": 153, + "endColumn": 34, + "byteLength": 22 } } } @@ -3118,7 +3160,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term \\result in function Frama_C_offset." + "text": "behavior default! in function Frama_C_make_unknown." }, "locations": [ { @@ -3128,11 +3170,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 192, + "startLine": 41, "startColumn": 12, - "endLine": 192, - "endColumn": 19, - "byteLength": 7 + "endLine": 41, + "endColumn": 32, + "byteLength": 20 } } } @@ -3142,9 +3184,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "behavior default! in function Frama_C_real_interval_as_double." - }, + "message": { "text": "valid_p." }, "locations": [ { "physicalLocation": { @@ -3153,11 +3193,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 181, - "startColumn": 14, - "endLine": 181, - "endColumn": 45, - "byteLength": 31 + "startLine": 36, + "startColumn": 22, + "endLine": 36, + "endColumn": 44, + "byteLength": 22 } } } @@ -3167,7 +3207,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "finite." }, + "message": { "text": "initialization." }, "locations": [ { "physicalLocation": { @@ -3176,11 +3216,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 175, - "startColumn": 21, - "endLine": 175, - "endColumn": 55, - "byteLength": 34 + "startLine": 39, + "startColumn": 28, + "endLine": 39, + "endColumn": 56, + "byteLength": 28 } } } @@ -3190,7 +3230,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "order." }, + "message": { + "text": "assigns clause in function Frama_C_make_unknown." + }, "locations": [ { "physicalLocation": { @@ -3199,11 +3241,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 176, - "startColumn": 20, - "endLine": 176, - "endColumn": 30, - "byteLength": 10 + "startLine": 37, + "startColumn": 12, + "endLine": 37, + "endColumn": 23, + "byteLength": 11 } } } @@ -3213,7 +3255,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_bounded." }, + "message": { + "text": "from clause of term *(p + (0 .. l - 1)) in function Frama_C_make_unknown." + }, "locations": [ { "physicalLocation": { @@ -3222,11 +3266,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 179, - "startColumn": 28, - "endLine": 179, - "endColumn": 72, - "byteLength": 44 + "startLine": 37, + "startColumn": 12, + "endLine": 37, + "endColumn": 23, + "byteLength": 11 } } } @@ -3237,7 +3281,7 @@ "kind": "pass", "level": "none", "message": { - "text": "assigns clause in function Frama_C_real_interval_as_double." + "text": "from clause of term Frama_C_entropy_source in function Frama_C_make_unknown." }, "locations": [ { @@ -3247,11 +3291,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 177, + "startLine": 38, "startColumn": 12, - "endLine": 177, - "endColumn": 19, - "byteLength": 7 + "endLine": 38, + "endColumn": 34, + "byteLength": 22 } } } @@ -3262,7 +3306,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term \\result in function Frama_C_real_interval_as_double." + "text": "behavior default! in function Frama_C_make_unknown_wchar." }, "locations": [ { @@ -3272,11 +3316,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 177, + "startLine": 48, "startColumn": 12, - "endLine": 177, - "endColumn": 19, - "byteLength": 7 + "endLine": 48, + "endColumn": 38, + "byteLength": 26 } } } @@ -3286,9 +3330,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term Frama_C_entropy_source in function Frama_C_real_interval_as_double." - }, + "message": { "text": "valid_p." }, "locations": [ { "physicalLocation": { @@ -3297,10 +3339,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 178, - "startColumn": 12, - "endLine": 178, - "endColumn": 34, + "startLine": 43, + "startColumn": 22, + "endLine": 43, + "endColumn": 44, "byteLength": 22 } } @@ -3311,9 +3353,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "behavior default! in function Frama_C_short_interval." - }, + "message": { "text": "initialization." }, "locations": [ { "physicalLocation": { @@ -3322,11 +3362,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 97, - "startColumn": 13, - "endLine": 97, - "endColumn": 35, - "byteLength": 22 + "startLine": 46, + "startColumn": 28, + "endLine": 46, + "endColumn": 56, + "byteLength": 28 } } } @@ -3336,7 +3376,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "order." }, + "message": { + "text": "assigns clause in function Frama_C_make_unknown_wchar." + }, "locations": [ { "physicalLocation": { @@ -3345,11 +3387,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 92, - "startColumn": 20, - "endLine": 92, - "endColumn": 30, - "byteLength": 10 + "startLine": 44, + "startColumn": 12, + "endLine": 44, + "endColumn": 23, + "byteLength": 11 } } } @@ -3359,7 +3401,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_bounded." }, + "message": { + "text": "from clause of term *(p + (0 .. l - 1)) in function Frama_C_make_unknown_wchar." + }, "locations": [ { "physicalLocation": { @@ -3368,11 +3412,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 95, - "startColumn": 28, - "endLine": 95, - "endColumn": 49, - "byteLength": 21 + "startLine": 44, + "startColumn": 12, + "endLine": 44, + "endColumn": 23, + "byteLength": 11 } } } @@ -3383,7 +3427,7 @@ "kind": "pass", "level": "none", "message": { - "text": "assigns clause in function Frama_C_short_interval." + "text": "from clause of term Frama_C_entropy_source in function Frama_C_make_unknown_wchar." }, "locations": [ { @@ -3393,11 +3437,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 93, + "startLine": 45, "startColumn": 12, - "endLine": 93, - "endColumn": 19, - "byteLength": 7 + "endLine": 45, + "endColumn": 34, + "byteLength": 22 } } } @@ -3408,7 +3452,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term \\result in function Frama_C_short_interval." + "text": "behavior default! in function Frama_C_malloc_fresh." }, "locations": [ { @@ -3418,11 +3462,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 93, - "startColumn": 12, - "endLine": 93, - "endColumn": 19, - "byteLength": 7 + "startLine": 258, + "startColumn": 13, + "endLine": 258, + "endColumn": 33, + "byteLength": 20 } } } @@ -3433,7 +3477,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term Frama_C_entropy_source in function Frama_C_short_interval." + "text": "assigns clause in function Frama_C_malloc_fresh." }, "locations": [ { @@ -3443,11 +3487,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 94, - "startColumn": 12, - "endLine": 94, - "endColumn": 34, - "byteLength": 22 + "startLine": 255, + "startColumn": 10, + "endLine": 255, + "endColumn": 26, + "byteLength": 16 } } } @@ -3458,7 +3502,7 @@ "kind": "pass", "level": "none", "message": { - "text": "behavior default! in function Frama_C_size_t_interval." + "text": "from clause of term __fc_heap_status in function Frama_C_malloc_fresh." }, "locations": [ { @@ -3468,11 +3512,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 154, - "startColumn": 14, - "endLine": 154, - "endColumn": 37, - "byteLength": 23 + "startLine": 255, + "startColumn": 10, + "endLine": 255, + "endColumn": 26, + "byteLength": 16 } } } @@ -3482,7 +3526,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "order." }, + "message": { + "text": "from clause of term \\result in function Frama_C_malloc_fresh." + }, "locations": [ { "physicalLocation": { @@ -3491,11 +3537,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 149, - "startColumn": 20, - "endLine": 149, - "endColumn": 30, - "byteLength": 10 + "startLine": 256, + "startColumn": 10, + "endLine": 256, + "endColumn": 17, + "byteLength": 7 } } } @@ -3505,7 +3551,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_bounded." }, + "message": { + "text": "allocates/frees clause in function Frama_C_malloc_fresh." + }, "locations": [ { "physicalLocation": { @@ -3514,11 +3562,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 152, - "startColumn": 28, - "endLine": 152, - "endColumn": 49, - "byteLength": 21 + "startLine": 254, + "startColumn": 12, + "endLine": 254, + "endColumn": 19, + "byteLength": 7 } } } @@ -3529,7 +3577,7 @@ "kind": "pass", "level": "none", "message": { - "text": "assigns clause in function Frama_C_size_t_interval." + "text": "behavior default! in function Frama_C_nondet." }, "locations": [ { @@ -3539,11 +3587,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 150, - "startColumn": 12, - "endLine": 150, - "endColumn": 19, - "byteLength": 7 + "startLine": 54, + "startColumn": 11, + "endLine": 54, + "endColumn": 25, + "byteLength": 14 } } } @@ -3553,9 +3601,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term \\result in function Frama_C_size_t_interval." - }, + "message": { "text": "result_a_or_b." }, "locations": [ { "physicalLocation": { @@ -3564,11 +3610,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 150, - "startColumn": 12, - "endLine": 150, - "endColumn": 19, - "byteLength": 7 + "startLine": 52, + "startColumn": 27, + "endLine": 52, + "endColumn": 55, + "byteLength": 28 } } } @@ -3578,9 +3624,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term Frama_C_entropy_source in function Frama_C_size_t_interval." - }, + "message": { "text": "assigns clause in function Frama_C_nondet." }, "locations": [ { "physicalLocation": { @@ -3589,11 +3633,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 151, + "startLine": 50, "startColumn": 12, - "endLine": 151, - "endColumn": 34, - "byteLength": 22 + "endLine": 50, + "endColumn": 19, + "byteLength": 7 } } } @@ -3604,7 +3648,7 @@ "kind": "pass", "level": "none", "message": { - "text": "behavior default! in function Frama_C_unsigned_char_interval." + "text": "from clause of term \\result in function Frama_C_nondet." }, "locations": [ { @@ -3614,11 +3658,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 71, - "startColumn": 21, - "endLine": 71, - "endColumn": 51, - "byteLength": 30 + "startLine": 50, + "startColumn": 12, + "endLine": 50, + "endColumn": 19, + "byteLength": 7 } } } @@ -3628,7 +3672,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "order." }, + "message": { + "text": "from clause of term Frama_C_entropy_source in function Frama_C_nondet." + }, "locations": [ { "physicalLocation": { @@ -3637,11 +3683,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 66, - "startColumn": 20, - "endLine": 66, - "endColumn": 30, - "byteLength": 10 + "startLine": 51, + "startColumn": 12, + "endLine": 51, + "endColumn": 34, + "byteLength": 22 } } } @@ -3651,7 +3697,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_bounded." }, + "message": { + "text": "behavior default! in function Frama_C_nondet_ptr." + }, "locations": [ { "physicalLocation": { @@ -3660,11 +3708,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 69, - "startColumn": 28, - "endLine": 69, - "endColumn": 49, - "byteLength": 21 + "startLine": 60, + "startColumn": 13, + "endLine": 60, + "endColumn": 31, + "byteLength": 18 } } } @@ -3674,9 +3722,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "assigns clause in function Frama_C_unsigned_char_interval." - }, + "message": { "text": "result_a_or_b." }, "locations": [ { "physicalLocation": { @@ -3685,11 +3731,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 67, - "startColumn": 12, - "endLine": 67, - "endColumn": 19, - "byteLength": 7 + "startLine": 58, + "startColumn": 27, + "endLine": 58, + "endColumn": 55, + "byteLength": 28 } } } @@ -3700,7 +3746,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term \\result in function Frama_C_unsigned_char_interval." + "text": "assigns clause in function Frama_C_nondet_ptr." }, "locations": [ { @@ -3710,9 +3756,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 67, + "startLine": 56, "startColumn": 12, - "endLine": 67, + "endLine": 56, "endColumn": 19, "byteLength": 7 } @@ -3725,7 +3771,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term Frama_C_entropy_source in function Frama_C_unsigned_char_interval." + "text": "from clause of term \\result in function Frama_C_nondet_ptr." }, "locations": [ { @@ -3735,11 +3781,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 68, + "startLine": 56, "startColumn": 12, - "endLine": 68, - "endColumn": 34, - "byteLength": 22 + "endLine": 56, + "endColumn": 19, + "byteLength": 7 } } } @@ -3750,7 +3796,7 @@ "kind": "pass", "level": "none", "message": { - "text": "behavior default! in function Frama_C_unsigned_int_interval." + "text": "from clause of term Frama_C_entropy_source in function Frama_C_nondet_ptr." }, "locations": [ { @@ -3760,34 +3806,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 105, - "startColumn": 20, - "endLine": 105, - "endColumn": 49, - "byteLength": 29 - } - } - } - ] - }, - { - "ruleId": "user-spec", - "kind": "pass", - "level": "none", - "message": { "text": "order." }, - "locations": [ - { - "physicalLocation": { - "artifactLocation": { - "uri": "libc/__fc_builtin.h", - "uriBaseId": "FRAMAC_SHARE" - }, - "region": { - "startLine": 100, - "startColumn": 20, - "endLine": 100, - "endColumn": 30, - "byteLength": 10 + "startLine": 57, + "startColumn": 12, + "endLine": 57, + "endColumn": 34, + "byteLength": 22 } } } @@ -3797,7 +3820,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_bounded." }, + "message": { + "text": "behavior default! in function Frama_C_offset." + }, "locations": [ { "physicalLocation": { @@ -3806,11 +3831,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 103, - "startColumn": 28, - "endLine": 103, - "endColumn": 49, - "byteLength": 21 + "startLine": 251, + "startColumn": 14, + "endLine": 251, + "endColumn": 28, + "byteLength": 14 } } } @@ -3820,9 +3845,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "assigns clause in function Frama_C_unsigned_int_interval." - }, + "message": { "text": "assigns clause in function Frama_C_offset." }, "locations": [ { "physicalLocation": { @@ -3831,11 +3854,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 101, - "startColumn": 12, - "endLine": 101, - "endColumn": 19, - "byteLength": 7 + "startLine": 251, + "startColumn": 14, + "endLine": 251, + "endColumn": 28, + "byteLength": 14 } } } @@ -3846,7 +3869,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term \\result in function Frama_C_unsigned_int_interval." + "text": "from clause of term \\result in function Frama_C_offset." }, "locations": [ { @@ -3856,9 +3879,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 101, + "startLine": 250, "startColumn": 12, - "endLine": 101, + "endLine": 250, "endColumn": 19, "byteLength": 7 } @@ -3871,7 +3894,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term Frama_C_entropy_source in function Frama_C_unsigned_int_interval." + "text": "behavior default! in function Frama_C_ptrdiff_t_interval." }, "locations": [ { @@ -3881,11 +3904,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 102, - "startColumn": 12, - "endLine": 102, - "endColumn": 34, - "byteLength": 22 + "startLine": 188, + "startColumn": 17, + "endLine": 188, + "endColumn": 43, + "byteLength": 26 } } } @@ -3895,9 +3918,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "behavior default! in function Frama_C_unsigned_long_interval." - }, + "message": { "text": "order." }, "locations": [ { "physicalLocation": { @@ -3906,11 +3927,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 121, - "startColumn": 21, - "endLine": 121, - "endColumn": 51, - "byteLength": 30 + "startLine": 183, + "startColumn": 20, + "endLine": 183, + "endColumn": 30, + "byteLength": 10 } } } @@ -3920,7 +3941,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "order." }, + "message": { "text": "result_bounded." }, "locations": [ { "physicalLocation": { @@ -3929,11 +3950,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 116, - "startColumn": 20, - "endLine": 116, - "endColumn": 30, - "byteLength": 10 + "startLine": 186, + "startColumn": 28, + "endLine": 186, + "endColumn": 49, + "byteLength": 21 } } } @@ -3943,7 +3964,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_bounded." }, + "message": { + "text": "assigns clause in function Frama_C_ptrdiff_t_interval." + }, "locations": [ { "physicalLocation": { @@ -3952,11 +3975,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 119, - "startColumn": 28, - "endLine": 119, - "endColumn": 49, - "byteLength": 21 + "startLine": 184, + "startColumn": 12, + "endLine": 184, + "endColumn": 19, + "byteLength": 7 } } } @@ -3967,7 +3990,7 @@ "kind": "pass", "level": "none", "message": { - "text": "assigns clause in function Frama_C_unsigned_long_interval." + "text": "from clause of term \\result in function Frama_C_ptrdiff_t_interval." }, "locations": [ { @@ -3977,9 +4000,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 117, + "startLine": 184, "startColumn": 12, - "endLine": 117, + "endLine": 184, "endColumn": 19, "byteLength": 7 } @@ -3992,7 +4015,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term \\result in function Frama_C_unsigned_long_interval." + "text": "from clause of term Frama_C_entropy_source in function Frama_C_ptrdiff_t_interval." }, "locations": [ { @@ -4002,11 +4025,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 117, + "startLine": 185, "startColumn": 12, - "endLine": 117, - "endColumn": 19, - "byteLength": 7 + "endLine": 185, + "endColumn": 34, + "byteLength": 22 } } } @@ -4017,7 +4040,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term Frama_C_entropy_source in function Frama_C_unsigned_long_interval." + "text": "behavior default! in function Frama_C_real_interval_as_double." }, "locations": [ { @@ -4027,11 +4050,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 118, - "startColumn": 12, - "endLine": 118, - "endColumn": 34, - "byteLength": 22 + "startLine": 239, + "startColumn": 14, + "endLine": 239, + "endColumn": 45, + "byteLength": 31 } } } @@ -4041,9 +4064,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "behavior default! in function Frama_C_unsigned_long_long_interval." - }, + "message": { "text": "finite." }, "locations": [ { "physicalLocation": { @@ -4052,11 +4073,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 138, - "startColumn": 26, - "endLine": 138, - "endColumn": 61, - "byteLength": 35 + "startLine": 233, + "startColumn": 21, + "endLine": 233, + "endColumn": 55, + "byteLength": 34 } } } @@ -4075,9 +4096,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 133, + "startLine": 234, "startColumn": 20, - "endLine": 133, + "endLine": 234, "endColumn": 30, "byteLength": 10 } @@ -4098,11 +4119,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 136, + "startLine": 237, "startColumn": 28, - "endLine": 136, - "endColumn": 49, - "byteLength": 21 + "endLine": 237, + "endColumn": 72, + "byteLength": 44 } } } @@ -4113,7 +4134,7 @@ "kind": "pass", "level": "none", "message": { - "text": "assigns clause in function Frama_C_unsigned_long_long_interval." + "text": "assigns clause in function Frama_C_real_interval_as_double." }, "locations": [ { @@ -4123,9 +4144,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 134, + "startLine": 235, "startColumn": 12, - "endLine": 134, + "endLine": 235, "endColumn": 19, "byteLength": 7 } @@ -4138,7 +4159,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term \\result in function Frama_C_unsigned_long_long_interval." + "text": "from clause of term \\result in function Frama_C_real_interval_as_double." }, "locations": [ { @@ -4148,9 +4169,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 134, + "startLine": 235, "startColumn": 12, - "endLine": 134, + "endLine": 235, "endColumn": 19, "byteLength": 7 } @@ -4163,7 +4184,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term Frama_C_entropy_source in function Frama_C_unsigned_long_long_interval." + "text": "from clause of term Frama_C_entropy_source in function Frama_C_real_interval_as_double." }, "locations": [ { @@ -4173,9 +4194,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 135, + "startLine": 236, "startColumn": 12, - "endLine": 135, + "endLine": 236, "endColumn": 34, "byteLength": 22 } @@ -4188,7 +4209,7 @@ "kind": "pass", "level": "none", "message": { - "text": "behavior default! in function Frama_C_unsigned_short_interval." + "text": "behavior default! in function Frama_C_short_interval." }, "locations": [ { @@ -4198,11 +4219,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 88, - "startColumn": 22, - "endLine": 88, - "endColumn": 53, - "byteLength": 31 + "startLine": 107, + "startColumn": 13, + "endLine": 107, + "endColumn": 35, + "byteLength": 22 } } } @@ -4221,9 +4242,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 83, + "startLine": 102, "startColumn": 20, - "endLine": 83, + "endLine": 102, "endColumn": 30, "byteLength": 10 } @@ -4244,9 +4265,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 86, + "startLine": 105, "startColumn": 28, - "endLine": 86, + "endLine": 105, "endColumn": 49, "byteLength": 21 } @@ -4259,7 +4280,7 @@ "kind": "pass", "level": "none", "message": { - "text": "assigns clause in function Frama_C_unsigned_short_interval." + "text": "assigns clause in function Frama_C_short_interval." }, "locations": [ { @@ -4269,9 +4290,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 84, + "startLine": 103, "startColumn": 12, - "endLine": 84, + "endLine": 103, "endColumn": 19, "byteLength": 7 } @@ -4284,7 +4305,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term \\result in function Frama_C_unsigned_short_interval." + "text": "from clause of term \\result in function Frama_C_short_interval." }, "locations": [ { @@ -4294,9 +4315,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 84, + "startLine": 103, "startColumn": 12, - "endLine": 84, + "endLine": 103, "endColumn": 19, "byteLength": 7 } @@ -4309,7 +4330,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term Frama_C_entropy_source in function Frama_C_unsigned_short_interval." + "text": "from clause of term Frama_C_entropy_source in function Frama_C_short_interval." }, "locations": [ { @@ -4319,9 +4340,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 85, + "startLine": 104, "startColumn": 12, - "endLine": 85, + "endLine": 104, "endColumn": 34, "byteLength": 22 } @@ -4334,7 +4355,7 @@ "kind": "pass", "level": "none", "message": { - "text": "behavior default! in function Frama_C_watch_cardinal." + "text": "behavior default! in function Frama_C_size_t_interval." }, "locations": [ { @@ -4344,11 +4365,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 212, - "startColumn": 12, - "endLine": 212, - "endColumn": 34, - "byteLength": 22 + "startLine": 164, + "startColumn": 14, + "endLine": 164, + "endColumn": 37, + "byteLength": 23 } } } @@ -4358,9 +4379,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "assigns clause in function Frama_C_watch_cardinal." - }, + "message": { "text": "order." }, "locations": [ { "physicalLocation": { @@ -4369,11 +4388,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 212, - "startColumn": 12, - "endLine": 212, - "endColumn": 34, - "byteLength": 22 + "startLine": 159, + "startColumn": 20, + "endLine": 159, + "endColumn": 30, + "byteLength": 10 } } } @@ -4383,9 +4402,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "behavior default! in function Frama_C_watch_value." - }, + "message": { "text": "result_bounded." }, "locations": [ { "physicalLocation": { @@ -4394,11 +4411,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 208, - "startColumn": 12, - "endLine": 208, - "endColumn": 31, - "byteLength": 19 + "startLine": 162, + "startColumn": 28, + "endLine": 162, + "endColumn": 49, + "byteLength": 21 } } } @@ -4409,7 +4426,7 @@ "kind": "pass", "level": "none", "message": { - "text": "assigns clause in function Frama_C_watch_value." + "text": "assigns clause in function Frama_C_size_t_interval." }, "locations": [ { @@ -4419,11 +4436,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 208, + "startLine": 160, "startColumn": 12, - "endLine": 208, - "endColumn": 31, - "byteLength": 19 + "endLine": 160, + "endColumn": 19, + "byteLength": 7 } } } @@ -4433,20 +4450,22 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function _Exit." }, + "message": { + "text": "from clause of term \\result in function Frama_C_size_t_interval." + }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/__fc_builtin.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 517, + "startLine": 160, "startColumn": 12, - "endLine": 517, - "endColumn": 17, - "byteLength": 5 + "endLine": 160, + "endColumn": 19, + "byteLength": 7 } } } @@ -4456,20 +4475,22 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "never_terminates." }, + "message": { + "text": "from clause of term Frama_C_entropy_source in function Frama_C_size_t_interval." + }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/__fc_builtin.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 515, - "startColumn": 28, - "endLine": 515, + "startLine": 161, + "startColumn": 12, + "endLine": 161, "endColumn": 34, - "byteLength": 6 + "byteLength": 22 } } } @@ -4479,20 +4500,22 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function _Exit." }, + "message": { + "text": "behavior default! in function Frama_C_uintmax_t_interval." + }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/__fc_builtin.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 517, - "startColumn": 12, - "endLine": 517, - "endColumn": 17, - "byteLength": 5 + "startLine": 180, + "startColumn": 17, + "endLine": 180, + "endColumn": 43, + "byteLength": 26 } } } @@ -4502,20 +4525,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function abort." }, + "message": { "text": "order." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/__fc_builtin.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 498, - "startColumn": 12, - "endLine": 498, - "endColumn": 17, - "byteLength": 5 + "startLine": 175, + "startColumn": 20, + "endLine": 175, + "endColumn": 30, + "byteLength": 10 } } } @@ -4525,20 +4548,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "status." }, + "message": { "text": "result_bounded." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/__fc_builtin.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 495, - "startColumn": 16, - "endLine": 495, - "endColumn": 33, - "byteLength": 17 + "startLine": 178, + "startColumn": 28, + "endLine": 178, + "endColumn": 49, + "byteLength": 21 } } } @@ -4548,20 +4571,22 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "never_terminates." }, + "message": { + "text": "assigns clause in function Frama_C_uintmax_t_interval." + }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/__fc_builtin.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 496, - "startColumn": 28, - "endLine": 496, - "endColumn": 34, - "byteLength": 6 + "startLine": 176, + "startColumn": 12, + "endLine": 176, + "endColumn": 19, + "byteLength": 7 } } } @@ -4571,20 +4596,22 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function abort." }, + "message": { + "text": "from clause of term \\result in function Frama_C_uintmax_t_interval." + }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/__fc_builtin.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 494, - "startColumn": 10, - "endLine": 494, - "endColumn": 22, - "byteLength": 12 + "startLine": 176, + "startColumn": 12, + "endLine": 176, + "endColumn": 19, + "byteLength": 7 } } } @@ -4595,21 +4622,21 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term \\exit_status in function abort." + "text": "from clause of term Frama_C_entropy_source in function Frama_C_uintmax_t_interval." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/__fc_builtin.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 494, - "startColumn": 10, - "endLine": 494, - "endColumn": 22, - "byteLength": 12 + "startLine": 177, + "startColumn": 12, + "endLine": 177, + "endColumn": 34, + "byteLength": 22 } } } @@ -4619,20 +4646,22 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function abs." }, + "message": { + "text": "behavior default! in function Frama_C_unsigned_char_interval." + }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/__fc_builtin.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 611, - "startColumn": 11, - "endLine": 611, - "endColumn": 14, - "byteLength": 3 + "startLine": 81, + "startColumn": 21, + "endLine": 81, + "endColumn": 51, + "byteLength": 30 } } } @@ -4642,20 +4671,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior negative in function abs." }, + "message": { "text": "order." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/__fc_builtin.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 611, - "startColumn": 11, - "endLine": 611, - "endColumn": 14, - "byteLength": 3 + "startLine": 76, + "startColumn": 20, + "endLine": 76, + "endColumn": 30, + "byteLength": 10 } } } @@ -4665,20 +4694,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior nonnegative in function abs." }, + "message": { "text": "result_bounded." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/__fc_builtin.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 611, - "startColumn": 11, - "endLine": 611, - "endColumn": 14, - "byteLength": 3 + "startLine": 79, + "startColumn": 28, + "endLine": 79, + "endColumn": 49, + "byteLength": 21 } } } @@ -4688,20 +4717,22 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "abs_representable." }, + "message": { + "text": "assigns clause in function Frama_C_unsigned_char_interval." + }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/__fc_builtin.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 600, - "startColumn": 30, - "endLine": 600, - "endColumn": 51, - "byteLength": 21 + "startLine": 77, + "startColumn": 12, + "endLine": 77, + "endColumn": 19, + "byteLength": 7 } } } @@ -4711,20 +4742,22 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "negative." }, + "message": { + "text": "from clause of term \\result in function Frama_C_unsigned_char_interval." + }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/__fc_builtin.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 603, - "startColumn": 22, - "endLine": 603, - "endColumn": 27, - "byteLength": 5 + "startLine": 77, + "startColumn": 12, + "endLine": 77, + "endColumn": 19, + "byteLength": 7 } } } @@ -4734,20 +4767,22 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "nonnegative." }, + "message": { + "text": "from clause of term Frama_C_entropy_source in function Frama_C_unsigned_char_interval." + }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/__fc_builtin.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 606, - "startColumn": 25, - "endLine": 606, - "endColumn": 31, - "byteLength": 6 + "startLine": 78, + "startColumn": 12, + "endLine": 78, + "endColumn": 34, + "byteLength": 22 } } } @@ -4757,20 +4792,22 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "opposite_result." }, + "message": { + "text": "behavior default! in function Frama_C_unsigned_int_interval." + }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/__fc_builtin.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 604, - "startColumn": 29, - "endLine": 604, - "endColumn": 42, - "byteLength": 13 + "startLine": 115, + "startColumn": 20, + "endLine": 115, + "endColumn": 49, + "byteLength": 29 } } } @@ -4780,20 +4817,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "same_result." }, + "message": { "text": "order." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/__fc_builtin.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 607, - "startColumn": 25, - "endLine": 607, - "endColumn": 37, - "byteLength": 12 + "startLine": 110, + "startColumn": 20, + "endLine": 110, + "endColumn": 30, + "byteLength": 10 } } } @@ -4803,20 +4840,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function abs." }, + "message": { "text": "result_bounded." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/__fc_builtin.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 611, - "startColumn": 11, - "endLine": 611, - "endColumn": 14, - "byteLength": 3 + "startLine": 113, + "startColumn": 28, + "endLine": 113, + "endColumn": 49, + "byteLength": 21 } } } @@ -4827,20 +4864,20 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term \\result in function abs." + "text": "assigns clause in function Frama_C_unsigned_int_interval." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/__fc_builtin.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 601, - "startColumn": 10, - "endLine": 601, - "endColumn": 17, + "startLine": 111, + "startColumn": 12, + "endLine": 111, + "endColumn": 19, "byteLength": 7 } } @@ -4851,20 +4888,22 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "complete clause in function abs." }, + "message": { + "text": "from clause of term \\result in function Frama_C_unsigned_int_interval." + }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/__fc_builtin.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 611, - "startColumn": 11, - "endLine": 611, - "endColumn": 14, - "byteLength": 3 + "startLine": 111, + "startColumn": 12, + "endLine": 111, + "endColumn": 19, + "byteLength": 7 } } } @@ -4874,20 +4913,22 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "disjoint clause in function abs." }, + "message": { + "text": "from clause of term Frama_C_entropy_source in function Frama_C_unsigned_int_interval." + }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/__fc_builtin.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 611, - "startColumn": 11, - "endLine": 611, - "endColumn": 14, - "byteLength": 3 + "startLine": 112, + "startColumn": 12, + "endLine": 112, + "endColumn": 34, + "byteLength": 22 } } } @@ -4898,21 +4939,21 @@ "kind": "pass", "level": "none", "message": { - "text": "behavior default! in function at_quick_exit." + "text": "behavior default! in function Frama_C_unsigned_long_interval." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/__fc_builtin.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 504, - "startColumn": 11, - "endLine": 504, - "endColumn": 24, - "byteLength": 13 + "startLine": 131, + "startColumn": 21, + "endLine": 131, + "endColumn": 51, + "byteLength": 30 } } } @@ -4922,20 +4963,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function at_quick_exit." }, + "message": { "text": "order." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/__fc_builtin.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 504, - "startColumn": 11, - "endLine": 504, - "endColumn": 24, - "byteLength": 13 + "startLine": 126, + "startColumn": 20, + "endLine": 126, + "endColumn": 30, + "byteLength": 10 } } } @@ -4945,22 +4986,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term \\result in function at_quick_exit." - }, + "message": { "text": "result_bounded." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/__fc_builtin.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 503, - "startColumn": 12, - "endLine": 503, - "endColumn": 19, - "byteLength": 7 + "startLine": 129, + "startColumn": 28, + "endLine": 129, + "endColumn": 49, + "byteLength": 21 } } } @@ -4970,20 +5009,22 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function atexit." }, + "message": { + "text": "assigns clause in function Frama_C_unsigned_long_interval." + }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/__fc_builtin.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 501, - "startColumn": 11, - "endLine": 501, - "endColumn": 17, - "byteLength": 6 + "startLine": 127, + "startColumn": 12, + "endLine": 127, + "endColumn": 19, + "byteLength": 7 } } } @@ -4993,20 +5034,22 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function atexit." }, + "message": { + "text": "from clause of term \\result in function Frama_C_unsigned_long_interval." + }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/__fc_builtin.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 501, - "startColumn": 11, - "endLine": 501, - "endColumn": 17, - "byteLength": 6 + "startLine": 127, + "startColumn": 12, + "endLine": 127, + "endColumn": 19, + "byteLength": 7 } } } @@ -5017,21 +5060,21 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term \\result in function atexit." + "text": "from clause of term Frama_C_entropy_source in function Frama_C_unsigned_long_interval." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/__fc_builtin.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 500, + "startLine": 128, "startColumn": 12, - "endLine": 500, - "endColumn": 19, - "byteLength": 7 + "endLine": 128, + "endColumn": 34, + "byteLength": 22 } } } @@ -5041,20 +5084,22 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function atof." }, + "message": { + "text": "behavior default! in function Frama_C_unsigned_long_long_interval." + }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/__fc_builtin.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 76, - "startColumn": 14, - "endLine": 76, - "endColumn": 18, - "byteLength": 4 + "startLine": 148, + "startColumn": 26, + "endLine": 148, + "endColumn": 61, + "byteLength": 35 } } } @@ -5064,20 +5109,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "valid_nptr." }, + "message": { "text": "order." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/__fc_builtin.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 73, - "startColumn": 23, - "endLine": 73, - "endColumn": 40, - "byteLength": 17 + "startLine": 143, + "startColumn": 20, + "endLine": 143, + "endColumn": 30, + "byteLength": 10 } } } @@ -5087,20 +5132,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function atof." }, + "message": { "text": "result_bounded." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/__fc_builtin.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 76, - "startColumn": 14, - "endLine": 76, - "endColumn": 18, - "byteLength": 4 + "startLine": 146, + "startColumn": 28, + "endLine": 146, + "endColumn": 49, + "byteLength": 21 } } } @@ -5111,20 +5156,20 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term \\result in function atof." + "text": "assigns clause in function Frama_C_unsigned_long_long_interval." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/__fc_builtin.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 74, - "startColumn": 10, - "endLine": 74, - "endColumn": 17, + "startLine": 144, + "startColumn": 12, + "endLine": 144, + "endColumn": 19, "byteLength": 7 } } @@ -5135,20 +5180,22 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function atoi." }, + "message": { + "text": "from clause of term \\result in function Frama_C_unsigned_long_long_interval." + }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/__fc_builtin.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 82, - "startColumn": 11, - "endLine": 82, - "endColumn": 15, - "byteLength": 4 + "startLine": 144, + "startColumn": 12, + "endLine": 144, + "endColumn": 19, + "byteLength": 7 } } } @@ -5158,20 +5205,22 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "valid_nptr." }, + "message": { + "text": "from clause of term Frama_C_entropy_source in function Frama_C_unsigned_long_long_interval." + }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/__fc_builtin.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 79, - "startColumn": 23, - "endLine": 79, - "endColumn": 40, - "byteLength": 17 + "startLine": 145, + "startColumn": 12, + "endLine": 145, + "endColumn": 34, + "byteLength": 22 } } } @@ -5181,20 +5230,22 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function atoi." }, + "message": { + "text": "behavior default! in function Frama_C_unsigned_short_interval." + }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/__fc_builtin.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 82, - "startColumn": 11, - "endLine": 82, - "endColumn": 15, - "byteLength": 4 + "startLine": 98, + "startColumn": 22, + "endLine": 98, + "endColumn": 53, + "byteLength": 31 } } } @@ -5204,22 +5255,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term \\result in function atoi." - }, + "message": { "text": "order." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/__fc_builtin.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 80, - "startColumn": 10, - "endLine": 80, - "endColumn": 17, - "byteLength": 7 + "startLine": 93, + "startColumn": 20, + "endLine": 93, + "endColumn": 30, + "byteLength": 10 } } } @@ -5229,20 +5278,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function atol." }, + "message": { "text": "result_bounded." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/__fc_builtin.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 88, - "startColumn": 16, - "endLine": 88, - "endColumn": 20, - "byteLength": 4 + "startLine": 96, + "startColumn": 28, + "endLine": 96, + "endColumn": 49, + "byteLength": 21 } } } @@ -5252,20 +5301,22 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "valid_nptr." }, + "message": { + "text": "assigns clause in function Frama_C_unsigned_short_interval." + }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/__fc_builtin.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 85, - "startColumn": 23, - "endLine": 85, - "endColumn": 40, - "byteLength": 17 + "startLine": 94, + "startColumn": 12, + "endLine": 94, + "endColumn": 19, + "byteLength": 7 } } } @@ -5275,20 +5326,22 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function atol." }, + "message": { + "text": "from clause of term \\result in function Frama_C_unsigned_short_interval." + }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/__fc_builtin.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 88, - "startColumn": 16, - "endLine": 88, - "endColumn": 20, - "byteLength": 4 + "startLine": 94, + "startColumn": 12, + "endLine": 94, + "endColumn": 19, + "byteLength": 7 } } } @@ -5299,21 +5352,21 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term \\result in function atol." + "text": "from clause of term Frama_C_entropy_source in function Frama_C_unsigned_short_interval." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/__fc_builtin.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 86, - "startColumn": 10, - "endLine": 86, - "endColumn": 17, - "byteLength": 7 + "startLine": 95, + "startColumn": 12, + "endLine": 95, + "endColumn": 34, + "byteLength": 22 } } } @@ -5323,20 +5376,22 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function atoll." }, + "message": { + "text": "behavior default! in function Frama_C_watch_cardinal." + }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/__fc_builtin.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 94, - "startColumn": 21, - "endLine": 94, - "endColumn": 26, - "byteLength": 5 + "startLine": 275, + "startColumn": 12, + "endLine": 275, + "endColumn": 34, + "byteLength": 22 } } } @@ -5346,20 +5401,22 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "valid_nptr." }, + "message": { + "text": "assigns clause in function Frama_C_watch_cardinal." + }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/__fc_builtin.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 91, - "startColumn": 23, - "endLine": 91, - "endColumn": 40, - "byteLength": 17 + "startLine": 275, + "startColumn": 12, + "endLine": 275, + "endColumn": 34, + "byteLength": 22 } } } @@ -5369,20 +5426,22 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function atoll." }, + "message": { + "text": "behavior default! in function Frama_C_watch_value." + }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/__fc_builtin.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 94, - "startColumn": 21, - "endLine": 94, - "endColumn": 26, - "byteLength": 5 + "startLine": 271, + "startColumn": 12, + "endLine": 271, + "endColumn": 31, + "byteLength": 19 } } } @@ -5393,21 +5452,21 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term \\result in function atoll." + "text": "assigns clause in function Frama_C_watch_value." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/__fc_builtin.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 92, - "startColumn": 10, - "endLine": 92, - "endColumn": 17, - "byteLength": 7 + "startLine": 271, + "startColumn": 12, + "endLine": 271, + "endColumn": 31, + "byteLength": 19 } } } @@ -5417,20 +5476,22 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function bsearch." }, + "message": { + "text": "behavior default! in function Frama_C_wint_t_interval." + }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/__fc_builtin.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 583, - "startColumn": 13, - "endLine": 583, - "endColumn": 20, - "byteLength": 7 + "startLine": 196, + "startColumn": 14, + "endLine": 196, + "endColumn": 37, + "byteLength": 23 } } } @@ -5440,20 +5501,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "valid_function_compar." }, + "message": { "text": "order." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/__fc_builtin.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 576, - "startColumn": 34, - "endLine": 576, - "endColumn": 57, - "byteLength": 23 + "startLine": 191, + "startColumn": 20, + "endLine": 191, + "endColumn": 30, + "byteLength": 10 } } } @@ -5463,20 +5524,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "null_or_correct_result." }, + "message": { "text": "result_bounded." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/__fc_builtin.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 580, - "startColumn": 34, - "endLine": 581, - "endColumn": 76, - "byteLength": 96 + "startLine": 194, + "startColumn": 28, + "endLine": 194, + "endColumn": 49, + "byteLength": 21 } } } @@ -5486,19 +5547,21 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function bsearch." }, + "message": { + "text": "assigns clause in function Frama_C_wint_t_interval." + }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/__fc_builtin.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 583, - "startColumn": 13, - "endLine": 583, - "endColumn": 20, + "startLine": 192, + "startColumn": 12, + "endLine": 192, + "endColumn": 19, "byteLength": 7 } } @@ -5510,20 +5573,20 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term \\result in function bsearch." + "text": "from clause of term \\result in function Frama_C_wint_t_interval." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/__fc_builtin.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 577, - "startColumn": 10, - "endLine": 577, - "endColumn": 17, + "startLine": 192, + "startColumn": 12, + "endLine": 192, + "endColumn": 19, "byteLength": 7 } } @@ -5534,20 +5597,22 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function bzero." }, + "message": { + "text": "from clause of term Frama_C_entropy_source in function Frama_C_wint_t_interval." + }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/strings.h", + "uri": "libc/__fc_builtin.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 40, + "startLine": 193, "startColumn": 12, - "endLine": 40, - "endColumn": 17, - "byteLength": 5 + "endLine": 193, + "endColumn": 34, + "byteLength": 22 } } } @@ -5557,20 +5622,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "valid_memory_area." }, + "message": { "text": "behavior default! in function _Exit." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/strings.h", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 36, - "startColumn": 32, - "endLine": 36, - "endColumn": 63, - "byteLength": 31 + "startLine": 549, + "startColumn": 12, + "endLine": 549, + "endColumn": 17, + "byteLength": 5 } } } @@ -5580,20 +5645,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "s_initialized." }, + "message": { "text": "never_terminates." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/strings.h", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 38, - "startColumn": 39, - "endLine": 38, - "endColumn": 75, - "byteLength": 36 + "startLine": 547, + "startColumn": 28, + "endLine": 547, + "endColumn": 34, + "byteLength": 6 } } } @@ -5603,20 +5668,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "zero_initialized." }, + "message": { "text": "assigns clause in function _Exit." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/strings.h", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 39, - "startColumn": 28, - "endLine": 39, - "endColumn": 63, - "byteLength": 35 + "startLine": 549, + "startColumn": 12, + "endLine": 549, + "endColumn": 17, + "byteLength": 5 } } } @@ -5626,20 +5691,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function bzero." }, + "message": { "text": "behavior default! in function abort." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/strings.h", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 37, - "startColumn": 10, - "endLine": 37, - "endColumn": 31, - "byteLength": 21 + "startLine": 530, + "startColumn": 12, + "endLine": 530, + "endColumn": 17, + "byteLength": 5 } } } @@ -5649,22 +5714,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term *((char *)s + (0 .. n - 1)) in function bzero." - }, + "message": { "text": "status." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/strings.h", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 37, - "startColumn": 10, - "endLine": 37, - "endColumn": 31, - "byteLength": 21 + "startLine": 527, + "startColumn": 16, + "endLine": 527, + "endColumn": 33, + "byteLength": 17 } } } @@ -5674,7 +5737,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior allocation in function calloc." }, + "message": { "text": "never_terminates." }, "locations": [ { "physicalLocation": { @@ -5683,10 +5746,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 386, - "startColumn": 13, - "endLine": 386, - "endColumn": 19, + "startLine": 528, + "startColumn": 28, + "endLine": 528, + "endColumn": 34, "byteLength": 6 } } @@ -5697,7 +5760,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function calloc." }, + "message": { "text": "assigns clause in function abort." }, "locations": [ { "physicalLocation": { @@ -5706,11 +5769,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 386, - "startColumn": 13, - "endLine": 386, - "endColumn": 19, - "byteLength": 6 + "startLine": 526, + "startColumn": 10, + "endLine": 526, + "endColumn": 22, + "byteLength": 12 } } } @@ -5720,7 +5783,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior no_allocation in function calloc." }, + "message": { + "text": "from clause of term \\exit_status in function abort." + }, "locations": [ { "physicalLocation": { @@ -5729,11 +5794,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 386, - "startColumn": 13, - "endLine": 386, - "endColumn": 19, - "byteLength": 6 + "startLine": 526, + "startColumn": 10, + "endLine": 526, + "endColumn": 22, + "byteLength": 12 } } } @@ -5743,7 +5808,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "can_allocate." }, + "message": { "text": "behavior default! in function abs." }, "locations": [ { "physicalLocation": { @@ -5752,11 +5817,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 373, - "startColumn": 26, - "endLine": 373, - "endColumn": 52, - "byteLength": 26 + "startLine": 680, + "startColumn": 11, + "endLine": 680, + "endColumn": 14, + "byteLength": 3 } } } @@ -5766,7 +5831,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "cannot_allocate." }, + "message": { "text": "behavior negative in function abs." }, "locations": [ { "physicalLocation": { @@ -5775,11 +5840,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 379, - "startColumn": 29, - "endLine": 379, - "endColumn": 56, - "byteLength": 27 + "startLine": 680, + "startColumn": 11, + "endLine": 680, + "endColumn": 14, + "byteLength": 3 } } } @@ -5789,7 +5854,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "allocation." }, + "message": { "text": "behavior nonnegative in function abs." }, "locations": [ { "physicalLocation": { @@ -5798,11 +5863,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 374, - "startColumn": 24, - "endLine": 374, - "endColumn": 53, - "byteLength": 29 + "startLine": 680, + "startColumn": 11, + "endLine": 680, + "endColumn": 14, + "byteLength": 3 } } } @@ -5812,7 +5877,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "initialization." }, + "message": { "text": "abs_representable." }, "locations": [ { "physicalLocation": { @@ -5821,11 +5886,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 375, - "startColumn": 28, - "endLine": 375, - "endColumn": 77, - "byteLength": 49 + "startLine": 669, + "startColumn": 30, + "endLine": 669, + "endColumn": 51, + "byteLength": 21 } } } @@ -5835,7 +5900,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "zero_initialization." }, + "message": { "text": "negative." }, "locations": [ { "physicalLocation": { @@ -5844,11 +5909,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 376, - "startColumn": 33, - "endLine": 376, - "endColumn": 81, - "byteLength": 48 + "startLine": 672, + "startColumn": 22, + "endLine": 672, + "endColumn": 27, + "byteLength": 5 } } } @@ -5858,7 +5923,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "null_result." }, + "message": { "text": "nonnegative." }, "locations": [ { "physicalLocation": { @@ -5867,11 +5932,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 382, + "startLine": 675, "startColumn": 25, - "endLine": 382, - "endColumn": 41, - "byteLength": 16 + "endLine": 675, + "endColumn": 31, + "byteLength": 6 } } } @@ -5881,7 +5946,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function calloc." }, + "message": { "text": "opposite_result." }, "locations": [ { "physicalLocation": { @@ -5890,11 +5955,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 368, - "startColumn": 10, - "endLine": 368, - "endColumn": 26, - "byteLength": 16 + "startLine": 673, + "startColumn": 29, + "endLine": 673, + "endColumn": 42, + "byteLength": 13 } } } @@ -5904,7 +5969,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function calloc." }, + "message": { "text": "same_result." }, "locations": [ { "physicalLocation": { @@ -5913,11 +5978,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 386, - "startColumn": 13, - "endLine": 386, - "endColumn": 19, - "byteLength": 6 + "startLine": 676, + "startColumn": 25, + "endLine": 676, + "endColumn": 37, + "byteLength": 12 } } } @@ -5927,9 +5992,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term __fc_heap_status in function calloc." - }, + "message": { "text": "assigns clause in function abs." }, "locations": [ { "physicalLocation": { @@ -5938,11 +6001,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 368, - "startColumn": 10, - "endLine": 368, - "endColumn": 26, - "byteLength": 16 + "startLine": 680, + "startColumn": 11, + "endLine": 680, + "endColumn": 14, + "byteLength": 3 } } } @@ -5953,7 +6016,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term \\result in function calloc." + "text": "from clause of term \\result in function abs." }, "locations": [ { @@ -5963,9 +6026,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 369, + "startLine": 670, "startColumn": 10, - "endLine": 369, + "endLine": 670, "endColumn": 17, "byteLength": 7 } @@ -5977,9 +6040,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term \\result in function calloc." - }, + "message": { "text": "complete clause in function abs." }, "locations": [ { "physicalLocation": { @@ -5988,11 +6049,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 380, - "startColumn": 12, - "endLine": 380, - "endColumn": 19, - "byteLength": 7 + "startLine": 680, + "startColumn": 11, + "endLine": 680, + "endColumn": 14, + "byteLength": 3 } } } @@ -6002,7 +6063,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "allocates/frees clause in function calloc." }, + "message": { "text": "disjoint clause in function abs." }, "locations": [ { "physicalLocation": { @@ -6011,11 +6072,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 367, - "startColumn": 12, - "endLine": 367, - "endColumn": 19, - "byteLength": 7 + "startLine": 680, + "startColumn": 11, + "endLine": 680, + "endColumn": 14, + "byteLength": 3 } } } @@ -6025,7 +6086,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "allocates/frees clause in function calloc." }, + "message": { + "text": "behavior default! in function at_quick_exit." + }, "locations": [ { "physicalLocation": { @@ -6034,11 +6097,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 386, - "startColumn": 13, - "endLine": 386, - "endColumn": 19, - "byteLength": 6 + "startLine": 536, + "startColumn": 11, + "endLine": 536, + "endColumn": 24, + "byteLength": 13 } } } @@ -6048,7 +6111,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "complete clause in function calloc." }, + "message": { "text": "assigns clause in function at_quick_exit." }, "locations": [ { "physicalLocation": { @@ -6057,11 +6120,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 386, - "startColumn": 13, - "endLine": 386, - "endColumn": 19, - "byteLength": 6 + "startLine": 536, + "startColumn": 11, + "endLine": 536, + "endColumn": 24, + "byteLength": 13 } } } @@ -6071,7 +6134,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "disjoint clause in function calloc." }, + "message": { + "text": "from clause of term \\result in function at_quick_exit." + }, "locations": [ { "physicalLocation": { @@ -6080,11 +6145,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 386, - "startColumn": 13, - "endLine": 386, + "startLine": 535, + "startColumn": 12, + "endLine": 535, "endColumn": 19, - "byteLength": 6 + "byteLength": 7 } } } @@ -6094,7 +6159,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function div." }, + "message": { "text": "behavior default! in function atexit." }, "locations": [ { "physicalLocation": { @@ -6103,11 +6168,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 642, - "startColumn": 13, - "endLine": 642, - "endColumn": 16, - "byteLength": 3 + "startLine": 533, + "startColumn": 11, + "endLine": 533, + "endColumn": 17, + "byteLength": 6 } } } @@ -6117,7 +6182,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function div." }, + "message": { "text": "assigns clause in function atexit." }, "locations": [ { "physicalLocation": { @@ -6126,11 +6191,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 642, - "startColumn": 13, - "endLine": 642, - "endColumn": 16, - "byteLength": 3 + "startLine": 533, + "startColumn": 11, + "endLine": 533, + "endColumn": 17, + "byteLength": 6 } } } @@ -6141,7 +6206,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term \\result in function div." + "text": "from clause of term \\result in function atexit." }, "locations": [ { @@ -6151,9 +6216,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 641, + "startLine": 532, "startColumn": 12, - "endLine": 641, + "endLine": 532, "endColumn": 19, "byteLength": 7 } @@ -6165,7 +6230,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function drand48." }, + "message": { "text": "behavior default! in function atof." }, "locations": [ { "physicalLocation": { @@ -6174,11 +6239,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 323, + "startLine": 76, "startColumn": 14, - "endLine": 323, - "endColumn": 21, - "byteLength": 7 + "endLine": 76, + "endColumn": 18, + "byteLength": 4 } } } @@ -6188,7 +6253,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "random48_initialized." }, + "message": { "text": "valid_nptr." }, "locations": [ { "physicalLocation": { @@ -6197,10 +6262,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 318, - "startColumn": 33, - "endLine": 318, - "endColumn": 56, + "startLine": 73, + "startColumn": 23, + "endLine": 73, + "endColumn": 46, "byteLength": 23 } } @@ -6211,7 +6276,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_range." }, + "message": { "text": "assigns clause in function atof." }, "locations": [ { "physicalLocation": { @@ -6220,11 +6285,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 321, - "startColumn": 24, - "endLine": 321, - "endColumn": 67, - "byteLength": 43 + "startLine": 76, + "startColumn": 14, + "endLine": 76, + "endColumn": 18, + "byteLength": 4 } } } @@ -6234,20 +6299,22 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function drand48." }, - "locations": [ - { + "message": { + "text": "from clause of term \\result in function atof." + }, + "locations": [ + { "physicalLocation": { "artifactLocation": { "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 319, + "startLine": 74, "startColumn": 10, - "endLine": 319, - "endColumn": 37, - "byteLength": 27 + "endLine": 74, + "endColumn": 17, + "byteLength": 7 } } } @@ -6257,9 +6324,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term __fc_random48_counter[0 .. 2] in function drand48." - }, + "message": { "text": "behavior default! in function atoi." }, "locations": [ { "physicalLocation": { @@ -6268,11 +6333,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 319, - "startColumn": 10, - "endLine": 319, - "endColumn": 37, - "byteLength": 27 + "startLine": 82, + "startColumn": 11, + "endLine": 82, + "endColumn": 15, + "byteLength": 4 } } } @@ -6282,9 +6347,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term \\result in function drand48." - }, + "message": { "text": "valid_nptr." }, "locations": [ { "physicalLocation": { @@ -6293,11 +6356,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 320, - "startColumn": 10, - "endLine": 320, - "endColumn": 17, - "byteLength": 7 + "startLine": 79, + "startColumn": 23, + "endLine": 79, + "endColumn": 46, + "byteLength": 23 } } } @@ -6307,7 +6370,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function erand48." }, + "message": { "text": "assigns clause in function atoi." }, "locations": [ { "physicalLocation": { @@ -6316,11 +6379,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 331, - "startColumn": 14, - "endLine": 331, - "endColumn": 21, - "byteLength": 7 + "startLine": 82, + "startColumn": 11, + "endLine": 82, + "endColumn": 15, + "byteLength": 4 } } } @@ -6330,7 +6393,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "initialization." }, + "message": { + "text": "from clause of term \\result in function atoi." + }, "locations": [ { "physicalLocation": { @@ -6339,11 +6404,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 326, - "startColumn": 45, - "endLine": 326, - "endColumn": 71, - "byteLength": 26 + "startLine": 80, + "startColumn": 10, + "endLine": 80, + "endColumn": 17, + "byteLength": 7 } } } @@ -6353,7 +6418,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_range." }, + "message": { "text": "behavior default! in function atol." }, "locations": [ { "physicalLocation": { @@ -6362,11 +6427,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 329, - "startColumn": 24, - "endLine": 329, - "endColumn": 67, - "byteLength": 43 + "startLine": 88, + "startColumn": 16, + "endLine": 88, + "endColumn": 20, + "byteLength": 4 } } } @@ -6376,7 +6441,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function erand48." }, + "message": { "text": "valid_nptr." }, "locations": [ { "physicalLocation": { @@ -6385,11 +6450,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 327, - "startColumn": 10, - "endLine": 327, - "endColumn": 37, - "byteLength": 27 + "startLine": 85, + "startColumn": 23, + "endLine": 85, + "endColumn": 46, + "byteLength": 23 } } } @@ -6399,9 +6464,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term __fc_random48_counter[0 .. 2] in function erand48." - }, + "message": { "text": "assigns clause in function atol." }, "locations": [ { "physicalLocation": { @@ -6410,11 +6473,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 327, - "startColumn": 10, - "endLine": 327, - "endColumn": 37, - "byteLength": 27 + "startLine": 88, + "startColumn": 16, + "endLine": 88, + "endColumn": 20, + "byteLength": 4 } } } @@ -6425,7 +6488,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term \\result in function erand48." + "text": "from clause of term \\result in function atol." }, "locations": [ { @@ -6435,9 +6498,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 328, + "startLine": 86, "startColumn": 10, - "endLine": 328, + "endLine": 86, "endColumn": 17, "byteLength": 7 } @@ -6449,7 +6512,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function exit." }, + "message": { "text": "behavior default! in function atoll." }, "locations": [ { "physicalLocation": { @@ -6458,11 +6521,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 511, - "startColumn": 12, - "endLine": 511, - "endColumn": 16, - "byteLength": 4 + "startLine": 94, + "startColumn": 21, + "endLine": 94, + "endColumn": 26, + "byteLength": 5 } } } @@ -6472,7 +6535,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "status." }, + "message": { "text": "valid_nptr." }, "locations": [ { "physicalLocation": { @@ -6481,11 +6544,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 508, - "startColumn": 16, - "endLine": 508, - "endColumn": 38, - "byteLength": 22 + "startLine": 91, + "startColumn": 23, + "endLine": 91, + "endColumn": 46, + "byteLength": 23 } } } @@ -6495,7 +6558,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "never_terminates." }, + "message": { "text": "assigns clause in function atoll." }, "locations": [ { "physicalLocation": { @@ -6504,11 +6567,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 509, - "startColumn": 28, - "endLine": 509, - "endColumn": 34, - "byteLength": 6 + "startLine": 94, + "startColumn": 21, + "endLine": 94, + "endColumn": 26, + "byteLength": 5 } } } @@ -6518,7 +6581,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function exit." }, + "message": { + "text": "from clause of term \\result in function atoll." + }, "locations": [ { "physicalLocation": { @@ -6527,11 +6592,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 507, + "startLine": 92, "startColumn": 10, - "endLine": 507, - "endColumn": 22, - "byteLength": 12 + "endLine": 92, + "endColumn": 17, + "byteLength": 7 } } } @@ -6541,9 +6606,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term \\exit_status in function exit." - }, + "message": { "text": "behavior default! in function bsearch." }, "locations": [ { "physicalLocation": { @@ -6552,11 +6615,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 507, - "startColumn": 10, - "endLine": 507, - "endColumn": 22, - "byteLength": 12 + "startLine": 652, + "startColumn": 13, + "endLine": 652, + "endColumn": 20, + "byteLength": 7 } } } @@ -6566,7 +6629,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior deallocation in function free." }, + "message": { "text": "valid_function_compar." }, "locations": [ { "physicalLocation": { @@ -6575,11 +6638,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 420, - "startColumn": 12, - "endLine": 420, - "endColumn": 16, - "byteLength": 4 + "startLine": 645, + "startColumn": 34, + "endLine": 645, + "endColumn": 57, + "byteLength": 23 } } } @@ -6589,7 +6652,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function free." }, + "message": { "text": "null_or_correct_result." }, "locations": [ { "physicalLocation": { @@ -6598,11 +6661,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 420, - "startColumn": 12, - "endLine": 420, - "endColumn": 16, - "byteLength": 4 + "startLine": 649, + "startColumn": 34, + "endLine": 650, + "endColumn": 76, + "byteLength": 96 } } } @@ -6612,7 +6675,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior no_deallocation in function free." }, + "message": { "text": "assigns clause in function bsearch." }, "locations": [ { "physicalLocation": { @@ -6621,11 +6684,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 420, - "startColumn": 12, - "endLine": 420, - "endColumn": 16, - "byteLength": 4 + "startLine": 652, + "startColumn": 13, + "endLine": 652, + "endColumn": 20, + "byteLength": 7 } } } @@ -6635,7 +6698,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "freeable." }, + "message": { + "text": "from clause of term \\result in function bsearch." + }, "locations": [ { "physicalLocation": { @@ -6644,11 +6709,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 406, - "startColumn": 23, - "endLine": 406, - "endColumn": 47, - "byteLength": 24 + "startLine": 646, + "startColumn": 10, + "endLine": 646, + "endColumn": 17, + "byteLength": 7 } } } @@ -6658,20 +6723,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "nonnull_p." }, + "message": { "text": "behavior default! in function bzero." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/strings.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 410, - "startColumn": 23, - "endLine": 410, - "endColumn": 31, - "byteLength": 8 + "startLine": 40, + "startColumn": 12, + "endLine": 40, + "endColumn": 17, + "byteLength": 5 } } } @@ -6681,20 +6746,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "null_p." }, + "message": { "text": "valid_memory_area." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/strings.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 414, - "startColumn": 20, - "endLine": 414, - "endColumn": 28, - "byteLength": 8 + "startLine": 36, + "startColumn": 32, + "endLine": 36, + "endColumn": 63, + "byteLength": 31 } } } @@ -6704,22 +6769,22 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "freed." }, + "message": { "text": "s_initialized." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/strings.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 412, - "startColumn": 19, - "endLine": 412, - "endColumn": 32, - "byteLength": 13 - } - } + "startLine": 38, + "startColumn": 39, + "endLine": 38, + "endColumn": 75, + "byteLength": 36 + } + } } ] }, @@ -6727,20 +6792,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function free." }, + "message": { "text": "zero_initialized." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/strings.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 411, - "startColumn": 12, - "endLine": 411, - "endColumn": 28, - "byteLength": 16 + "startLine": 39, + "startColumn": 28, + "endLine": 39, + "endColumn": 63, + "byteLength": 35 } } } @@ -6750,20 +6815,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function free." }, + "message": { "text": "assigns clause in function bzero." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/strings.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 408, - "startColumn": 12, - "endLine": 408, - "endColumn": 28, - "byteLength": 16 + "startLine": 37, + "startColumn": 10, + "endLine": 37, + "endColumn": 31, + "byteLength": 21 } } } @@ -6773,20 +6838,22 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function free." }, + "message": { + "text": "from clause of term *((char *)s + (0 .. n - 1)) in function bzero." + }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/strings.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 420, - "startColumn": 12, - "endLine": 420, - "endColumn": 16, - "byteLength": 4 + "startLine": 37, + "startColumn": 10, + "endLine": 37, + "endColumn": 31, + "byteLength": 21 } } } @@ -6796,9 +6863,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term __fc_heap_status in function free." - }, + "message": { "text": "behavior allocation in function calloc." }, "locations": [ { "physicalLocation": { @@ -6807,11 +6872,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 411, - "startColumn": 12, - "endLine": 411, - "endColumn": 28, - "byteLength": 16 + "startLine": 418, + "startColumn": 13, + "endLine": 418, + "endColumn": 19, + "byteLength": 6 } } } @@ -6821,9 +6886,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term __fc_heap_status in function free." - }, + "message": { "text": "behavior default! in function calloc." }, "locations": [ { "physicalLocation": { @@ -6832,11 +6895,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 408, - "startColumn": 12, - "endLine": 408, - "endColumn": 28, - "byteLength": 16 + "startLine": 418, + "startColumn": 13, + "endLine": 418, + "endColumn": 19, + "byteLength": 6 } } } @@ -6846,7 +6909,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "allocates/frees clause in function free." }, + "message": { "text": "behavior no_allocation in function calloc." }, "locations": [ { "physicalLocation": { @@ -6855,11 +6918,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 407, - "startColumn": 10, - "endLine": 407, - "endColumn": 11, - "byteLength": 1 + "startLine": 418, + "startColumn": 13, + "endLine": 418, + "endColumn": 19, + "byteLength": 6 } } } @@ -6869,7 +6932,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "allocates/frees clause in function free." }, + "message": { "text": "can_allocate." }, "locations": [ { "physicalLocation": { @@ -6878,11 +6941,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 420, - "startColumn": 12, - "endLine": 420, - "endColumn": 16, - "byteLength": 4 + "startLine": 405, + "startColumn": 26, + "endLine": 405, + "endColumn": 52, + "byteLength": 26 } } } @@ -6892,7 +6955,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "complete clause in function free." }, + "message": { "text": "cannot_allocate." }, "locations": [ { "physicalLocation": { @@ -6901,11 +6964,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 420, - "startColumn": 12, - "endLine": 420, - "endColumn": 16, - "byteLength": 4 + "startLine": 411, + "startColumn": 29, + "endLine": 411, + "endColumn": 56, + "byteLength": 27 } } } @@ -6915,7 +6978,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "disjoint clause in function free." }, + "message": { "text": "allocation." }, "locations": [ { "physicalLocation": { @@ -6924,11 +6987,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 420, - "startColumn": 12, - "endLine": 420, - "endColumn": 16, - "byteLength": 4 + "startLine": 406, + "startColumn": 24, + "endLine": 406, + "endColumn": 53, + "byteLength": 29 } } } @@ -6938,7 +7001,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function getenv." }, + "message": { "text": "initialization." }, "locations": [ { "physicalLocation": { @@ -6947,11 +7010,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 526, - "startColumn": 13, - "endLine": 526, - "endColumn": 19, - "byteLength": 6 + "startLine": 407, + "startColumn": 28, + "endLine": 407, + "endColumn": 77, + "byteLength": 49 } } } @@ -6961,7 +7024,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "valid_name." }, + "message": { "text": "zero_initialization." }, "locations": [ { "physicalLocation": { @@ -6970,11 +7033,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 522, - "startColumn": 23, - "endLine": 522, - "endColumn": 46, - "byteLength": 23 + "startLine": 408, + "startColumn": 33, + "endLine": 408, + "endColumn": 81, + "byteLength": 48 } } } @@ -6984,7 +7047,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "null_or_valid_result." }, + "message": { "text": "null_result." }, "locations": [ { "physicalLocation": { @@ -6993,11 +7056,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 524, - "startColumn": 32, - "endLine": 524, - "endColumn": 67, - "byteLength": 35 + "startLine": 414, + "startColumn": 25, + "endLine": 414, + "endColumn": 41, + "byteLength": 16 } } } @@ -7007,7 +7070,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function getenv." }, + "message": { "text": "assigns clause in function calloc." }, "locations": [ { "physicalLocation": { @@ -7016,11 +7079,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 526, - "startColumn": 13, - "endLine": 526, - "endColumn": 19, - "byteLength": 6 + "startLine": 400, + "startColumn": 10, + "endLine": 400, + "endColumn": 26, + "byteLength": 16 } } } @@ -7030,9 +7093,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term \\result in function getenv." - }, + "message": { "text": "assigns clause in function calloc." }, "locations": [ { "physicalLocation": { @@ -7041,11 +7102,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 523, - "startColumn": 10, - "endLine": 523, - "endColumn": 17, - "byteLength": 7 + "startLine": 418, + "startColumn": 13, + "endLine": 418, + "endColumn": 19, + "byteLength": 6 } } } @@ -7055,7 +7116,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function jrand48." }, + "message": { + "text": "from clause of term __fc_heap_status in function calloc." + }, "locations": [ { "physicalLocation": { @@ -7064,11 +7127,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 363, - "startColumn": 16, - "endLine": 363, - "endColumn": 23, - "byteLength": 7 + "startLine": 400, + "startColumn": 10, + "endLine": 400, + "endColumn": 26, + "byteLength": 16 } } } @@ -7078,7 +7141,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "initialization." }, + "message": { + "text": "from clause of term \\result in function calloc." + }, "locations": [ { "physicalLocation": { @@ -7087,11 +7152,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 358, - "startColumn": 45, - "endLine": 358, - "endColumn": 71, - "byteLength": 26 + "startLine": 401, + "startColumn": 10, + "endLine": 401, + "endColumn": 17, + "byteLength": 7 } } } @@ -7101,7 +7166,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_range." }, + "message": { + "text": "from clause of term \\result in function calloc." + }, "locations": [ { "physicalLocation": { @@ -7110,11 +7177,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 361, - "startColumn": 24, - "endLine": 361, - "endColumn": 59, - "byteLength": 35 + "startLine": 413, + "startColumn": 12, + "endLine": 413, + "endColumn": 19, + "byteLength": 7 } } } @@ -7124,7 +7191,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function jrand48." }, + "message": { "text": "allocates/frees clause in function calloc." }, "locations": [ { "physicalLocation": { @@ -7133,11 +7200,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 359, - "startColumn": 10, - "endLine": 359, - "endColumn": 37, - "byteLength": 27 + "startLine": 399, + "startColumn": 12, + "endLine": 399, + "endColumn": 19, + "byteLength": 7 } } } @@ -7147,9 +7214,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term __fc_random48_counter[0 .. 2] in function jrand48." - }, + "message": { "text": "allocates/frees clause in function calloc." }, "locations": [ { "physicalLocation": { @@ -7158,11 +7223,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 359, - "startColumn": 10, - "endLine": 359, - "endColumn": 37, - "byteLength": 27 + "startLine": 418, + "startColumn": 13, + "endLine": 418, + "endColumn": 19, + "byteLength": 6 } } } @@ -7172,9 +7237,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term \\result in function jrand48." - }, + "message": { "text": "complete clause in function calloc." }, "locations": [ { "physicalLocation": { @@ -7183,11 +7246,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 360, - "startColumn": 10, - "endLine": 360, - "endColumn": 17, - "byteLength": 7 + "startLine": 418, + "startColumn": 13, + "endLine": 418, + "endColumn": 19, + "byteLength": 6 } } } @@ -7197,7 +7260,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function labs." }, + "message": { "text": "disjoint clause in function calloc." }, "locations": [ { "physicalLocation": { @@ -7206,11 +7269,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 625, - "startColumn": 16, - "endLine": 625, - "endColumn": 20, - "byteLength": 4 + "startLine": 418, + "startColumn": 13, + "endLine": 418, + "endColumn": 19, + "byteLength": 6 } } } @@ -7220,7 +7283,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior negative in function labs." }, + "message": { + "text": "behavior default! in function canonicalize_file_name." + }, "locations": [ { "physicalLocation": { @@ -7229,11 +7294,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 625, - "startColumn": 16, - "endLine": 625, - "endColumn": 20, - "byteLength": 4 + "startLine": 901, + "startColumn": 13, + "endLine": 901, + "endColumn": 35, + "byteLength": 22 } } } @@ -7243,7 +7308,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior nonnegative in function labs." }, + "message": { + "text": "assigns clause in function canonicalize_file_name." + }, "locations": [ { "physicalLocation": { @@ -7252,11 +7319,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 625, - "startColumn": 16, - "endLine": 625, - "endColumn": 20, - "byteLength": 4 + "startLine": 901, + "startColumn": 13, + "endLine": 901, + "endColumn": 35, + "byteLength": 22 } } } @@ -7266,7 +7333,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "abs_representable." }, + "message": { + "text": "from clause of term \\result in function canonicalize_file_name." + }, "locations": [ { "physicalLocation": { @@ -7275,11 +7344,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 614, - "startColumn": 30, - "endLine": 614, - "endColumn": 62, - "byteLength": 32 + "startLine": 899, + "startColumn": 10, + "endLine": 899, + "endColumn": 17, + "byteLength": 7 } } } @@ -7289,7 +7358,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "negative." }, + "message": { + "text": "allocates/frees clause in function canonicalize_file_name." + }, "locations": [ { "physicalLocation": { @@ -7298,11 +7369,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 617, - "startColumn": 22, - "endLine": 617, - "endColumn": 27, - "byteLength": 5 + "startLine": 898, + "startColumn": 12, + "endLine": 898, + "endColumn": 19, + "byteLength": 7 } } } @@ -7312,20 +7383,22 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "nonnegative." }, + "message": { + "text": "behavior default! in function char_equal_ignore_case." + }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/string.c", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 620, - "startColumn": 25, - "endLine": 620, - "endColumn": 31, - "byteLength": 6 + "startLine": 178, + "startColumn": 11, + "endLine": 184, + "endColumn": 1, + "byteLength": 229 } } } @@ -7335,20 +7408,22 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "opposite_result." }, + "message": { + "text": "assigns clause in function char_equal_ignore_case." + }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/string.c", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 618, - "startColumn": 29, - "endLine": 618, - "endColumn": 42, - "byteLength": 13 + "startLine": 178, + "startColumn": 11, + "endLine": 184, + "endColumn": 1, + "byteLength": 229 } } } @@ -7358,7 +7433,32 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "same_result." }, + "message": { + "text": "from clause of term \\result in function char_equal_ignore_case." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.c", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 176, + "startColumn": 10, + "endLine": 176, + "endColumn": 17, + "byteLength": 7 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "behavior default! in function div." }, "locations": [ { "physicalLocation": { @@ -7367,11 +7467,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 621, - "startColumn": 25, - "endLine": 621, - "endColumn": 37, - "byteLength": 12 + "startLine": 715, + "startColumn": 13, + "endLine": 715, + "endColumn": 16, + "byteLength": 3 } } } @@ -7381,7 +7481,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function labs." }, + "message": { "text": "denom_nonzero." }, "locations": [ { "physicalLocation": { @@ -7390,11 +7490,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 625, - "startColumn": 16, - "endLine": 625, - "endColumn": 20, - "byteLength": 4 + "startLine": 711, + "startColumn": 26, + "endLine": 711, + "endColumn": 36, + "byteLength": 10 } } } @@ -7404,9 +7504,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term \\result in function labs." - }, + "message": { "text": "no_overflow." }, "locations": [ { "physicalLocation": { @@ -7415,11 +7513,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 615, - "startColumn": 10, - "endLine": 615, - "endColumn": 17, - "byteLength": 7 + "startLine": 712, + "startColumn": 24, + "endLine": 712, + "endColumn": 68, + "byteLength": 44 } } } @@ -7429,7 +7527,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "complete clause in function labs." }, + "message": { "text": "assigns clause in function div." }, "locations": [ { "physicalLocation": { @@ -7438,11 +7536,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 625, - "startColumn": 16, - "endLine": 625, - "endColumn": 20, - "byteLength": 4 + "startLine": 715, + "startColumn": 13, + "endLine": 715, + "endColumn": 16, + "byteLength": 3 } } } @@ -7452,7 +7550,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "disjoint clause in function labs." }, + "message": { + "text": "from clause of term \\result in function div." + }, "locations": [ { "physicalLocation": { @@ -7461,11 +7561,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 625, - "startColumn": 16, - "endLine": 625, - "endColumn": 20, - "byteLength": 4 + "startLine": 713, + "startColumn": 10, + "endLine": 713, + "endColumn": 17, + "byteLength": 7 } } } @@ -7475,7 +7575,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function lcong48." }, + "message": { "text": "behavior default! in function drand48." }, "locations": [ { "physicalLocation": { @@ -7484,10 +7584,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 315, - "startColumn": 12, - "endLine": 315, - "endColumn": 19, + "startLine": 352, + "startColumn": 14, + "endLine": 352, + "endColumn": 21, "byteLength": 7 } } @@ -7507,10 +7607,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 313, - "startColumn": 32, - "endLine": 313, - "endColumn": 55, + "startLine": 347, + "startColumn": 33, + "endLine": 347, + "endColumn": 56, "byteLength": 23 } } @@ -7521,7 +7621,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function lcong48." }, + "message": { "text": "result_range." }, "locations": [ { "physicalLocation": { @@ -7530,11 +7630,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 311, - "startColumn": 10, - "endLine": 311, - "endColumn": 37, - "byteLength": 27 + "startLine": 350, + "startColumn": 24, + "endLine": 350, + "endColumn": 67, + "byteLength": 43 } } } @@ -7544,9 +7644,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term __fc_random48_counter[0 .. 2] in function lcong48." - }, + "message": { "text": "assigns clause in function drand48." }, "locations": [ { "physicalLocation": { @@ -7555,9 +7653,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 311, + "startLine": 348, "startColumn": 10, - "endLine": 311, + "endLine": 348, "endColumn": 37, "byteLength": 27 } @@ -7570,7 +7668,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term __fc_random48_init in function lcong48." + "text": "from clause of term __fc_random48_counter[0 .. 2] in function drand48." }, "locations": [ { @@ -7580,11 +7678,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 312, + "startLine": 348, "startColumn": 10, - "endLine": 312, - "endColumn": 28, - "byteLength": 18 + "endLine": 348, + "endColumn": 37, + "byteLength": 27 } } } @@ -7594,7 +7692,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function ldiv." }, + "message": { + "text": "from clause of term \\result in function drand48." + }, "locations": [ { "physicalLocation": { @@ -7603,11 +7703,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 644, - "startColumn": 14, - "endLine": 644, - "endColumn": 18, - "byteLength": 4 + "startLine": 349, + "startColumn": 10, + "endLine": 349, + "endColumn": 17, + "byteLength": 7 } } } @@ -7617,7 +7717,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function ldiv." }, + "message": { "text": "behavior default! in function erand48." }, "locations": [ { "physicalLocation": { @@ -7626,11 +7726,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 644, + "startLine": 361, "startColumn": 14, - "endLine": 644, - "endColumn": 18, - "byteLength": 4 + "endLine": 361, + "endColumn": 21, + "byteLength": 7 } } } @@ -7640,9 +7740,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term \\result in function ldiv." - }, + "message": { "text": "valid_xsubi." }, "locations": [ { "physicalLocation": { @@ -7651,11 +7749,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 643, - "startColumn": 12, - "endLine": 643, - "endColumn": 19, - "byteLength": 7 + "startLine": 355, + "startColumn": 24, + "endLine": 355, + "endColumn": 44, + "byteLength": 20 } } } @@ -7665,7 +7763,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function llabs." }, + "message": { "text": "initialization." }, "locations": [ { "physicalLocation": { @@ -7674,11 +7772,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 639, - "startColumn": 21, - "endLine": 639, - "endColumn": 26, - "byteLength": 5 + "startLine": 356, + "startColumn": 45, + "endLine": 356, + "endColumn": 71, + "byteLength": 26 } } } @@ -7688,7 +7786,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior negative in function llabs." }, + "message": { "text": "result_range." }, "locations": [ { "physicalLocation": { @@ -7697,11 +7795,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 639, - "startColumn": 21, - "endLine": 639, - "endColumn": 26, - "byteLength": 5 + "startLine": 359, + "startColumn": 24, + "endLine": 359, + "endColumn": 67, + "byteLength": 43 } } } @@ -7711,7 +7809,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior nonnegative in function llabs." }, + "message": { "text": "assigns clause in function erand48." }, "locations": [ { "physicalLocation": { @@ -7720,11 +7818,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 639, - "startColumn": 21, - "endLine": 639, - "endColumn": 26, - "byteLength": 5 + "startLine": 357, + "startColumn": 10, + "endLine": 357, + "endColumn": 37, + "byteLength": 27 } } } @@ -7734,7 +7832,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "abs_representable." }, + "message": { + "text": "from clause of term __fc_random48_counter[0 .. 2] in function erand48." + }, "locations": [ { "physicalLocation": { @@ -7743,11 +7843,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 628, - "startColumn": 30, - "endLine": 628, - "endColumn": 64, - "byteLength": 34 + "startLine": 357, + "startColumn": 10, + "endLine": 357, + "endColumn": 37, + "byteLength": 27 } } } @@ -7757,7 +7857,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "negative." }, + "message": { + "text": "from clause of term \\result in function erand48." + }, "locations": [ { "physicalLocation": { @@ -7766,11 +7868,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 631, - "startColumn": 22, - "endLine": 631, - "endColumn": 27, - "byteLength": 5 + "startLine": 358, + "startColumn": 10, + "endLine": 358, + "endColumn": 17, + "byteLength": 7 } } } @@ -7780,7 +7882,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "nonnegative." }, + "message": { "text": "behavior default! in function exit." }, "locations": [ { "physicalLocation": { @@ -7789,11 +7891,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 634, - "startColumn": 25, - "endLine": 634, - "endColumn": 31, - "byteLength": 6 + "startLine": 543, + "startColumn": 12, + "endLine": 543, + "endColumn": 16, + "byteLength": 4 } } } @@ -7803,7 +7905,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "opposite_result." }, + "message": { "text": "status." }, "locations": [ { "physicalLocation": { @@ -7812,11 +7914,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 632, - "startColumn": 29, - "endLine": 632, - "endColumn": 42, - "byteLength": 13 + "startLine": 540, + "startColumn": 16, + "endLine": 540, + "endColumn": 38, + "byteLength": 22 } } } @@ -7826,7 +7928,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "same_result." }, + "message": { "text": "never_terminates." }, "locations": [ { "physicalLocation": { @@ -7835,11 +7937,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 635, - "startColumn": 25, - "endLine": 635, - "endColumn": 37, - "byteLength": 12 + "startLine": 541, + "startColumn": 28, + "endLine": 541, + "endColumn": 34, + "byteLength": 6 } } } @@ -7849,7 +7951,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function llabs." }, + "message": { "text": "assigns clause in function exit." }, "locations": [ { "physicalLocation": { @@ -7858,11 +7960,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 639, - "startColumn": 21, - "endLine": 639, - "endColumn": 26, - "byteLength": 5 + "startLine": 539, + "startColumn": 10, + "endLine": 539, + "endColumn": 22, + "byteLength": 12 } } } @@ -7873,7 +7975,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term \\result in function llabs." + "text": "from clause of term \\exit_status in function exit." }, "locations": [ { @@ -7883,11 +7985,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 629, + "startLine": 539, "startColumn": 10, - "endLine": 629, - "endColumn": 17, - "byteLength": 7 + "endLine": 539, + "endColumn": 22, + "byteLength": 12 } } } @@ -7897,7 +7999,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "complete clause in function llabs." }, + "message": { "text": "behavior deallocation in function free." }, "locations": [ { "physicalLocation": { @@ -7906,11 +8008,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 639, - "startColumn": 21, - "endLine": 639, - "endColumn": 26, - "byteLength": 5 + "startLine": 452, + "startColumn": 12, + "endLine": 452, + "endColumn": 16, + "byteLength": 4 } } } @@ -7920,7 +8022,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "disjoint clause in function llabs." }, + "message": { "text": "behavior default! in function free." }, "locations": [ { "physicalLocation": { @@ -7929,11 +8031,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 639, - "startColumn": 21, - "endLine": 639, - "endColumn": 26, - "byteLength": 5 + "startLine": 452, + "startColumn": 12, + "endLine": 452, + "endColumn": 16, + "byteLength": 4 } } } @@ -7943,7 +8045,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function lldiv." }, + "message": { "text": "behavior no_deallocation in function free." }, "locations": [ { "physicalLocation": { @@ -7952,11 +8054,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 646, - "startColumn": 15, - "endLine": 646, - "endColumn": 20, - "byteLength": 5 + "startLine": 452, + "startColumn": 12, + "endLine": 452, + "endColumn": 16, + "byteLength": 4 } } } @@ -7966,7 +8068,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function lldiv." }, + "message": { "text": "freeable." }, "locations": [ { "physicalLocation": { @@ -7975,11 +8077,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 646, - "startColumn": 15, - "endLine": 646, - "endColumn": 20, - "byteLength": 5 + "startLine": 438, + "startColumn": 23, + "endLine": 438, + "endColumn": 47, + "byteLength": 24 } } } @@ -7989,9 +8091,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term \\result in function lldiv." - }, + "message": { "text": "nonnull_p." }, "locations": [ { "physicalLocation": { @@ -8000,11 +8100,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 645, - "startColumn": 12, - "endLine": 645, - "endColumn": 19, - "byteLength": 7 + "startLine": 442, + "startColumn": 23, + "endLine": 442, + "endColumn": 31, + "byteLength": 8 } } } @@ -8014,7 +8114,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function lrand48." }, + "message": { "text": "null_p." }, "locations": [ { "physicalLocation": { @@ -8023,11 +8123,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 339, - "startColumn": 16, - "endLine": 339, - "endColumn": 23, - "byteLength": 7 + "startLine": 446, + "startColumn": 20, + "endLine": 446, + "endColumn": 28, + "byteLength": 8 } } } @@ -8037,7 +8137,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "random48_initialized." }, + "message": { "text": "freed." }, "locations": [ { "physicalLocation": { @@ -8046,11 +8146,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 334, - "startColumn": 33, - "endLine": 334, - "endColumn": 56, - "byteLength": 23 + "startLine": 444, + "startColumn": 19, + "endLine": 444, + "endColumn": 32, + "byteLength": 13 } } } @@ -8060,7 +8160,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_range." }, + "message": { "text": "assigns clause in function free." }, "locations": [ { "physicalLocation": { @@ -8069,11 +8169,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 337, - "startColumn": 24, - "endLine": 337, - "endColumn": 49, - "byteLength": 25 + "startLine": 443, + "startColumn": 12, + "endLine": 443, + "endColumn": 28, + "byteLength": 16 } } } @@ -8083,7 +8183,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function lrand48." }, + "message": { "text": "assigns clause in function free." }, "locations": [ { "physicalLocation": { @@ -8092,11 +8192,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 335, - "startColumn": 10, - "endLine": 335, - "endColumn": 37, - "byteLength": 27 + "startLine": 440, + "startColumn": 12, + "endLine": 440, + "endColumn": 28, + "byteLength": 16 } } } @@ -8106,9 +8206,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term __fc_random48_counter[0 .. 2] in function lrand48." - }, + "message": { "text": "assigns clause in function free." }, "locations": [ { "physicalLocation": { @@ -8117,11 +8215,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 335, - "startColumn": 10, - "endLine": 335, - "endColumn": 37, - "byteLength": 27 + "startLine": 452, + "startColumn": 12, + "endLine": 452, + "endColumn": 16, + "byteLength": 4 } } } @@ -8132,7 +8230,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term \\result in function lrand48." + "text": "from clause of term __fc_heap_status in function free." }, "locations": [ { @@ -8142,11 +8240,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 336, - "startColumn": 10, - "endLine": 336, - "endColumn": 17, - "byteLength": 7 + "startLine": 443, + "startColumn": 12, + "endLine": 443, + "endColumn": 28, + "byteLength": 16 } } } @@ -8156,7 +8254,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior allocation in function malloc." }, + "message": { + "text": "from clause of term __fc_heap_status in function free." + }, "locations": [ { "physicalLocation": { @@ -8165,11 +8265,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 404, - "startColumn": 13, - "endLine": 404, - "endColumn": 19, - "byteLength": 6 + "startLine": 440, + "startColumn": 12, + "endLine": 440, + "endColumn": 28, + "byteLength": 16 } } } @@ -8179,7 +8279,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function malloc." }, + "message": { "text": "allocates/frees clause in function free." }, "locations": [ { "physicalLocation": { @@ -8188,11 +8288,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 404, - "startColumn": 13, - "endLine": 404, - "endColumn": 19, - "byteLength": 6 + "startLine": 439, + "startColumn": 10, + "endLine": 439, + "endColumn": 11, + "byteLength": 1 } } } @@ -8202,7 +8302,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior no_allocation in function malloc." }, + "message": { "text": "allocates/frees clause in function free." }, "locations": [ { "physicalLocation": { @@ -8211,11 +8311,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 404, - "startColumn": 13, - "endLine": 404, - "endColumn": 19, - "byteLength": 6 + "startLine": 452, + "startColumn": 12, + "endLine": 452, + "endColumn": 16, + "byteLength": 4 } } } @@ -8225,7 +8325,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "can_allocate." }, + "message": { "text": "complete clause in function free." }, "locations": [ { "physicalLocation": { @@ -8234,11 +8334,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 392, - "startColumn": 26, - "endLine": 392, - "endColumn": 44, - "byteLength": 18 + "startLine": 452, + "startColumn": 12, + "endLine": 452, + "endColumn": 16, + "byteLength": 4 } } } @@ -8248,7 +8348,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "cannot_allocate." }, + "message": { "text": "disjoint clause in function free." }, "locations": [ { "physicalLocation": { @@ -8257,34 +8357,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 397, - "startColumn": 29, - "endLine": 397, - "endColumn": 48, - "byteLength": 19 - } - } - } - ] - }, - { - "ruleId": "user-spec", - "kind": "pass", - "level": "none", - "message": { "text": "allocation." }, - "locations": [ - { - "physicalLocation": { - "artifactLocation": { - "uri": "libc/stdlib.h", - "uriBaseId": "FRAMAC_SHARE" - }, - "region": { - "startLine": 395, - "startColumn": 24, - "endLine": 395, - "endColumn": 44, - "byteLength": 20 + "startLine": 452, + "startColumn": 12, + "endLine": 452, + "endColumn": 16, + "byteLength": 4 } } } @@ -8294,7 +8371,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "null_result." }, + "message": { "text": "behavior default! in function getenv." }, "locations": [ { "physicalLocation": { @@ -8303,11 +8380,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 400, - "startColumn": 25, - "endLine": 400, - "endColumn": 39, - "byteLength": 14 + "startLine": 560, + "startColumn": 13, + "endLine": 560, + "endColumn": 19, + "byteLength": 6 } } } @@ -8317,7 +8394,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function malloc." }, + "message": { "text": "valid_name." }, "locations": [ { "physicalLocation": { @@ -8326,11 +8403,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 393, - "startColumn": 12, - "endLine": 393, - "endColumn": 28, - "byteLength": 16 + "startLine": 554, + "startColumn": 23, + "endLine": 554, + "endColumn": 46, + "byteLength": 23 } } } @@ -8340,7 +8417,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function malloc." }, + "message": { "text": "null_or_valid_result." }, "locations": [ { "physicalLocation": { @@ -8349,11 +8426,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 389, - "startColumn": 12, - "endLine": 389, - "endColumn": 28, - "byteLength": 16 + "startLine": 558, + "startColumn": 4, + "endLine": 558, + "endColumn": 71, + "byteLength": 67 } } } @@ -8363,7 +8440,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function malloc." }, + "message": { "text": "assigns clause in function getenv." }, "locations": [ { "physicalLocation": { @@ -8372,9 +8449,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 404, + "startLine": 560, "startColumn": 13, - "endLine": 404, + "endLine": 560, "endColumn": 19, "byteLength": 6 } @@ -8387,7 +8464,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term __fc_heap_status in function malloc." + "text": "from clause of term \\result in function getenv." }, "locations": [ { @@ -8397,11 +8474,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 393, - "startColumn": 12, - "endLine": 393, - "endColumn": 28, - "byteLength": 16 + "startLine": 555, + "startColumn": 10, + "endLine": 555, + "endColumn": 17, + "byteLength": 7 } } } @@ -8411,9 +8488,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term \\result in function malloc." - }, + "message": { "text": "behavior default! in function jrand48." }, "locations": [ { "physicalLocation": { @@ -8422,10 +8497,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 394, - "startColumn": 12, - "endLine": 394, - "endColumn": 19, + "startLine": 395, + "startColumn": 16, + "endLine": 395, + "endColumn": 23, "byteLength": 7 } } @@ -8436,9 +8511,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term __fc_heap_status in function malloc." - }, + "message": { "text": "valid_xsubi." }, "locations": [ { "physicalLocation": { @@ -8448,10 +8521,10 @@ }, "region": { "startLine": 389, - "startColumn": 12, + "startColumn": 24, "endLine": 389, - "endColumn": 28, - "byteLength": 16 + "endColumn": 44, + "byteLength": 20 } } } @@ -8461,9 +8534,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term \\result in function malloc." - }, + "message": { "text": "initialization." }, "locations": [ { "physicalLocation": { @@ -8473,10 +8544,10 @@ }, "region": { "startLine": 390, - "startColumn": 12, + "startColumn": 45, "endLine": 390, - "endColumn": 19, - "byteLength": 7 + "endColumn": 71, + "byteLength": 26 } } } @@ -8486,9 +8557,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term \\result in function malloc." - }, + "message": { "text": "result_range." }, "locations": [ { "physicalLocation": { @@ -8497,11 +8566,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 398, - "startColumn": 12, - "endLine": 398, - "endColumn": 19, - "byteLength": 7 + "startLine": 393, + "startColumn": 24, + "endLine": 393, + "endColumn": 59, + "byteLength": 35 } } } @@ -8511,7 +8580,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "allocates/frees clause in function malloc." }, + "message": { "text": "assigns clause in function jrand48." }, "locations": [ { "physicalLocation": { @@ -8520,11 +8589,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 388, - "startColumn": 14, - "endLine": 388, - "endColumn": 21, - "byteLength": 7 + "startLine": 391, + "startColumn": 10, + "endLine": 391, + "endColumn": 37, + "byteLength": 27 } } } @@ -8534,7 +8603,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "allocates/frees clause in function malloc." }, + "message": { + "text": "from clause of term __fc_random48_counter[0 .. 2] in function jrand48." + }, "locations": [ { "physicalLocation": { @@ -8543,11 +8614,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 404, - "startColumn": 13, - "endLine": 404, - "endColumn": 19, - "byteLength": 6 + "startLine": 391, + "startColumn": 10, + "endLine": 391, + "endColumn": 37, + "byteLength": 27 } } } @@ -8557,7 +8628,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "complete clause in function malloc." }, + "message": { + "text": "from clause of term \\result in function jrand48." + }, "locations": [ { "physicalLocation": { @@ -8566,11 +8639,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 404, - "startColumn": 13, - "endLine": 404, - "endColumn": 19, - "byteLength": 6 + "startLine": 392, + "startColumn": 10, + "endLine": 392, + "endColumn": 17, + "byteLength": 7 } } } @@ -8580,7 +8653,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "disjoint clause in function malloc." }, + "message": { "text": "behavior default! in function labs." }, "locations": [ { "physicalLocation": { @@ -8589,11 +8662,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 404, - "startColumn": 13, - "endLine": 404, - "endColumn": 19, - "byteLength": 6 + "startLine": 694, + "startColumn": 16, + "endLine": 694, + "endColumn": 20, + "byteLength": 4 } } } @@ -8603,7 +8676,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function mblen." }, + "message": { "text": "behavior negative in function labs." }, "locations": [ { "physicalLocation": { @@ -8612,11 +8685,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 654, - "startColumn": 11, - "endLine": 654, - "endColumn": 16, - "byteLength": 5 + "startLine": 694, + "startColumn": 16, + "endLine": 694, + "endColumn": 20, + "byteLength": 4 } } } @@ -8626,7 +8699,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function mblen." }, + "message": { "text": "behavior nonnegative in function labs." }, "locations": [ { "physicalLocation": { @@ -8635,11 +8708,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 652, - "startColumn": 12, - "endLine": 652, - "endColumn": 19, - "byteLength": 7 + "startLine": 694, + "startColumn": 16, + "endLine": 694, + "endColumn": 20, + "byteLength": 4 } } } @@ -8649,9 +8722,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term \\result in function mblen." - }, + "message": { "text": "abs_representable." }, "locations": [ { "physicalLocation": { @@ -8660,11 +8731,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 652, - "startColumn": 12, - "endLine": 652, - "endColumn": 19, - "byteLength": 7 + "startLine": 683, + "startColumn": 30, + "endLine": 683, + "endColumn": 62, + "byteLength": 32 } } } @@ -8674,9 +8745,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term __fc_mblen_state in function mblen." - }, + "message": { "text": "negative." }, "locations": [ { "physicalLocation": { @@ -8685,11 +8754,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 652, - "startColumn": 21, - "endLine": 652, - "endColumn": 37, - "byteLength": 16 + "startLine": 686, + "startColumn": 22, + "endLine": 686, + "endColumn": 27, + "byteLength": 5 } } } @@ -8699,7 +8768,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function mbstowcs." }, + "message": { "text": "nonnegative." }, "locations": [ { "physicalLocation": { @@ -8708,11 +8777,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 686, - "startColumn": 14, - "endLine": 686, - "endColumn": 22, - "byteLength": 8 + "startLine": 689, + "startColumn": 25, + "endLine": 689, + "endColumn": 31, + "byteLength": 6 } } } @@ -8722,7 +8791,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "separation." }, + "message": { "text": "opposite_result." }, "locations": [ { "physicalLocation": { @@ -8731,11 +8800,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 682, - "startColumn": 23, - "endLine": 682, + "startLine": 687, + "startColumn": 29, + "endLine": 687, "endColumn": 42, - "byteLength": 19 + "byteLength": 13 } } } @@ -8745,7 +8814,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function mbstowcs." }, + "message": { "text": "same_result." }, "locations": [ { "physicalLocation": { @@ -8754,11 +8823,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 683, - "startColumn": 10, - "endLine": 683, - "endColumn": 17, - "byteLength": 7 + "startLine": 690, + "startColumn": 25, + "endLine": 690, + "endColumn": 37, + "byteLength": 12 } } } @@ -8768,9 +8837,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term \\result in function mbstowcs." - }, + "message": { "text": "assigns clause in function labs." }, "locations": [ { "physicalLocation": { @@ -8779,11 +8846,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 683, - "startColumn": 10, - "endLine": 683, - "endColumn": 17, - "byteLength": 7 + "startLine": 694, + "startColumn": 16, + "endLine": 694, + "endColumn": 20, + "byteLength": 4 } } } @@ -8794,7 +8861,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term *(pwcs + (0 .. n - 1)) in function mbstowcs." + "text": "from clause of term \\result in function labs." }, "locations": [ { @@ -8807,8 +8874,8 @@ "startLine": 684, "startColumn": 10, "endLine": 684, - "endColumn": 24, - "byteLength": 14 + "endColumn": 17, + "byteLength": 7 } } } @@ -8818,7 +8885,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function mbtowc." }, + "message": { "text": "complete clause in function labs." }, "locations": [ { "physicalLocation": { @@ -8827,13 +8894,13 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 666, - "startColumn": 11, - "endLine": 666, - "endColumn": 17, - "byteLength": 6 - } - } + "startLine": 694, + "startColumn": 16, + "endLine": 694, + "endColumn": 20, + "byteLength": 4 + } + } } ] }, @@ -8841,7 +8908,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "separation." }, + "message": { "text": "disjoint clause in function labs." }, "locations": [ { "physicalLocation": { @@ -8850,11 +8917,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 659, - "startColumn": 23, - "endLine": 659, - "endColumn": 41, - "byteLength": 18 + "startLine": 694, + "startColumn": 16, + "endLine": 694, + "endColumn": 20, + "byteLength": 4 } } } @@ -8864,7 +8931,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "consumed_range." }, + "message": { "text": "behavior default! in function lcong48." }, "locations": [ { "physicalLocation": { @@ -8873,11 +8940,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 664, - "startColumn": 26, - "endLine": 664, - "endColumn": 38, - "byteLength": 12 + "startLine": 344, + "startColumn": 12, + "endLine": 344, + "endColumn": 19, + "byteLength": 7 } } } @@ -8887,7 +8954,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function mbtowc." }, + "message": { "text": "valid_param." }, "locations": [ { "physicalLocation": { @@ -8896,11 +8963,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 660, - "startColumn": 10, - "endLine": 660, - "endColumn": 17, - "byteLength": 7 + "startLine": 338, + "startColumn": 24, + "endLine": 338, + "endColumn": 44, + "byteLength": 20 } } } @@ -8910,9 +8977,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term \\result in function mbtowc." - }, + "message": { "text": "initialization." }, "locations": [ { "physicalLocation": { @@ -8921,11 +8986,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 660, - "startColumn": 10, - "endLine": 660, - "endColumn": 17, - "byteLength": 7 + "startLine": 339, + "startColumn": 45, + "endLine": 339, + "endColumn": 71, + "byteLength": 26 } } } @@ -8935,9 +9000,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term *(pwc + (0 .. \\result - 1)) in function mbtowc." - }, + "message": { "text": "random48_initialized." }, "locations": [ { "physicalLocation": { @@ -8946,11 +9009,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 662, - "startColumn": 10, - "endLine": 662, - "endColumn": 29, - "byteLength": 19 + "startLine": 342, + "startColumn": 32, + "endLine": 342, + "endColumn": 55, + "byteLength": 23 } } } @@ -8960,9 +9023,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term __fc_mbtowc_state in function mbtowc." - }, + "message": { "text": "assigns clause in function lcong48." }, "locations": [ { "physicalLocation": { @@ -8971,11 +9032,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 662, - "startColumn": 31, - "endLine": 662, - "endColumn": 48, - "byteLength": 17 + "startLine": 340, + "startColumn": 10, + "endLine": 340, + "endColumn": 37, + "byteLength": 27 } } } @@ -8985,20 +9046,22 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function memchr." }, + "message": { + "text": "from clause of term __fc_random48_counter[0 .. 2] in function lcong48." + }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.c", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 268, - "startColumn": 6, - "endLine": 275, - "endColumn": 1, - "byteLength": 224 + "startLine": 340, + "startColumn": 10, + "endLine": 340, + "endColumn": 37, + "byteLength": 27 } } } @@ -9008,20 +9071,22 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior found in function memchr." }, + "message": { + "text": "from clause of term __fc_random48_init in function lcong48." + }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.c", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 268, - "startColumn": 6, - "endLine": 275, - "endColumn": 1, - "byteLength": 224 + "startLine": 341, + "startColumn": 10, + "endLine": 341, + "endColumn": 28, + "byteLength": 18 } } } @@ -9031,20 +9096,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior not_found in function memchr." }, + "message": { "text": "behavior default! in function ldiv." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.c", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 268, - "startColumn": 6, - "endLine": 275, - "endColumn": 1, - "byteLength": 224 + "startLine": 722, + "startColumn": 14, + "endLine": 722, + "endColumn": 18, + "byteLength": 4 } } } @@ -9054,20 +9119,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "valid." }, + "message": { "text": "denom_nonzero." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.h", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 68, - "startColumn": 9, - "endLine": 69, - "endColumn": 74, - "byteLength": 100 + "startLine": 718, + "startColumn": 26, + "endLine": 718, + "endColumn": 36, + "byteLength": 10 } } } @@ -9077,20 +9142,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "initialization." }, + "message": { "text": "no_overflow." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.h", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 71, - "startColumn": 8, - "endLine": 72, - "endColumn": 71, - "byteLength": 116 + "startLine": 719, + "startColumn": 24, + "endLine": 719, + "endColumn": 79, + "byteLength": 55 } } } @@ -9100,20 +9165,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "danglingness." }, + "message": { "text": "assigns clause in function ldiv." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.h", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 74, - "startColumn": 8, - "endLine": 75, - "endColumn": 61, - "byteLength": 80 + "startLine": 722, + "startColumn": 14, + "endLine": 722, + "endColumn": 18, + "byteLength": 4 } } } @@ -9123,20 +9188,22 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "char_found." }, + "message": { + "text": "from clause of term \\result in function ldiv." + }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.h", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 78, - "startColumn": 24, - "endLine": 78, - "endColumn": 44, - "byteLength": 20 + "startLine": 720, + "startColumn": 10, + "endLine": 720, + "endColumn": 17, + "byteLength": 7 } } } @@ -9146,20 +9213,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "char_not_found." }, + "message": { "text": "behavior default! in function llabs." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.h", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 85, - "startColumn": 28, - "endLine": 85, - "endColumn": 49, - "byteLength": 21 + "startLine": 708, + "startColumn": 21, + "endLine": 708, + "endColumn": 26, + "byteLength": 5 } } } @@ -9169,20 +9236,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_same_base." }, + "message": { "text": "behavior negative in function llabs." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.h", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 79, - "startColumn": 30, - "endLine": 79, - "endColumn": 66, - "byteLength": 36 + "startLine": 708, + "startColumn": 21, + "endLine": 708, + "endColumn": 26, + "byteLength": 5 } } } @@ -9192,20 +9259,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_char." }, + "message": { "text": "behavior nonnegative in function llabs." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.h", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 80, - "startColumn": 25, - "endLine": 80, - "endColumn": 45, - "byteLength": 20 + "startLine": 708, + "startColumn": 21, + "endLine": 708, + "endColumn": 26, + "byteLength": 5 } } } @@ -9215,20 +9282,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_in_str." }, + "message": { "text": "abs_representable." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.h", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 81, - "startColumn": 27, - "endLine": 83, - "endColumn": 54, - "byteLength": 120 + "startLine": 697, + "startColumn": 30, + "endLine": 697, + "endColumn": 64, + "byteLength": 34 } } } @@ -9238,20 +9305,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_null." }, + "message": { "text": "negative." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.h", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 86, - "startColumn": 25, - "endLine": 86, - "endColumn": 41, - "byteLength": 16 + "startLine": 700, + "startColumn": 22, + "endLine": 700, + "endColumn": 27, + "byteLength": 5 } } } @@ -9261,20 +9328,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function memchr." }, + "message": { "text": "nonnegative." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.c", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 268, - "startColumn": 6, - "endLine": 275, - "endColumn": 1, - "byteLength": 224 + "startLine": 703, + "startColumn": 25, + "endLine": 703, + "endColumn": 31, + "byteLength": 6 } } } @@ -9284,22 +9351,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term \\result in function memchr." - }, + "message": { "text": "opposite_result." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.h", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 76, - "startColumn": 12, - "endLine": 76, - "endColumn": 19, - "byteLength": 7 + "startLine": 701, + "startColumn": 29, + "endLine": 701, + "endColumn": 42, + "byteLength": 13 } } } @@ -9309,20 +9374,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function memcmp." }, + "message": { "text": "same_result." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.c", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 163, - "startColumn": 4, - "endLine": 171, - "endColumn": 1, - "byteLength": 243 + "startLine": 704, + "startColumn": 25, + "endLine": 704, + "endColumn": 37, + "byteLength": 12 } } } @@ -9332,20 +9397,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "valid_s1." }, + "message": { "text": "assigns clause in function llabs." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.h", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 55, - "startColumn": 23, - "endLine": 55, - "endColumn": 49, - "byteLength": 26 + "startLine": 708, + "startColumn": 21, + "endLine": 708, + "endColumn": 26, + "byteLength": 5 } } } @@ -9355,20 +9420,22 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "valid_s2." }, + "message": { + "text": "from clause of term \\result in function llabs." + }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.h", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 56, - "startColumn": 23, - "endLine": 56, - "endColumn": 49, - "byteLength": 26 + "startLine": 698, + "startColumn": 10, + "endLine": 698, + "endColumn": 17, + "byteLength": 7 } } } @@ -9378,20 +9445,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "initialization." }, + "message": { "text": "complete clause in function llabs." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.h", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 57, - "startColumn": 32, - "endLine": 57, - "endColumn": 68, - "byteLength": 36 + "startLine": 708, + "startColumn": 21, + "endLine": 708, + "endColumn": 26, + "byteLength": 5 } } } @@ -9401,20 +9468,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "initialization." }, + "message": { "text": "disjoint clause in function llabs." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.h", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 58, - "startColumn": 32, - "endLine": 58, - "endColumn": 68, - "byteLength": 36 + "startLine": 708, + "startColumn": 21, + "endLine": 708, + "endColumn": 26, + "byteLength": 5 } } } @@ -9424,20 +9491,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "danglingness." }, + "message": { "text": "behavior default! in function lldiv." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.h", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 59, - "startColumn": 30, - "endLine": 59, - "endColumn": 49, - "byteLength": 19 + "startLine": 729, + "startColumn": 15, + "endLine": 729, + "endColumn": 20, + "byteLength": 5 } } } @@ -9447,20 +9514,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "danglingness." }, + "message": { "text": "denom_nonzero." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.h", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 60, - "startColumn": 30, - "endLine": 60, - "endColumn": 49, - "byteLength": 19 + "startLine": 725, + "startColumn": 26, + "endLine": 725, + "endColumn": 36, + "byteLength": 10 } } } @@ -9470,20 +9537,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "logic_spec." }, + "message": { "text": "no_overflow." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.h", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 63, + "startLine": 726, "startColumn": 24, - "endLine": 63, - "endColumn": 73, - "byteLength": 49 + "endLine": 726, + "endColumn": 81, + "byteLength": 57 } } } @@ -9493,20 +9560,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function memcmp." }, + "message": { "text": "assigns clause in function lldiv." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.c", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 163, - "startColumn": 4, - "endLine": 171, - "endColumn": 1, - "byteLength": 243 + "startLine": 729, + "startColumn": 15, + "endLine": 729, + "endColumn": 20, + "byteLength": 5 } } } @@ -9517,20 +9584,20 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term \\result in function memcmp." + "text": "from clause of term \\result in function lldiv." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.h", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 61, - "startColumn": 12, - "endLine": 61, - "endColumn": 19, + "startLine": 727, + "startColumn": 10, + "endLine": 727, + "endColumn": 17, "byteLength": 7 } } @@ -9541,20 +9608,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function memcpy." }, + "message": { "text": "behavior default! in function lrand48." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.c", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 30, - "startColumn": 6, - "endLine": 42, - "endColumn": 1, - "byteLength": 377 + "startLine": 369, + "startColumn": 16, + "endLine": 369, + "endColumn": 23, + "byteLength": 7 } } } @@ -9564,19 +9631,19 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "valid_dest." }, + "message": { "text": "random48_initialized." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.h", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 95, - "startColumn": 25, - "endLine": 95, - "endColumn": 48, + "startLine": 364, + "startColumn": 33, + "endLine": 364, + "endColumn": 56, "byteLength": 23 } } @@ -9587,20 +9654,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "valid_src." }, + "message": { "text": "result_range." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.h", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 96, + "startLine": 367, "startColumn": 24, - "endLine": 96, - "endColumn": 51, - "byteLength": 27 + "endLine": 367, + "endColumn": 49, + "byteLength": 25 } } } @@ -9610,20 +9677,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "separation." }, + "message": { "text": "assigns clause in function lrand48." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.h", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 98, - "startColumn": 4, - "endLine": 98, - "endColumn": 62, - "byteLength": 58 + "startLine": 365, + "startColumn": 10, + "endLine": 365, + "endColumn": 37, + "byteLength": 27 } } } @@ -9633,20 +9700,22 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "copied_contents." }, + "message": { + "text": "from clause of term __fc_random48_counter[0 .. 2] in function lrand48." + }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.h", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 101, - "startColumn": 29, - "endLine": 101, - "endColumn": 76, - "byteLength": 47 + "startLine": 365, + "startColumn": 10, + "endLine": 365, + "endColumn": 37, + "byteLength": 27 } } } @@ -9656,20 +9725,22 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_ptr." }, + "message": { + "text": "from clause of term \\result in function lrand48." + }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.h", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 102, - "startColumn": 24, - "endLine": 102, - "endColumn": 39, - "byteLength": 15 + "startLine": 366, + "startColumn": 10, + "endLine": 366, + "endColumn": 17, + "byteLength": 7 } } } @@ -9679,20 +9750,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function memcpy." }, + "message": { "text": "behavior allocation in function malloc." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.h", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 99, - "startColumn": 12, - "endLine": 99, - "endColumn": 35, - "byteLength": 23 + "startLine": 436, + "startColumn": 13, + "endLine": 436, + "endColumn": 19, + "byteLength": 6 } } } @@ -9702,22 +9773,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term *((char *)dest + (0 .. n - 1)) in function memcpy." - }, + "message": { "text": "behavior default! in function malloc." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.h", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 99, - "startColumn": 12, - "endLine": 99, - "endColumn": 35, - "byteLength": 23 + "startLine": 436, + "startColumn": 13, + "endLine": 436, + "endColumn": 19, + "byteLength": 6 } } } @@ -9727,22 +9796,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term \\result in function memcpy." - }, + "message": { "text": "behavior no_allocation in function malloc." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.h", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 100, - "startColumn": 12, - "endLine": 100, + "startLine": 436, + "startColumn": 13, + "endLine": 436, "endColumn": 19, - "byteLength": 7 + "byteLength": 6 } } } @@ -9752,20 +9819,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "no_eva." }, + "message": { "text": "can_allocate." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.c", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 33, - "startColumn": 27, - "endLine": 33, - "endColumn": 38, - "byteLength": 11 + "startLine": 424, + "startColumn": 26, + "endLine": 424, + "endColumn": 44, + "byteLength": 18 } } } @@ -9775,7 +9842,2934 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "no_eva." }, + "message": { "text": "cannot_allocate." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/stdlib.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 429, + "startColumn": 29, + "endLine": 429, + "endColumn": 48, + "byteLength": 19 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "allocation." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/stdlib.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 427, + "startColumn": 24, + "endLine": 427, + "endColumn": 44, + "byteLength": 20 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "null_result." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/stdlib.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 432, + "startColumn": 25, + "endLine": 432, + "endColumn": 39, + "byteLength": 14 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "assigns clause in function malloc." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/stdlib.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 425, + "startColumn": 12, + "endLine": 425, + "endColumn": 28, + "byteLength": 16 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "assigns clause in function malloc." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/stdlib.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 421, + "startColumn": 12, + "endLine": 421, + "endColumn": 28, + "byteLength": 16 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "assigns clause in function malloc." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/stdlib.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 436, + "startColumn": 13, + "endLine": 436, + "endColumn": 19, + "byteLength": 6 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { + "text": "from clause of term __fc_heap_status in function malloc." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/stdlib.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 425, + "startColumn": 12, + "endLine": 425, + "endColumn": 28, + "byteLength": 16 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { + "text": "from clause of term \\result in function malloc." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/stdlib.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 426, + "startColumn": 12, + "endLine": 426, + "endColumn": 19, + "byteLength": 7 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { + "text": "from clause of term __fc_heap_status in function malloc." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/stdlib.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 421, + "startColumn": 12, + "endLine": 421, + "endColumn": 28, + "byteLength": 16 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { + "text": "from clause of term \\result in function malloc." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/stdlib.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 422, + "startColumn": 12, + "endLine": 422, + "endColumn": 19, + "byteLength": 7 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { + "text": "from clause of term \\result in function malloc." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/stdlib.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 431, + "startColumn": 12, + "endLine": 431, + "endColumn": 19, + "byteLength": 7 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "allocates/frees clause in function malloc." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/stdlib.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 420, + "startColumn": 14, + "endLine": 420, + "endColumn": 21, + "byteLength": 7 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "allocates/frees clause in function malloc." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/stdlib.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 436, + "startColumn": 13, + "endLine": 436, + "endColumn": 19, + "byteLength": 6 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "complete clause in function malloc." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/stdlib.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 436, + "startColumn": 13, + "endLine": 436, + "endColumn": 19, + "byteLength": 6 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "disjoint clause in function malloc." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/stdlib.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 436, + "startColumn": 13, + "endLine": 436, + "endColumn": 19, + "byteLength": 6 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "behavior default! in function mblen." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/stdlib.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 737, + "startColumn": 11, + "endLine": 737, + "endColumn": 16, + "byteLength": 5 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "assigns clause in function mblen." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/stdlib.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 735, + "startColumn": 12, + "endLine": 735, + "endColumn": 19, + "byteLength": 7 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { + "text": "from clause of term \\result in function mblen." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/stdlib.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 735, + "startColumn": 12, + "endLine": 735, + "endColumn": 19, + "byteLength": 7 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { + "text": "from clause of term __fc_mblen_state in function mblen." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/stdlib.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 735, + "startColumn": 21, + "endLine": 735, + "endColumn": 37, + "byteLength": 16 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "behavior default! in function mbstowcs." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/stdlib.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 769, + "startColumn": 14, + "endLine": 769, + "endColumn": 22, + "byteLength": 8 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "separation." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/stdlib.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 765, + "startColumn": 23, + "endLine": 765, + "endColumn": 42, + "byteLength": 19 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "assigns clause in function mbstowcs." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/stdlib.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 766, + "startColumn": 10, + "endLine": 766, + "endColumn": 17, + "byteLength": 7 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { + "text": "from clause of term \\result in function mbstowcs." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/stdlib.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 766, + "startColumn": 10, + "endLine": 766, + "endColumn": 17, + "byteLength": 7 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { + "text": "from clause of term *(pwcs + (0 .. n - 1)) in function mbstowcs." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/stdlib.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 767, + "startColumn": 10, + "endLine": 767, + "endColumn": 24, + "byteLength": 14 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "behavior default! in function mbtowc." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/stdlib.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 749, + "startColumn": 11, + "endLine": 749, + "endColumn": 17, + "byteLength": 6 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "separation." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/stdlib.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 742, + "startColumn": 23, + "endLine": 742, + "endColumn": 41, + "byteLength": 18 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "consumed_range." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/stdlib.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 747, + "startColumn": 26, + "endLine": 747, + "endColumn": 38, + "byteLength": 12 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "assigns clause in function mbtowc." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/stdlib.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 743, + "startColumn": 10, + "endLine": 743, + "endColumn": 17, + "byteLength": 7 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { + "text": "from clause of term \\result in function mbtowc." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/stdlib.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 743, + "startColumn": 10, + "endLine": 743, + "endColumn": 17, + "byteLength": 7 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { + "text": "from clause of term *(pwc + (0 .. \\result - 1)) in function mbtowc." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/stdlib.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 745, + "startColumn": 10, + "endLine": 745, + "endColumn": 29, + "byteLength": 19 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { + "text": "from clause of term __fc_mbtowc_state in function mbtowc." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/stdlib.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 745, + "startColumn": 31, + "endLine": 745, + "endColumn": 48, + "byteLength": 17 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "behavior default! in function memchr." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.c", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 271, + "startColumn": 6, + "endLine": 278, + "endColumn": 1, + "byteLength": 224 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "behavior found in function memchr." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.c", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 271, + "startColumn": 6, + "endLine": 278, + "endColumn": 1, + "byteLength": 224 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "behavior not_found in function memchr." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.c", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 271, + "startColumn": 6, + "endLine": 278, + "endColumn": 1, + "byteLength": 224 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "valid." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 68, + "startColumn": 9, + "endLine": 69, + "endColumn": 74, + "byteLength": 100 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "initialization." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 71, + "startColumn": 8, + "endLine": 72, + "endColumn": 71, + "byteLength": 116 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "danglingness." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 74, + "startColumn": 8, + "endLine": 75, + "endColumn": 61, + "byteLength": 80 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "char_found." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 78, + "startColumn": 24, + "endLine": 78, + "endColumn": 44, + "byteLength": 20 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "char_not_found." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 86, + "startColumn": 28, + "endLine": 86, + "endColumn": 49, + "byteLength": 21 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "result_valid_read." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 79, + "startColumn": 31, + "endLine": 79, + "endColumn": 58, + "byteLength": 27 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "result_same_base." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 80, + "startColumn": 30, + "endLine": 80, + "endColumn": 66, + "byteLength": 36 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "result_char." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 81, + "startColumn": 25, + "endLine": 81, + "endColumn": 45, + "byteLength": 20 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "result_in_str." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 82, + "startColumn": 27, + "endLine": 84, + "endColumn": 54, + "byteLength": 120 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "result_null." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 87, + "startColumn": 25, + "endLine": 87, + "endColumn": 41, + "byteLength": 16 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "assigns clause in function memchr." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.c", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 271, + "startColumn": 6, + "endLine": 278, + "endColumn": 1, + "byteLength": 224 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { + "text": "from clause of term \\result in function memchr." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 76, + "startColumn": 12, + "endLine": 76, + "endColumn": 19, + "byteLength": 7 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "behavior default! in function memcmp." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.c", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 163, + "startColumn": 4, + "endLine": 171, + "endColumn": 1, + "byteLength": 243 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "valid_s1." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 55, + "startColumn": 23, + "endLine": 55, + "endColumn": 49, + "byteLength": 26 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "valid_s2." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 56, + "startColumn": 23, + "endLine": 56, + "endColumn": 49, + "byteLength": 26 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "initialization." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 57, + "startColumn": 32, + "endLine": 57, + "endColumn": 68, + "byteLength": 36 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "initialization." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 58, + "startColumn": 32, + "endLine": 58, + "endColumn": 68, + "byteLength": 36 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "danglingness." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 59, + "startColumn": 30, + "endLine": 59, + "endColumn": 49, + "byteLength": 19 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "danglingness." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 60, + "startColumn": 30, + "endLine": 60, + "endColumn": 49, + "byteLength": 19 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "logic_spec." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 63, + "startColumn": 24, + "endLine": 63, + "endColumn": 73, + "byteLength": 49 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "assigns clause in function memcmp." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.c", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 163, + "startColumn": 4, + "endLine": 171, + "endColumn": 1, + "byteLength": 243 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { + "text": "from clause of term \\result in function memcmp." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 61, + "startColumn": 12, + "endLine": 61, + "endColumn": 19, + "byteLength": 7 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "behavior default! in function memcpy." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.c", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 30, + "startColumn": 6, + "endLine": 42, + "endColumn": 1, + "byteLength": 377 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "valid_dest." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 112, + "startColumn": 25, + "endLine": 112, + "endColumn": 48, + "byteLength": 23 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "valid_src." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 113, + "startColumn": 24, + "endLine": 113, + "endColumn": 51, + "byteLength": 27 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "separation." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 115, + "startColumn": 4, + "endLine": 115, + "endColumn": 62, + "byteLength": 58 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "copied_contents." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 118, + "startColumn": 29, + "endLine": 118, + "endColumn": 76, + "byteLength": 47 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "result_ptr." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 119, + "startColumn": 24, + "endLine": 119, + "endColumn": 39, + "byteLength": 15 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "assigns clause in function memcpy." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 116, + "startColumn": 12, + "endLine": 116, + "endColumn": 35, + "byteLength": 23 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { + "text": "from clause of term *((char *)dest + (0 .. n - 1)) in function memcpy." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 116, + "startColumn": 12, + "endLine": 116, + "endColumn": 35, + "byteLength": 23 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { + "text": "from clause of term \\result in function memcpy." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 117, + "startColumn": 12, + "endLine": 117, + "endColumn": 19, + "byteLength": 7 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "no_eva." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.c", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 33, + "startColumn": 27, + "endLine": 33, + "endColumn": 38, + "byteLength": 11 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "no_eva." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.c", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 34, + "startColumn": 27, + "endLine": 34, + "endColumn": 92, + "byteLength": 65 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "assigns clause in function memcpy." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.c", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 35, + "startColumn": 17, + "endLine": 35, + "endColumn": 18, + "byteLength": 1 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "decrease clause in function memcpy." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.c", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 36, + "startColumn": 17, + "endLine": 36, + "endColumn": 22, + "byteLength": 5 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "error", + "message": { "text": "reachability of stmt line 38 in memcpy." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.c", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 38, + "startColumn": 2, + "endLine": 40, + "endColumn": 3, + "byteLength": 76 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "error", + "message": { "text": "reachability post stmt line 38 in memcpy." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.c", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 38, + "startColumn": 2, + "endLine": 40, + "endColumn": 3, + "byteLength": 76 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "behavior default! in function memmem." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 559, + "startColumn": 13, + "endLine": 559, + "endColumn": 19, + "byteLength": 6 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "valid_haystack." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 549, + "startColumn": 27, + "endLine": 549, + "endColumn": 78, + "byteLength": 51 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "valid_needle." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 550, + "startColumn": 25, + "endLine": 550, + "endColumn": 72, + "byteLength": 47 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "result_null_or_valid." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 555, + "startColumn": 4, + "endLine": 555, + "endColumn": 51, + "byteLength": 47 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "result_null_or_same_base." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 557, + "startColumn": 4, + "endLine": 557, + "endColumn": 67, + "byteLength": 63 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "assigns clause in function memmem." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 559, + "startColumn": 13, + "endLine": 559, + "endColumn": 19, + "byteLength": 6 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { + "text": "from clause of term \\result in function memmem." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 551, + "startColumn": 10, + "endLine": 551, + "endColumn": 17, + "byteLength": 7 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "behavior default! in function memmove." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.c", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 88, + "startColumn": 6, + "endLine": 118, + "endColumn": 1, + "byteLength": 1221 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "valid_dest." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 137, + "startColumn": 25, + "endLine": 137, + "endColumn": 48, + "byteLength": 23 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "valid_src." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 138, + "startColumn": 24, + "endLine": 138, + "endColumn": 51, + "byteLength": 27 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "copied_contents." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 141, + "startColumn": 29, + "endLine": 141, + "endColumn": 76, + "byteLength": 47 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "result_ptr." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 142, + "startColumn": 24, + "endLine": 142, + "endColumn": 39, + "byteLength": 15 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "assigns clause in function memmove." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 139, + "startColumn": 12, + "endLine": 139, + "endColumn": 35, + "byteLength": 23 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { + "text": "from clause of term *((char *)dest + (0 .. n - 1)) in function memmove." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 139, + "startColumn": 12, + "endLine": 139, + "endColumn": 35, + "byteLength": 23 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { + "text": "from clause of term \\result in function memmove." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 140, + "startColumn": 12, + "endLine": 140, + "endColumn": 19, + "byteLength": 7 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "no_eva." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.c", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 95, + "startColumn": 29, + "endLine": 95, + "endColumn": 40, + "byteLength": 11 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "no_eva." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.c", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 96, + "startColumn": 29, + "endLine": 96, + "endColumn": 109, + "byteLength": 80 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "no_eva." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.c", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 97, + "startColumn": 29, + "endLine": 97, + "endColumn": 108, + "byteLength": 79 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "assigns clause in function memmove." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.c", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 98, + "startColumn": 19, + "endLine": 98, + "endColumn": 20, + "byteLength": 1 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "decrease clause in function memmove." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.c", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 99, + "startColumn": 19, + "endLine": 99, + "endColumn": 24, + "byteLength": 5 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "error", + "message": { "text": "reachability of stmt line 101 in memmove." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.c", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 101, + "startColumn": 4, + "endLine": 102, + "endColumn": 18, + "byteLength": 49 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "error", + "message": { + "text": "reachability post stmt line 101 in memmove." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.c", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 101, + "startColumn": 4, + "endLine": 102, + "endColumn": 18, + "byteLength": 49 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "no_eva." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.c", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 107, + "startColumn": 29, + "endLine": 107, + "endColumn": 39, + "byteLength": 10 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "no_eva." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.c", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 108, + "startColumn": 29, + "endLine": 108, + "endColumn": 108, + "byteLength": 79 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "no_eva." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.c", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 109, + "startColumn": 29, + "endLine": 109, + "endColumn": 109, + "byteLength": 80 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "assigns clause in function memmove." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.c", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 110, + "startColumn": 19, + "endLine": 110, + "endColumn": 20, + "byteLength": 1 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "decrease clause in function memmove." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.c", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 111, + "startColumn": 19, + "endLine": 111, + "endColumn": 20, + "byteLength": 1 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "error", + "message": { "text": "reachability of stmt line 113 in memmove." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.c", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 113, + "startColumn": 4, + "endLine": 114, + "endColumn": 18, + "byteLength": 51 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "error", + "message": { + "text": "reachability post stmt line 113 in memmove." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.c", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 113, + "startColumn": 4, + "endLine": 114, + "endColumn": 18, + "byteLength": 51 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "behavior default! in function memoverlap." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.c", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 79, + "startColumn": 11, + "endLine": 86, + "endColumn": 1, + "byteLength": 255 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { + "text": "behavior not_separated_gt in function memoverlap." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.c", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 79, + "startColumn": 11, + "endLine": 86, + "endColumn": 1, + "byteLength": 255 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { + "text": "behavior not_separated_lt in function memoverlap." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.c", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 79, + "startColumn": 11, + "endLine": 86, + "endColumn": 1, + "byteLength": 255 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "behavior separated in function memoverlap." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.c", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 79, + "startColumn": 11, + "endLine": 86, + "endColumn": 1, + "byteLength": 255 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "separation." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.c", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 66, + "startColumn": 35, + "endLine": 66, + "endColumn": 77, + "byteLength": 42 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "separation." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.c", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 69, + "startColumn": 32, + "endLine": 69, + "endColumn": 75, + "byteLength": 43 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "p_before_q." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.c", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 70, + "startColumn": 24, + "endLine": 70, + "endColumn": 38, + "byteLength": 14 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "separation." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.c", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 73, + "startColumn": 32, + "endLine": 73, + "endColumn": 75, + "byteLength": 43 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "p_after_q." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.c", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 74, + "startColumn": 23, + "endLine": 74, + "endColumn": 37, + "byteLength": 14 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "result_no_overlap." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.c", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 67, + "startColumn": 31, + "endLine": 67, + "endColumn": 43, + "byteLength": 12 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "result_p_before_q." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.c", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 71, + "startColumn": 31, + "endLine": 71, + "endColumn": 44, + "byteLength": 13 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "result_p_after_q." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.c", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 75, + "startColumn": 30, + "endLine": 75, + "endColumn": 42, + "byteLength": 12 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "assigns clause in function memoverlap." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.c", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 79, + "startColumn": 11, + "endLine": 86, + "endColumn": 1, + "byteLength": 255 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { + "text": "from clause of term \\result in function memoverlap." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.c", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 64, + "startColumn": 10, + "endLine": 64, + "endColumn": 17, + "byteLength": 7 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "complete clause in function memoverlap." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.c", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 79, + "startColumn": 11, + "endLine": 86, + "endColumn": 1, + "byteLength": 255 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "disjoint clause in function memoverlap." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.c", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 79, + "startColumn": 11, + "endLine": 86, + "endColumn": 1, + "byteLength": 255 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "behavior default! in function mempcpy." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.c", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 45, + "startColumn": 6, + "endLine": 58, + "endColumn": 1, + "byteLength": 394 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "valid_dest." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 125, + "startColumn": 25, + "endLine": 125, + "endColumn": 48, + "byteLength": 23 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "valid_src." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 126, + "startColumn": 24, + "endLine": 126, + "endColumn": 51, + "byteLength": 27 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "separation." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 128, + "startColumn": 4, + "endLine": 128, + "endColumn": 62, + "byteLength": 58 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "copied_contents." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 131, + "startColumn": 29, + "endLine": 131, + "endColumn": 76, + "byteLength": 47 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "result_next_byte." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 132, + "startColumn": 30, + "endLine": 132, + "endColumn": 49, + "byteLength": 19 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "assigns clause in function mempcpy." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 129, + "startColumn": 12, + "endLine": 129, + "endColumn": 35, + "byteLength": 23 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { + "text": "from clause of term *((char *)dest + (0 .. n - 1)) in function mempcpy." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 129, + "startColumn": 12, + "endLine": 129, + "endColumn": 35, + "byteLength": 23 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { + "text": "from clause of term \\result in function mempcpy." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 130, + "startColumn": 12, + "endLine": 130, + "endColumn": 19, + "byteLength": 7 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "no_eva." }, "locations": [ { "physicalLocation": { @@ -9784,9 +12778,32 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 34, + "startLine": 49, "startColumn": 27, - "endLine": 34, + "endLine": 49, + "endColumn": 38, + "byteLength": 11 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "no_eva." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.c", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 50, + "startColumn": 27, + "endLine": 50, "endColumn": 92, "byteLength": 65 } @@ -9798,7 +12815,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function memcpy." }, + "message": { "text": "assigns clause in function mempcpy." }, "locations": [ { "physicalLocation": { @@ -9807,9 +12824,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 35, + "startLine": 51, "startColumn": 17, - "endLine": 35, + "endLine": 51, "endColumn": 18, "byteLength": 1 } @@ -9821,7 +12838,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "decrease clause in function memcpy." }, + "message": { "text": "decrease clause in function mempcpy." }, "locations": [ { "physicalLocation": { @@ -9830,9 +12847,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 36, + "startLine": 52, "startColumn": 17, - "endLine": 36, + "endLine": 52, "endColumn": 22, "byteLength": 5 } @@ -9844,7 +12861,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "error", - "message": { "text": "reachability of stmt line 38 in memcpy." }, + "message": { "text": "reachability of stmt line 54 in mempcpy." }, "locations": [ { "physicalLocation": { @@ -9853,11 +12870,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 38, + "startLine": 54, "startColumn": 2, - "endLine": 40, + "endLine": 56, "endColumn": 3, - "byteLength": 76 + "byteLength": 69 } } } @@ -9867,7 +12884,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "error", - "message": { "text": "reachability post stmt line 38 in memcpy." }, + "message": { "text": "reachability post stmt line 54 in mempcpy." }, "locations": [ { "physicalLocation": { @@ -9876,11 +12893,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 38, + "startLine": 54, "startColumn": 2, - "endLine": 40, + "endLine": 56, "endColumn": 3, - "byteLength": 76 + "byteLength": 69 } } } @@ -9890,7 +12907,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function memmove." }, + "message": { "text": "behavior default! in function memrchr." }, "locations": [ { "physicalLocation": { @@ -9899,11 +12916,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 88, + "startLine": 280, "startColumn": 6, - "endLine": 118, + "endLine": 287, "endColumn": 1, - "byteLength": 1221 + "byteLength": 229 } } } @@ -9913,7 +12930,53 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "valid_dest." }, + "message": { "text": "behavior found in function memrchr." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.c", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 280, + "startColumn": 6, + "endLine": 287, + "endColumn": 1, + "byteLength": 229 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "behavior not_found in function memrchr." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.c", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 280, + "startColumn": 6, + "endLine": 287, + "endColumn": 1, + "byteLength": 229 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "valid." }, "locations": [ { "physicalLocation": { @@ -9922,11 +12985,126 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 120, + "startLine": 94, + "startColumn": 18, + "endLine": 94, + "endColumn": 43, + "byteLength": 25 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "initialization." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 95, + "startColumn": 27, + "endLine": 95, + "endColumn": 73, + "byteLength": 46 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "danglingness." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 96, "startColumn": 25, - "endLine": 120, - "endColumn": 48, - "byteLength": 23 + "endLine": 96, + "endColumn": 43, + "byteLength": 18 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "char_found." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 99, + "startColumn": 24, + "endLine": 99, + "endColumn": 44, + "byteLength": 20 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "char_not_found." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 103, + "startColumn": 28, + "endLine": 103, + "endColumn": 49, + "byteLength": 21 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "result_valid_read." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 100, + "startColumn": 31, + "endLine": 100, + "endColumn": 58, + "byteLength": 27 } } } @@ -9936,7 +13114,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "valid_src." }, + "message": { "text": "result_same_base." }, "locations": [ { "physicalLocation": { @@ -9945,11 +13123,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 121, - "startColumn": 24, - "endLine": 121, - "endColumn": 51, - "byteLength": 27 + "startLine": 101, + "startColumn": 30, + "endLine": 101, + "endColumn": 66, + "byteLength": 36 } } } @@ -9959,7 +13137,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "copied_contents." }, + "message": { "text": "result_null." }, "locations": [ { "physicalLocation": { @@ -9968,11 +13146,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 124, - "startColumn": 29, - "endLine": 124, - "endColumn": 76, - "byteLength": 47 + "startLine": 104, + "startColumn": 25, + "endLine": 104, + "endColumn": 41, + "byteLength": 16 } } } @@ -9982,20 +13160,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_ptr." }, + "message": { "text": "assigns clause in function memrchr." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.h", + "uri": "libc/string.c", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 125, - "startColumn": 24, - "endLine": 125, - "endColumn": 39, - "byteLength": 15 + "startLine": 280, + "startColumn": 6, + "endLine": 287, + "endColumn": 1, + "byteLength": 229 } } } @@ -10005,7 +13183,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function memmove." }, + "message": { + "text": "from clause of term \\result in function memrchr." + }, "locations": [ { "physicalLocation": { @@ -10014,11 +13194,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 122, - "startColumn": 12, - "endLine": 122, - "endColumn": 35, - "byteLength": 23 + "startLine": 97, + "startColumn": 10, + "endLine": 97, + "endColumn": 17, + "byteLength": 7 } } } @@ -10028,22 +13208,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term *((char *)dest + (0 .. n - 1)) in function memmove." - }, + "message": { "text": "complete clause in function memrchr." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.h", + "uri": "libc/string.c", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 122, - "startColumn": 12, - "endLine": 122, - "endColumn": 35, - "byteLength": 23 + "startLine": 280, + "startColumn": 6, + "endLine": 287, + "endColumn": 1, + "byteLength": 229 } } } @@ -10053,22 +13231,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term \\result in function memmove." - }, + "message": { "text": "disjoint clause in function memrchr." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.h", + "uri": "libc/string.c", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 123, - "startColumn": 12, - "endLine": 123, - "endColumn": 19, - "byteLength": 7 + "startLine": 280, + "startColumn": 6, + "endLine": 287, + "endColumn": 1, + "byteLength": 229 } } } @@ -10078,7 +13254,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "no_eva." }, + "message": { "text": "behavior default! in function memset." }, "locations": [ { "physicalLocation": { @@ -10087,11 +13263,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 95, - "startColumn": 29, - "endLine": 95, - "endColumn": 40, - "byteLength": 11 + "startLine": 134, + "startColumn": 6, + "endLine": 141, + "endColumn": 1, + "byteLength": 142 } } } @@ -10101,20 +13277,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "no_eva." }, + "message": { "text": "valid_s." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.c", + "uri": "libc/string.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 96, - "startColumn": 29, - "endLine": 96, - "endColumn": 109, - "byteLength": 80 + "startLine": 148, + "startColumn": 22, + "endLine": 148, + "endColumn": 42, + "byteLength": 20 } } } @@ -10124,20 +13300,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "no_eva." }, + "message": { "text": "acsl_c_equiv." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.c", + "uri": "libc/string.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 97, - "startColumn": 29, - "endLine": 97, - "endColumn": 108, - "byteLength": 79 + "startLine": 151, + "startColumn": 26, + "endLine": 151, + "endColumn": 46, + "byteLength": 20 } } } @@ -10147,20 +13323,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function memmove." }, + "message": { "text": "result_ptr." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.c", + "uri": "libc/string.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 98, - "startColumn": 19, - "endLine": 98, - "endColumn": 20, - "byteLength": 1 + "startLine": 152, + "startColumn": 24, + "endLine": 152, + "endColumn": 36, + "byteLength": 12 } } } @@ -10170,20 +13346,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "decrease clause in function memmove." }, + "message": { "text": "assigns clause in function memset." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.c", + "uri": "libc/string.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 99, - "startColumn": 19, - "endLine": 99, - "endColumn": 24, - "byteLength": 5 + "startLine": 149, + "startColumn": 12, + "endLine": 149, + "endColumn": 32, + "byteLength": 20 } } } @@ -10192,21 +13368,23 @@ { "ruleId": "user-spec", "kind": "pass", - "level": "error", - "message": { "text": "reachability of stmt line 101 in memmove." }, + "level": "none", + "message": { + "text": "from clause of term *((char *)s + (0 .. n - 1)) in function memset." + }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.c", + "uri": "libc/string.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 101, - "startColumn": 4, - "endLine": 102, - "endColumn": 18, - "byteLength": 49 + "startLine": 149, + "startColumn": 12, + "endLine": 149, + "endColumn": 32, + "byteLength": 20 } } } @@ -10215,23 +13393,23 @@ { "ruleId": "user-spec", "kind": "pass", - "level": "error", + "level": "none", "message": { - "text": "reachability post stmt line 101 in memmove." + "text": "from clause of term \\result in function memset." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.c", + "uri": "libc/string.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 101, - "startColumn": 4, - "endLine": 102, - "endColumn": 18, - "byteLength": 49 + "startLine": 150, + "startColumn": 12, + "endLine": 150, + "endColumn": 19, + "byteLength": 7 } } } @@ -10241,20 +13419,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "no_eva." }, + "message": { "text": "behavior default! in function mkstemp." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.c", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 107, - "startColumn": 29, - "endLine": 107, - "endColumn": 39, - "byteLength": 10 + "startLine": 820, + "startColumn": 11, + "endLine": 820, + "endColumn": 18, + "byteLength": 7 } } } @@ -10264,20 +13442,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "no_eva." }, + "message": { "text": "valid_template." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.c", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 108, - "startColumn": 29, - "endLine": 108, - "endColumn": 108, - "byteLength": 79 + "startLine": 813, + "startColumn": 27, + "endLine": 813, + "endColumn": 48, + "byteLength": 21 } } } @@ -10287,20 +13465,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "no_eva." }, + "message": { "text": "template_len." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.c", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 109, - "startColumn": 29, - "endLine": 109, - "endColumn": 109, - "byteLength": 80 + "startLine": 814, + "startColumn": 25, + "endLine": 814, + "endColumn": 45, + "byteLength": 20 } } } @@ -10310,20 +13488,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function memmove." }, + "message": { "text": "result_error_or_valid_fd." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.c", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 110, - "startColumn": 19, - "endLine": 110, - "endColumn": 20, - "byteLength": 1 + "startLine": 817, + "startColumn": 36, + "endLine": 818, + "endColumn": 53, + "byteLength": 70 } } } @@ -10333,20 +13511,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "decrease clause in function memmove." }, + "message": { "text": "assigns clause in function mkstemp." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.c", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 111, - "startColumn": 19, - "endLine": 111, - "endColumn": 20, - "byteLength": 1 + "startLine": 815, + "startColumn": 10, + "endLine": 815, + "endColumn": 22, + "byteLength": 12 } } } @@ -10355,21 +13533,23 @@ { "ruleId": "user-spec", "kind": "pass", - "level": "error", - "message": { "text": "reachability of stmt line 113 in memmove." }, + "level": "none", + "message": { + "text": "from clause of term *(templat + (0 ..)) in function mkstemp." + }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.c", - "uriBaseId": "FRAMAC_SHARE" - }, - "region": { - "startLine": 113, - "startColumn": 4, - "endLine": 114, - "endColumn": 18, - "byteLength": 51 + "uri": "libc/stdlib.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 815, + "startColumn": 10, + "endLine": 815, + "endColumn": 22, + "byteLength": 12 } } } @@ -10378,23 +13558,23 @@ { "ruleId": "user-spec", "kind": "pass", - "level": "error", + "level": "none", "message": { - "text": "reachability post stmt line 113 in memmove." + "text": "from clause of term \\result in function mkstemp." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.c", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 113, - "startColumn": 4, - "endLine": 114, - "endColumn": 18, - "byteLength": 51 + "startLine": 816, + "startColumn": 10, + "endLine": 816, + "endColumn": 17, + "byteLength": 7 } } } @@ -10404,20 +13584,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function memoverlap." }, + "message": { "text": "behavior default! in function mkstemps." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.c", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 79, + "startLine": 833, "startColumn": 11, - "endLine": 86, - "endColumn": 1, - "byteLength": 255 + "endLine": 833, + "endColumn": 19, + "byteLength": 8 } } } @@ -10427,22 +13607,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "behavior not_separated_gt in function memoverlap." - }, + "message": { "text": "valid_template." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.c", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 79, - "startColumn": 11, - "endLine": 86, - "endColumn": 1, - "byteLength": 255 + "startLine": 825, + "startColumn": 27, + "endLine": 825, + "endColumn": 48, + "byteLength": 21 } } } @@ -10452,22 +13630,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "behavior not_separated_lt in function memoverlap." - }, + "message": { "text": "template_len." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.c", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 79, - "startColumn": 11, - "endLine": 86, - "endColumn": 1, - "byteLength": 255 + "startLine": 826, + "startColumn": 25, + "endLine": 826, + "endColumn": 57, + "byteLength": 32 } } } @@ -10477,20 +13653,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior separated in function memoverlap." }, + "message": { "text": "non_negative_suffixlen." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.c", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 79, - "startColumn": 11, - "endLine": 86, - "endColumn": 1, - "byteLength": 255 + "startLine": 827, + "startColumn": 35, + "endLine": 827, + "endColumn": 49, + "byteLength": 14 } } } @@ -10500,20 +13676,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "separation." }, + "message": { "text": "result_error_or_valid_fd." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.c", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 66, - "startColumn": 35, - "endLine": 66, - "endColumn": 77, - "byteLength": 42 + "startLine": 830, + "startColumn": 36, + "endLine": 831, + "endColumn": 53, + "byteLength": 70 } } } @@ -10523,20 +13699,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "separation." }, + "message": { "text": "assigns clause in function mkstemps." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.c", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 69, - "startColumn": 32, - "endLine": 69, - "endColumn": 75, - "byteLength": 43 + "startLine": 828, + "startColumn": 10, + "endLine": 828, + "endColumn": 22, + "byteLength": 12 } } } @@ -10546,20 +13722,22 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "p_before_q." }, + "message": { + "text": "from clause of term *(templat + (0 ..)) in function mkstemps." + }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.c", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 70, - "startColumn": 24, - "endLine": 70, - "endColumn": 38, - "byteLength": 14 + "startLine": 828, + "startColumn": 10, + "endLine": 828, + "endColumn": 22, + "byteLength": 12 } } } @@ -10569,20 +13747,22 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "separation." }, + "message": { + "text": "from clause of term \\result in function mkstemps." + }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.c", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 73, - "startColumn": 32, - "endLine": 73, - "endColumn": 75, - "byteLength": 43 + "startLine": 829, + "startColumn": 10, + "endLine": 829, + "endColumn": 17, + "byteLength": 7 } } } @@ -10592,20 +13772,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "p_after_q." }, + "message": { "text": "behavior default! in function mrand48." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.c", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 74, - "startColumn": 23, - "endLine": 74, - "endColumn": 37, - "byteLength": 14 + "startLine": 386, + "startColumn": 16, + "endLine": 386, + "endColumn": 23, + "byteLength": 7 } } } @@ -10615,20 +13795,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_no_overlap." }, + "message": { "text": "random48_initialized." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.c", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 67, - "startColumn": 31, - "endLine": 67, - "endColumn": 43, - "byteLength": 12 + "startLine": 381, + "startColumn": 33, + "endLine": 381, + "endColumn": 56, + "byteLength": 23 } } } @@ -10638,20 +13818,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_p_before_q." }, + "message": { "text": "result_range." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.c", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 71, - "startColumn": 31, - "endLine": 71, - "endColumn": 44, - "byteLength": 13 + "startLine": 384, + "startColumn": 24, + "endLine": 384, + "endColumn": 59, + "byteLength": 35 } } } @@ -10661,20 +13841,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_p_after_q." }, + "message": { "text": "assigns clause in function mrand48." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.c", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 75, - "startColumn": 30, - "endLine": 75, - "endColumn": 42, - "byteLength": 12 + "startLine": 382, + "startColumn": 10, + "endLine": 382, + "endColumn": 37, + "byteLength": 27 } } } @@ -10684,20 +13864,22 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function memoverlap." }, + "message": { + "text": "from clause of term __fc_random48_counter[0 .. 2] in function mrand48." + }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.c", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 79, - "startColumn": 11, - "endLine": 86, - "endColumn": 1, - "byteLength": 255 + "startLine": 382, + "startColumn": 10, + "endLine": 382, + "endColumn": 37, + "byteLength": 27 } } } @@ -10708,19 +13890,19 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term \\result in function memoverlap." + "text": "from clause of term \\result in function mrand48." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.c", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 64, + "startLine": 383, "startColumn": 10, - "endLine": 64, + "endLine": 383, "endColumn": 17, "byteLength": 7 } @@ -10732,20 +13914,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "complete clause in function memoverlap." }, + "message": { "text": "behavior default! in function nrand48." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.c", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 79, - "startColumn": 11, - "endLine": 86, - "endColumn": 1, - "byteLength": 255 + "startLine": 378, + "startColumn": 16, + "endLine": 378, + "endColumn": 23, + "byteLength": 7 } } } @@ -10755,20 +13937,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "disjoint clause in function memoverlap." }, + "message": { "text": "valid_xsubi." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.c", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 79, - "startColumn": 11, - "endLine": 86, - "endColumn": 1, - "byteLength": 255 + "startLine": 372, + "startColumn": 24, + "endLine": 372, + "endColumn": 44, + "byteLength": 20 } } } @@ -10778,20 +13960,43 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function mempcpy." }, + "message": { "text": "initialization." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.c", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 45, - "startColumn": 6, - "endLine": 58, - "endColumn": 1, - "byteLength": 394 + "startLine": 373, + "startColumn": 45, + "endLine": 373, + "endColumn": 71, + "byteLength": 26 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "result_range." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/stdlib.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 376, + "startColumn": 24, + "endLine": 376, + "endColumn": 49, + "byteLength": 25 } } } @@ -10801,20 +14006,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "valid_dest." }, + "message": { "text": "assigns clause in function nrand48." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.h", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 108, - "startColumn": 25, - "endLine": 108, - "endColumn": 48, - "byteLength": 23 + "startLine": 374, + "startColumn": 10, + "endLine": 374, + "endColumn": 37, + "byteLength": 27 } } } @@ -10824,19 +14029,21 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "valid_src." }, + "message": { + "text": "from clause of term __fc_random48_counter[0 .. 2] in function nrand48." + }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.h", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 109, - "startColumn": 24, - "endLine": 109, - "endColumn": 51, + "startLine": 374, + "startColumn": 10, + "endLine": 374, + "endColumn": 37, "byteLength": 27 } } @@ -10847,20 +14054,22 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "separation." }, + "message": { + "text": "from clause of term \\result in function nrand48." + }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.h", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 111, - "startColumn": 4, - "endLine": 111, - "endColumn": 62, - "byteLength": 58 + "startLine": 375, + "startColumn": 10, + "endLine": 375, + "endColumn": 17, + "byteLength": 7 } } } @@ -10870,20 +14079,22 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "copied_contents." }, + "message": { + "text": "behavior allocation in function posix_memalign." + }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.h", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 114, - "startColumn": 29, - "endLine": 114, - "endColumn": 76, - "byteLength": 47 + "startLine": 808, + "startColumn": 11, + "endLine": 808, + "endColumn": 25, + "byteLength": 14 } } } @@ -10893,20 +14104,22 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_next_byte." }, + "message": { + "text": "behavior default! in function posix_memalign." + }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.h", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 115, - "startColumn": 30, - "endLine": 115, - "endColumn": 49, - "byteLength": 19 + "startLine": 808, + "startColumn": 11, + "endLine": 808, + "endColumn": 25, + "byteLength": 14 } } } @@ -10916,20 +14129,22 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function mempcpy." }, + "message": { + "text": "behavior no_allocation in function posix_memalign." + }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.h", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 112, - "startColumn": 12, - "endLine": 112, - "endColumn": 35, - "byteLength": 23 + "startLine": 808, + "startColumn": 11, + "endLine": 808, + "endColumn": 25, + "byteLength": 14 } } } @@ -10939,22 +14154,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term *((char *)dest + (0 .. n - 1)) in function mempcpy." - }, + "message": { "text": "valid_memptr." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.h", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 112, - "startColumn": 12, - "endLine": 112, - "endColumn": 35, - "byteLength": 23 + "startLine": 785, + "startColumn": 25, + "endLine": 785, + "endColumn": 39, + "byteLength": 14 } } } @@ -10964,22 +14177,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term \\result in function mempcpy." - }, + "message": { "text": "alignment_is_a_suitable_power_of_two." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.h", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 113, - "startColumn": 12, - "endLine": 113, - "endColumn": 19, - "byteLength": 7 + "startLine": 787, + "startColumn": 4, + "endLine": 788, + "endColumn": 54, + "byteLength": 84 } } } @@ -10989,20 +14200,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "no_eva." }, + "message": { "text": "can_allocate." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.c", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 49, - "startColumn": 27, - "endLine": 49, - "endColumn": 38, - "byteLength": 11 + "startLine": 794, + "startColumn": 26, + "endLine": 794, + "endColumn": 44, + "byteLength": 18 } } } @@ -11012,20 +14223,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "no_eva." }, + "message": { "text": "cannot_allocate." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.c", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 50, - "startColumn": 27, - "endLine": 50, - "endColumn": 92, - "byteLength": 65 + "startLine": 801, + "startColumn": 29, + "endLine": 801, + "endColumn": 48, + "byteLength": 19 } } } @@ -11035,20 +14246,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function mempcpy." }, + "message": { "text": "allocation." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.c", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 51, - "startColumn": 17, - "endLine": 51, - "endColumn": 18, - "byteLength": 1 + "startLine": 798, + "startColumn": 24, + "endLine": 798, + "endColumn": 44, + "byteLength": 20 } } } @@ -11058,20 +14269,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "decrease clause in function mempcpy." }, + "message": { "text": "result_zero." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.c", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 52, - "startColumn": 17, - "endLine": 52, - "endColumn": 22, - "byteLength": 5 + "startLine": 799, + "startColumn": 25, + "endLine": 799, + "endColumn": 37, + "byteLength": 12 } } } @@ -11080,21 +14291,21 @@ { "ruleId": "user-spec", "kind": "pass", - "level": "error", - "message": { "text": "reachability of stmt line 54 in mempcpy." }, + "level": "none", + "message": { "text": "result_non_zero." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.c", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 54, - "startColumn": 2, - "endLine": 56, - "endColumn": 3, - "byteLength": 69 + "startLine": 804, + "startColumn": 29, + "endLine": 804, + "endColumn": 55, + "byteLength": 26 } } } @@ -11103,21 +14314,21 @@ { "ruleId": "user-spec", "kind": "pass", - "level": "error", - "message": { "text": "reachability post stmt line 54 in mempcpy." }, + "level": "none", + "message": { "text": "assigns clause in function posix_memalign." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.c", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 54, - "startColumn": 2, - "endLine": 56, - "endColumn": 3, - "byteLength": 69 + "startLine": 795, + "startColumn": 12, + "endLine": 795, + "endColumn": 28, + "byteLength": 16 } } } @@ -11127,20 +14338,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function memset." }, + "message": { "text": "assigns clause in function posix_memalign." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.c", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 134, - "startColumn": 6, - "endLine": 141, - "endColumn": 1, - "byteLength": 142 + "startLine": 790, + "startColumn": 10, + "endLine": 790, + "endColumn": 26, + "byteLength": 16 } } } @@ -11150,20 +14361,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "valid_s." }, + "message": { "text": "assigns clause in function posix_memalign." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.h", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 131, - "startColumn": 22, - "endLine": 131, - "endColumn": 42, - "byteLength": 20 + "startLine": 808, + "startColumn": 11, + "endLine": 808, + "endColumn": 25, + "byteLength": 14 } } } @@ -11173,20 +14384,22 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "acsl_c_equiv." }, + "message": { + "text": "from clause of term __fc_heap_status in function posix_memalign." + }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.h", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 134, - "startColumn": 26, - "endLine": 134, - "endColumn": 46, - "byteLength": 20 + "startLine": 795, + "startColumn": 12, + "endLine": 795, + "endColumn": 28, + "byteLength": 16 } } } @@ -11196,20 +14409,22 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_ptr." }, + "message": { + "text": "from clause of term \\result in function posix_memalign." + }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.h", - "uriBaseId": "FRAMAC_SHARE" - }, - "region": { - "startLine": 135, - "startColumn": 24, - "endLine": 135, - "endColumn": 36, - "byteLength": 12 + "uri": "libc/stdlib.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 796, + "startColumn": 12, + "endLine": 796, + "endColumn": 19, + "byteLength": 7 } } } @@ -11219,20 +14434,22 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function memset." }, + "message": { + "text": "from clause of term __fc_heap_status in function posix_memalign." + }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.h", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 132, - "startColumn": 12, - "endLine": 132, - "endColumn": 32, - "byteLength": 20 + "startLine": 790, + "startColumn": 10, + "endLine": 790, + "endColumn": 26, + "byteLength": 16 } } } @@ -11243,21 +14460,21 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term *((char *)s + (0 .. n - 1)) in function memset." + "text": "from clause of term \\result in function posix_memalign." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.h", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 132, - "startColumn": 12, - "endLine": 132, - "endColumn": 32, - "byteLength": 20 + "startLine": 791, + "startColumn": 10, + "endLine": 791, + "endColumn": 17, + "byteLength": 7 } } } @@ -11268,19 +14485,19 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term \\result in function memset." + "text": "from clause of term \\result in function posix_memalign." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.h", + "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 133, + "startLine": 803, "startColumn": 12, - "endLine": 133, + "endLine": 803, "endColumn": 19, "byteLength": 7 } @@ -11292,7 +14509,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function mkstemp." }, + "message": { + "text": "allocates/frees clause in function posix_memalign." + }, "locations": [ { "physicalLocation": { @@ -11301,10 +14520,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 737, - "startColumn": 11, - "endLine": 737, - "endColumn": 18, + "startLine": 789, + "startColumn": 12, + "endLine": 789, + "endColumn": 19, "byteLength": 7 } } @@ -11315,7 +14534,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "valid_template." }, + "message": { + "text": "allocates/frees clause in function posix_memalign." + }, "locations": [ { "physicalLocation": { @@ -11324,11 +14545,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 730, - "startColumn": 27, - "endLine": 730, - "endColumn": 48, - "byteLength": 21 + "startLine": 808, + "startColumn": 11, + "endLine": 808, + "endColumn": 25, + "byteLength": 14 } } } @@ -11338,7 +14559,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "template_len." }, + "message": { + "text": "complete clause in function posix_memalign." + }, "locations": [ { "physicalLocation": { @@ -11347,11 +14570,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 731, - "startColumn": 25, - "endLine": 731, - "endColumn": 45, - "byteLength": 20 + "startLine": 808, + "startColumn": 11, + "endLine": 808, + "endColumn": 25, + "byteLength": 14 } } } @@ -11361,7 +14584,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_error_or_valid_fd." }, + "message": { + "text": "disjoint clause in function posix_memalign." + }, "locations": [ { "physicalLocation": { @@ -11370,11 +14595,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 734, - "startColumn": 36, - "endLine": 735, - "endColumn": 53, - "byteLength": 70 + "startLine": 808, + "startColumn": 11, + "endLine": 808, + "endColumn": 25, + "byteLength": 14 } } } @@ -11384,7 +14609,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function mkstemp." }, + "message": { "text": "behavior default! in function putenv." }, "locations": [ { "physicalLocation": { @@ -11393,11 +14618,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 732, - "startColumn": 10, - "endLine": 732, - "endColumn": 22, - "byteLength": 12 + "startLine": 567, + "startColumn": 11, + "endLine": 567, + "endColumn": 17, + "byteLength": 6 } } } @@ -11407,9 +14632,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term *(templat + (0 ..)) in function mkstemp." - }, + "message": { "text": "valid_string." }, "locations": [ { "physicalLocation": { @@ -11418,11 +14641,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 732, - "startColumn": 10, - "endLine": 732, - "endColumn": 22, - "byteLength": 12 + "startLine": 563, + "startColumn": 25, + "endLine": 563, + "endColumn": 50, + "byteLength": 25 } } } @@ -11432,9 +14655,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term \\result in function mkstemp." - }, + "message": { "text": "assigns clause in function putenv." }, "locations": [ { "physicalLocation": { @@ -11443,11 +14664,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 733, + "startLine": 564, "startColumn": 10, - "endLine": 733, - "endColumn": 17, - "byteLength": 7 + "endLine": 564, + "endColumn": 23, + "byteLength": 13 } } } @@ -11457,7 +14678,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function mkstemps." }, + "message": { + "text": "from clause of term __fc_env[0 ..] in function putenv." + }, "locations": [ { "physicalLocation": { @@ -11466,11 +14689,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 750, - "startColumn": 11, - "endLine": 750, - "endColumn": 19, - "byteLength": 8 + "startLine": 564, + "startColumn": 10, + "endLine": 564, + "endColumn": 23, + "byteLength": 13 } } } @@ -11480,7 +14703,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "valid_template." }, + "message": { + "text": "from clause of term \\result in function putenv." + }, "locations": [ { "physicalLocation": { @@ -11489,11 +14714,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 742, - "startColumn": 27, - "endLine": 742, - "endColumn": 48, - "byteLength": 21 + "startLine": 565, + "startColumn": 10, + "endLine": 565, + "endColumn": 17, + "byteLength": 7 } } } @@ -11503,7 +14728,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "template_len." }, + "message": { "text": "behavior default! in function qsort." }, "locations": [ { "physicalLocation": { @@ -11512,11 +14737,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 743, - "startColumn": 25, - "endLine": 743, - "endColumn": 57, - "byteLength": 32 + "startLine": 663, + "startColumn": 12, + "endLine": 663, + "endColumn": 17, + "byteLength": 5 } } } @@ -11526,7 +14751,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "non_negative_suffixlen." }, + "message": { "text": "valid_function_compar." }, "locations": [ { "physicalLocation": { @@ -11535,11 +14760,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 744, - "startColumn": 35, - "endLine": 744, - "endColumn": 49, - "byteLength": 14 + "startLine": 658, + "startColumn": 34, + "endLine": 658, + "endColumn": 57, + "byteLength": 23 } } } @@ -11549,7 +14774,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_error_or_valid_fd." }, + "message": { "text": "assigns clause in function qsort." }, "locations": [ { "physicalLocation": { @@ -11558,11 +14783,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 747, - "startColumn": 36, - "endLine": 748, - "endColumn": 53, - "byteLength": 70 + "startLine": 659, + "startColumn": 10, + "endLine": 659, + "endColumn": 29, + "byteLength": 19 } } } @@ -11572,7 +14797,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function mkstemps." }, + "message": { + "text": "from clause of term *((char *)base + (0 ..)) in function qsort." + }, "locations": [ { "physicalLocation": { @@ -11581,11 +14808,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 745, + "startLine": 659, "startColumn": 10, - "endLine": 745, - "endColumn": 22, - "byteLength": 12 + "endLine": 659, + "endColumn": 29, + "byteLength": 19 } } } @@ -11595,9 +14822,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term *(templat + (0 ..)) in function mkstemps." - }, + "message": { "text": "behavior default! in function quick_exit." }, "locations": [ { "physicalLocation": { @@ -11606,11 +14831,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 745, - "startColumn": 10, - "endLine": 745, + "startLine": 625, + "startColumn": 12, + "endLine": 625, "endColumn": 22, - "byteLength": 12 + "byteLength": 10 } } } @@ -11620,9 +14845,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term \\result in function mkstemps." - }, + "message": { "text": "never_terminates." }, "locations": [ { "physicalLocation": { @@ -11631,11 +14854,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 746, - "startColumn": 10, - "endLine": 746, - "endColumn": 17, - "byteLength": 7 + "startLine": 623, + "startColumn": 28, + "endLine": 623, + "endColumn": 34, + "byteLength": 6 } } } @@ -11645,7 +14868,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function mrand48." }, + "message": { "text": "assigns clause in function quick_exit." }, "locations": [ { "physicalLocation": { @@ -11654,11 +14877,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 355, - "startColumn": 16, - "endLine": 355, - "endColumn": 23, - "byteLength": 7 + "startLine": 625, + "startColumn": 12, + "endLine": 625, + "endColumn": 22, + "byteLength": 10 } } } @@ -11668,7 +14891,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "random48_initialized." }, + "message": { "text": "behavior default! in function rand." }, "locations": [ { "physicalLocation": { @@ -11677,11 +14900,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 350, - "startColumn": 33, - "endLine": 350, - "endColumn": 56, - "byteLength": 23 + "startLine": 299, + "startColumn": 11, + "endLine": 299, + "endColumn": 15, + "byteLength": 4 } } } @@ -11700,11 +14923,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 353, + "startLine": 297, "startColumn": 24, - "endLine": 353, - "endColumn": 59, - "byteLength": 35 + "endLine": 297, + "endColumn": 53, + "byteLength": 29 } } } @@ -11714,7 +14937,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function mrand48." }, + "message": { "text": "assigns clause in function rand." }, "locations": [ { "physicalLocation": { @@ -11723,11 +14946,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 351, + "startLine": 295, "startColumn": 10, - "endLine": 351, - "endColumn": 37, - "byteLength": 27 + "endLine": 295, + "endColumn": 17, + "byteLength": 7 } } } @@ -11738,7 +14961,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term __fc_random48_counter[0 .. 2] in function mrand48." + "text": "from clause of term \\result in function rand." }, "locations": [ { @@ -11748,11 +14971,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 351, + "startLine": 295, "startColumn": 10, - "endLine": 351, - "endColumn": 37, - "byteLength": 27 + "endLine": 295, + "endColumn": 17, + "byteLength": 7 } } } @@ -11763,7 +14986,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term \\result in function mrand48." + "text": "from clause of term __fc_random_counter in function rand." }, "locations": [ { @@ -11773,11 +14996,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 352, + "startLine": 296, "startColumn": 10, - "endLine": 352, - "endColumn": 17, - "byteLength": 7 + "endLine": 296, + "endColumn": 29, + "byteLength": 19 } } } @@ -11787,7 +15010,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function nrand48." }, + "message": { "text": "behavior default! in function random." }, "locations": [ { "physicalLocation": { @@ -11796,11 +15019,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 347, + "startLine": 308, "startColumn": 16, - "endLine": 347, - "endColumn": 23, - "byteLength": 7 + "endLine": 308, + "endColumn": 22, + "byteLength": 6 } } } @@ -11810,7 +15033,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "initialization." }, + "message": { "text": "result_range." }, "locations": [ { "physicalLocation": { @@ -11819,11 +15042,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 342, - "startColumn": 45, - "endLine": 342, - "endColumn": 71, - "byteLength": 26 + "startLine": 306, + "startColumn": 24, + "endLine": 306, + "endColumn": 53, + "byteLength": 29 } } } @@ -11833,7 +15056,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_range." }, + "message": { "text": "assigns clause in function random." }, "locations": [ { "physicalLocation": { @@ -11842,11 +15065,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 345, - "startColumn": 24, - "endLine": 345, - "endColumn": 49, - "byteLength": 25 + "startLine": 308, + "startColumn": 16, + "endLine": 308, + "endColumn": 22, + "byteLength": 6 } } } @@ -11856,7 +15079,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function nrand48." }, + "message": { + "text": "from clause of term \\result in function random." + }, "locations": [ { "physicalLocation": { @@ -11865,11 +15090,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 343, + "startLine": 305, "startColumn": 10, - "endLine": 343, - "endColumn": 37, - "byteLength": 27 + "endLine": 305, + "endColumn": 17, + "byteLength": 7 } } } @@ -11879,9 +15104,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term __fc_random48_counter[0 .. 2] in function nrand48." - }, + "message": { "text": "behavior allocation in function realloc." }, "locations": [ { "physicalLocation": { @@ -11890,11 +15113,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 343, - "startColumn": 10, - "endLine": 343, - "endColumn": 37, - "byteLength": 27 + "startLine": 485, + "startColumn": 13, + "endLine": 485, + "endColumn": 20, + "byteLength": 7 } } } @@ -11904,9 +15127,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term \\result in function nrand48." - }, + "message": { "text": "behavior deallocation in function realloc." }, "locations": [ { "physicalLocation": { @@ -11915,10 +15136,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 344, - "startColumn": 10, - "endLine": 344, - "endColumn": 17, + "startLine": 485, + "startColumn": 13, + "endLine": 485, + "endColumn": 20, "byteLength": 7 } } @@ -11929,9 +15150,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "behavior allocation in function posix_memalign." - }, + "message": { "text": "behavior default! in function realloc." }, "locations": [ { "physicalLocation": { @@ -11940,11 +15159,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 725, - "startColumn": 11, - "endLine": 725, - "endColumn": 25, - "byteLength": 14 + "startLine": 485, + "startColumn": 13, + "endLine": 485, + "endColumn": 20, + "byteLength": 7 } } } @@ -11954,9 +15173,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "behavior default! in function posix_memalign." - }, + "message": { "text": "behavior fail in function realloc." }, "locations": [ { "physicalLocation": { @@ -11965,11 +15182,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 725, - "startColumn": 11, - "endLine": 725, - "endColumn": 25, - "byteLength": 14 + "startLine": 485, + "startColumn": 13, + "endLine": 485, + "endColumn": 20, + "byteLength": 7 } } } @@ -11979,9 +15196,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "behavior no_allocation in function posix_memalign." - }, + "message": { "text": "freeable." }, "locations": [ { "physicalLocation": { @@ -11990,11 +15205,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 725, - "startColumn": 11, - "endLine": 725, - "endColumn": 25, - "byteLength": 14 + "startLine": 455, + "startColumn": 22, + "endLine": 455, + "endColumn": 52, + "byteLength": 30 } } } @@ -12004,7 +15219,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "valid_memptr." }, + "message": { "text": "can_allocate." }, "locations": [ { "physicalLocation": { @@ -12013,11 +15228,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 702, - "startColumn": 25, - "endLine": 702, - "endColumn": 39, - "byteLength": 14 + "startLine": 462, + "startColumn": 27, + "endLine": 462, + "endColumn": 45, + "byteLength": 18 } } } @@ -12027,7 +15242,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "alignment_is_a_suitable_power_of_two." }, + "message": { "text": "nonnull_ptr." }, "locations": [ { "physicalLocation": { @@ -12036,11 +15251,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 704, - "startColumn": 4, - "endLine": 705, - "endColumn": 54, - "byteLength": 84 + "startLine": 468, + "startColumn": 26, + "endLine": 468, + "endColumn": 38, + "byteLength": 12 } } } @@ -12059,10 +15274,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 711, - "startColumn": 26, - "endLine": 711, - "endColumn": 44, + "startLine": 469, + "startColumn": 27, + "endLine": 469, + "endColumn": 45, "byteLength": 18 } } @@ -12082,10 +15297,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 718, - "startColumn": 29, - "endLine": 718, - "endColumn": 48, + "startLine": 475, + "startColumn": 30, + "endLine": 475, + "endColumn": 49, "byteLength": 19 } } @@ -12105,10 +15320,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 715, - "startColumn": 24, - "endLine": 715, - "endColumn": 44, + "startLine": 465, + "startColumn": 25, + "endLine": 465, + "endColumn": 45, "byteLength": 20 } } @@ -12119,7 +15334,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_zero." }, + "message": { "text": "freed." }, "locations": [ { "physicalLocation": { @@ -12128,11 +15343,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 716, - "startColumn": 25, - "endLine": 716, - "endColumn": 37, - "byteLength": 12 + "startLine": 471, + "startColumn": 20, + "endLine": 471, + "endColumn": 35, + "byteLength": 15 } } } @@ -12142,7 +15357,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_non_zero." }, + "message": { "text": "freeable." }, "locations": [ { "physicalLocation": { @@ -12151,11 +15366,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 721, - "startColumn": 29, - "endLine": 721, - "endColumn": 55, - "byteLength": 26 + "startLine": 472, + "startColumn": 23, + "endLine": 472, + "endColumn": 61, + "byteLength": 38 } } } @@ -12165,7 +15380,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function posix_memalign." }, + "message": { "text": "null_result." }, "locations": [ { "physicalLocation": { @@ -12174,10 +15389,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 712, - "startColumn": 12, - "endLine": 712, - "endColumn": 28, + "startLine": 479, + "startColumn": 26, + "endLine": 479, + "endColumn": 42, "byteLength": 16 } } @@ -12188,7 +15403,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function posix_memalign." }, + "message": { "text": "assigns clause in function realloc." }, "locations": [ { "physicalLocation": { @@ -12197,11 +15412,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 707, - "startColumn": 10, - "endLine": 707, - "endColumn": 26, - "byteLength": 16 + "startLine": 485, + "startColumn": 13, + "endLine": 485, + "endColumn": 20, + "byteLength": 7 } } } @@ -12211,7 +15426,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function posix_memalign." }, + "message": { "text": "assigns clause in function realloc." }, "locations": [ { "physicalLocation": { @@ -12220,11 +15435,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 725, + "startLine": 458, "startColumn": 11, - "endLine": 725, - "endColumn": 25, - "byteLength": 14 + "endLine": 458, + "endColumn": 27, + "byteLength": 16 } } } @@ -12234,9 +15449,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term __fc_heap_status in function posix_memalign." - }, + "message": { "text": "assigns clause in function realloc." }, "locations": [ { "physicalLocation": { @@ -12245,11 +15458,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 712, - "startColumn": 12, - "endLine": 712, - "endColumn": 28, - "byteLength": 16 + "startLine": 485, + "startColumn": 13, + "endLine": 485, + "endColumn": 20, + "byteLength": 7 } } } @@ -12260,7 +15473,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term \\result in function posix_memalign." + "text": "from clause of term \\result in function realloc." }, "locations": [ { @@ -12270,10 +15483,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 713, - "startColumn": 12, - "endLine": 713, - "endColumn": 19, + "startLine": 464, + "startColumn": 13, + "endLine": 464, + "endColumn": 20, "byteLength": 7 } } @@ -12285,7 +15498,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term __fc_heap_status in function posix_memalign." + "text": "from clause of term __fc_heap_status in function realloc." }, "locations": [ { @@ -12295,10 +15508,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 707, - "startColumn": 10, - "endLine": 707, - "endColumn": 26, + "startLine": 458, + "startColumn": 11, + "endLine": 458, + "endColumn": 27, "byteLength": 16 } } @@ -12310,7 +15523,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term \\result in function posix_memalign." + "text": "from clause of term \\result in function realloc." }, "locations": [ { @@ -12320,10 +15533,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 708, - "startColumn": 10, - "endLine": 708, - "endColumn": 17, + "startLine": 459, + "startColumn": 11, + "endLine": 459, + "endColumn": 18, "byteLength": 7 } } @@ -12335,7 +15548,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term \\result in function posix_memalign." + "text": "from clause of term \\result in function realloc." }, "locations": [ { @@ -12345,10 +15558,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 719, - "startColumn": 12, - "endLine": 719, - "endColumn": 19, + "startLine": 478, + "startColumn": 13, + "endLine": 478, + "endColumn": 20, "byteLength": 7 } } @@ -12360,7 +15573,7 @@ "kind": "pass", "level": "none", "message": { - "text": "allocates/frees clause in function posix_memalign." + "text": "allocates/frees clause in function realloc." }, "locations": [ { @@ -12370,10 +15583,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 706, - "startColumn": 12, - "endLine": 706, - "endColumn": 19, + "startLine": 463, + "startColumn": 15, + "endLine": 463, + "endColumn": 22, "byteLength": 7 } } @@ -12385,7 +15598,7 @@ "kind": "pass", "level": "none", "message": { - "text": "allocates/frees clause in function posix_memalign." + "text": "allocates/frees clause in function realloc." }, "locations": [ { @@ -12395,11 +15608,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 725, + "startLine": 470, "startColumn": 11, - "endLine": 725, - "endColumn": 25, - "byteLength": 14 + "endLine": 470, + "endColumn": 14, + "byteLength": 3 } } } @@ -12410,7 +15623,7 @@ "kind": "pass", "level": "none", "message": { - "text": "complete clause in function posix_memalign." + "text": "allocates/frees clause in function realloc." }, "locations": [ { @@ -12420,11 +15633,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 725, - "startColumn": 11, - "endLine": 725, - "endColumn": 25, - "byteLength": 14 + "startLine": 457, + "startColumn": 9, + "endLine": 457, + "endColumn": 12, + "byteLength": 3 } } } @@ -12435,7 +15648,7 @@ "kind": "pass", "level": "none", "message": { - "text": "disjoint clause in function posix_memalign." + "text": "allocates/frees clause in function realloc." }, "locations": [ { @@ -12445,11 +15658,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 725, - "startColumn": 11, - "endLine": 725, - "endColumn": 25, - "byteLength": 14 + "startLine": 485, + "startColumn": 13, + "endLine": 485, + "endColumn": 20, + "byteLength": 7 } } } @@ -12459,7 +15672,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function putenv." }, + "message": { "text": "complete clause in function realloc." }, "locations": [ { "physicalLocation": { @@ -12468,11 +15681,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 533, - "startColumn": 11, - "endLine": 533, - "endColumn": 17, - "byteLength": 6 + "startLine": 485, + "startColumn": 13, + "endLine": 485, + "endColumn": 20, + "byteLength": 7 } } } @@ -12482,7 +15695,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "valid_string." }, + "message": { "text": "disjoint clause in function realloc." }, "locations": [ { "physicalLocation": { @@ -12491,11 +15704,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 529, - "startColumn": 25, - "endLine": 529, - "endColumn": 50, - "byteLength": 25 + "startLine": 485, + "startColumn": 13, + "endLine": 485, + "endColumn": 20, + "byteLength": 7 } } } @@ -12505,7 +15718,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function putenv." }, + "message": { "text": "disjoint clause in function realloc." }, "locations": [ { "physicalLocation": { @@ -12514,11 +15727,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 530, - "startColumn": 10, - "endLine": 530, - "endColumn": 23, - "byteLength": 13 + "startLine": 485, + "startColumn": 13, + "endLine": 485, + "endColumn": 20, + "byteLength": 7 } } } @@ -12529,7 +15742,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term __fc_env[0 ..] in function putenv." + "text": "behavior allocation in function reallocarray." }, "locations": [ { @@ -12539,11 +15752,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 530, - "startColumn": 10, - "endLine": 530, - "endColumn": 23, - "byteLength": 13 + "startLine": 521, + "startColumn": 13, + "endLine": 521, + "endColumn": 25, + "byteLength": 12 } } } @@ -12554,7 +15767,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term \\result in function putenv." + "text": "behavior deallocation in function reallocarray." }, "locations": [ { @@ -12564,11 +15777,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 531, - "startColumn": 10, - "endLine": 531, - "endColumn": 17, - "byteLength": 7 + "startLine": 521, + "startColumn": 13, + "endLine": 521, + "endColumn": 25, + "byteLength": 12 } } } @@ -12578,7 +15791,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function qsort." }, + "message": { + "text": "behavior default! in function reallocarray." + }, "locations": [ { "physicalLocation": { @@ -12587,11 +15802,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 594, - "startColumn": 12, - "endLine": 594, - "endColumn": 17, - "byteLength": 5 + "startLine": 521, + "startColumn": 13, + "endLine": 521, + "endColumn": 25, + "byteLength": 12 } } } @@ -12601,7 +15816,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "valid_function_compar." }, + "message": { "text": "behavior fail in function reallocarray." }, "locations": [ { "physicalLocation": { @@ -12610,11 +15825,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 589, - "startColumn": 34, - "endLine": 589, - "endColumn": 57, - "byteLength": 23 + "startLine": 521, + "startColumn": 13, + "endLine": 521, + "endColumn": 25, + "byteLength": 12 } } } @@ -12624,7 +15839,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function qsort." }, + "message": { "text": "freeable." }, "locations": [ { "physicalLocation": { @@ -12633,11 +15848,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 590, - "startColumn": 10, - "endLine": 590, - "endColumn": 29, - "byteLength": 19 + "startLine": 489, + "startColumn": 22, + "endLine": 489, + "endColumn": 52, + "byteLength": 30 } } } @@ -12647,9 +15862,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term *((char *)base + (0 ..)) in function qsort." - }, + "message": { "text": "can_allocate." }, "locations": [ { "physicalLocation": { @@ -12658,11 +15871,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 590, - "startColumn": 10, - "endLine": 590, - "endColumn": 29, - "byteLength": 19 + "startLine": 498, + "startColumn": 27, + "endLine": 498, + "endColumn": 53, + "byteLength": 26 } } } @@ -12672,7 +15885,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function quick_exit." }, + "message": { "text": "nonnull_ptr." }, "locations": [ { "physicalLocation": { @@ -12681,11 +15894,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 557, - "startColumn": 12, - "endLine": 557, - "endColumn": 22, - "byteLength": 10 + "startLine": 503, + "startColumn": 26, + "endLine": 503, + "endColumn": 38, + "byteLength": 12 } } } @@ -12695,7 +15908,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "never_terminates." }, + "message": { "text": "can_allocate." }, "locations": [ { "physicalLocation": { @@ -12704,11 +15917,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 555, - "startColumn": 28, - "endLine": 555, - "endColumn": 34, - "byteLength": 6 + "startLine": 504, + "startColumn": 27, + "endLine": 504, + "endColumn": 53, + "byteLength": 26 } } } @@ -12718,7 +15931,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function quick_exit." }, + "message": { "text": "cannot_allocate." }, "locations": [ { "physicalLocation": { @@ -12727,11 +15940,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 557, - "startColumn": 12, - "endLine": 557, - "endColumn": 22, - "byteLength": 10 + "startLine": 510, + "startColumn": 30, + "endLine": 510, + "endColumn": 57, + "byteLength": 27 } } } @@ -12741,7 +15954,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function rand." }, + "message": { "text": "allocation." }, "locations": [ { "physicalLocation": { @@ -12750,11 +15963,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 273, - "startColumn": 11, - "endLine": 273, - "endColumn": 15, - "byteLength": 4 + "startLine": 500, + "startColumn": 25, + "endLine": 500, + "endColumn": 54, + "byteLength": 29 } } } @@ -12764,7 +15977,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_range." }, + "message": { "text": "freed." }, "locations": [ { "physicalLocation": { @@ -12773,11 +15986,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 271, - "startColumn": 26, - "endLine": 271, - "endColumn": 55, - "byteLength": 29 + "startLine": 506, + "startColumn": 20, + "endLine": 506, + "endColumn": 35, + "byteLength": 15 } } } @@ -12787,7 +16000,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function rand." }, + "message": { "text": "freeable." }, "locations": [ { "physicalLocation": { @@ -12796,11 +16009,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 269, - "startColumn": 12, - "endLine": 269, - "endColumn": 19, - "byteLength": 7 + "startLine": 507, + "startColumn": 23, + "endLine": 507, + "endColumn": 61, + "byteLength": 38 } } } @@ -12810,9 +16023,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term \\result in function rand." - }, + "message": { "text": "null_result." }, "locations": [ { "physicalLocation": { @@ -12821,11 +16032,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 269, - "startColumn": 12, - "endLine": 269, - "endColumn": 19, - "byteLength": 7 + "startLine": 515, + "startColumn": 26, + "endLine": 515, + "endColumn": 42, + "byteLength": 16 } } } @@ -12835,9 +16046,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term __fc_random_counter in function rand." - }, + "message": { "text": "assigns clause in function reallocarray." }, "locations": [ { "physicalLocation": { @@ -12846,11 +16055,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 270, - "startColumn": 12, - "endLine": 270, - "endColumn": 31, - "byteLength": 19 + "startLine": 492, + "startColumn": 11, + "endLine": 492, + "endColumn": 27, + "byteLength": 16 } } } @@ -12860,7 +16069,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function random." }, + "message": { "text": "assigns clause in function reallocarray." }, "locations": [ { "physicalLocation": { @@ -12869,11 +16078,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 282, - "startColumn": 16, - "endLine": 282, - "endColumn": 22, - "byteLength": 6 + "startLine": 521, + "startColumn": 13, + "endLine": 521, + "endColumn": 25, + "byteLength": 12 } } } @@ -12883,7 +16092,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_range." }, + "message": { + "text": "from clause of term __fc_heap_status in function reallocarray." + }, "locations": [ { "physicalLocation": { @@ -12892,11 +16103,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 280, - "startColumn": 24, - "endLine": 280, - "endColumn": 53, - "byteLength": 29 + "startLine": 492, + "startColumn": 11, + "endLine": 492, + "endColumn": 27, + "byteLength": 16 } } } @@ -12906,7 +16117,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function random." }, + "message": { + "text": "from clause of term \\result in function reallocarray." + }, "locations": [ { "physicalLocation": { @@ -12915,11 +16128,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 282, - "startColumn": 16, - "endLine": 282, - "endColumn": 22, - "byteLength": 6 + "startLine": 494, + "startColumn": 11, + "endLine": 494, + "endColumn": 18, + "byteLength": 7 } } } @@ -12930,7 +16143,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term \\result in function random." + "text": "from clause of term \\result in function reallocarray." }, "locations": [ { @@ -12940,10 +16153,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 279, - "startColumn": 10, - "endLine": 279, - "endColumn": 17, + "startLine": 513, + "startColumn": 13, + "endLine": 513, + "endColumn": 20, "byteLength": 7 } } @@ -12954,7 +16167,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior allocation in function realloc." }, + "message": { + "text": "allocates/frees clause in function reallocarray." + }, "locations": [ { "physicalLocation": { @@ -12963,10 +16178,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 453, - "startColumn": 13, - "endLine": 453, - "endColumn": 20, + "startLine": 499, + "startColumn": 15, + "endLine": 499, + "endColumn": 22, "byteLength": 7 } } @@ -12977,7 +16192,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior deallocation in function realloc." }, + "message": { + "text": "allocates/frees clause in function reallocarray." + }, "locations": [ { "physicalLocation": { @@ -12986,11 +16203,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 453, - "startColumn": 13, - "endLine": 453, - "endColumn": 20, - "byteLength": 7 + "startLine": 505, + "startColumn": 11, + "endLine": 505, + "endColumn": 14, + "byteLength": 3 } } } @@ -13000,7 +16217,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function realloc." }, + "message": { + "text": "allocates/frees clause in function reallocarray." + }, "locations": [ { "physicalLocation": { @@ -13009,11 +16228,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 453, - "startColumn": 13, - "endLine": 453, - "endColumn": 20, - "byteLength": 7 + "startLine": 491, + "startColumn": 9, + "endLine": 491, + "endColumn": 12, + "byteLength": 3 } } } @@ -13023,7 +16242,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior fail in function realloc." }, + "message": { + "text": "allocates/frees clause in function reallocarray." + }, "locations": [ { "physicalLocation": { @@ -13032,11 +16253,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 453, + "startLine": 521, "startColumn": 13, - "endLine": 453, - "endColumn": 20, - "byteLength": 7 + "endLine": 521, + "endColumn": 25, + "byteLength": 12 } } } @@ -13046,7 +16267,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "freeable." }, + "message": { "text": "complete clause in function reallocarray." }, "locations": [ { "physicalLocation": { @@ -13055,11 +16276,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 423, - "startColumn": 22, - "endLine": 423, - "endColumn": 52, - "byteLength": 30 + "startLine": 521, + "startColumn": 13, + "endLine": 521, + "endColumn": 25, + "byteLength": 12 } } } @@ -13069,7 +16290,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "can_allocate." }, + "message": { "text": "disjoint clause in function reallocarray." }, "locations": [ { "physicalLocation": { @@ -13078,11 +16299,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 430, - "startColumn": 27, - "endLine": 430, - "endColumn": 45, - "byteLength": 18 + "startLine": 521, + "startColumn": 13, + "endLine": 521, + "endColumn": 25, + "byteLength": 12 } } } @@ -13092,7 +16313,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "nonnull_ptr." }, + "message": { "text": "disjoint clause in function reallocarray." }, "locations": [ { "physicalLocation": { @@ -13101,10 +16322,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 436, - "startColumn": 26, - "endLine": 436, - "endColumn": 38, + "startLine": 521, + "startColumn": 13, + "endLine": 521, + "endColumn": 25, "byteLength": 12 } } @@ -13115,7 +16336,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "can_allocate." }, + "message": { + "text": "behavior allocate_resolved_name in function realpath." + }, "locations": [ { "physicalLocation": { @@ -13124,11 +16347,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 437, - "startColumn": 27, - "endLine": 437, - "endColumn": 45, - "byteLength": 18 + "startLine": 890, + "startColumn": 13, + "endLine": 890, + "endColumn": 21, + "byteLength": 8 } } } @@ -13138,7 +16361,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "cannot_allocate." }, + "message": { "text": "behavior default! in function realpath." }, "locations": [ { "physicalLocation": { @@ -13147,11 +16370,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 443, - "startColumn": 30, - "endLine": 443, - "endColumn": 49, - "byteLength": 19 + "startLine": 890, + "startColumn": 13, + "endLine": 890, + "endColumn": 21, + "byteLength": 8 } } } @@ -13161,7 +16384,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "allocation." }, + "message": { + "text": "behavior filesystem_error in function realpath." + }, "locations": [ { "physicalLocation": { @@ -13170,11 +16395,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 433, - "startColumn": 25, - "endLine": 433, - "endColumn": 45, - "byteLength": 20 + "startLine": 890, + "startColumn": 13, + "endLine": 890, + "endColumn": 21, + "byteLength": 8 } } } @@ -13184,7 +16409,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "freed." }, + "message": { + "text": "behavior not_enough_memory in function realpath." + }, "locations": [ { "physicalLocation": { @@ -13193,11 +16420,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 439, - "startColumn": 20, - "endLine": 439, - "endColumn": 35, - "byteLength": 15 + "startLine": 890, + "startColumn": 13, + "endLine": 890, + "endColumn": 21, + "byteLength": 8 } } } @@ -13207,7 +16434,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "freeable." }, + "message": { + "text": "behavior null_file_name in function realpath." + }, "locations": [ { "physicalLocation": { @@ -13216,11 +16445,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 440, - "startColumn": 23, - "endLine": 440, - "endColumn": 61, - "byteLength": 38 + "startLine": 890, + "startColumn": 13, + "endLine": 890, + "endColumn": 21, + "byteLength": 8 } } } @@ -13230,7 +16459,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "null_result." }, + "message": { + "text": "behavior resolved_name_buffer in function realpath." + }, "locations": [ { "physicalLocation": { @@ -13239,11 +16470,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 447, - "startColumn": 26, - "endLine": 447, - "endColumn": 42, - "byteLength": 16 + "startLine": 890, + "startColumn": 13, + "endLine": 890, + "endColumn": 21, + "byteLength": 8 } } } @@ -13253,7 +16484,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function realloc." }, + "message": { "text": "valid_file_name_or_null." }, "locations": [ { "physicalLocation": { @@ -13262,11 +16493,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 453, - "startColumn": 13, - "endLine": 453, - "endColumn": 20, - "byteLength": 7 + "startLine": 840, + "startColumn": 4, + "endLine": 840, + "endColumn": 54, + "byteLength": 50 } } } @@ -13276,7 +16507,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function realloc." }, + "message": { "text": "resolved_name_null_or_allocated." }, "locations": [ { "physicalLocation": { @@ -13285,11 +16516,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 426, - "startColumn": 11, - "endLine": 426, - "endColumn": 27, - "byteLength": 16 + "startLine": 842, + "startColumn": 4, + "endLine": 842, + "endColumn": 66, + "byteLength": 62 } } } @@ -13299,7 +16530,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function realloc." }, + "message": { "text": "null_file_name." }, "locations": [ { "physicalLocation": { @@ -13308,11 +16539,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 453, - "startColumn": 13, - "endLine": 453, - "endColumn": 20, - "byteLength": 7 + "startLine": 850, + "startColumn": 28, + "endLine": 850, + "endColumn": 46, + "byteLength": 18 } } } @@ -13322,9 +16553,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term \\result in function realloc." - }, + "message": { "text": "valid_file_name." }, "locations": [ { "physicalLocation": { @@ -13333,11 +16562,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 432, - "startColumn": 13, - "endLine": 432, - "endColumn": 20, - "byteLength": 7 + "startLine": 855, + "startColumn": 29, + "endLine": 855, + "endColumn": 57, + "byteLength": 28 } } } @@ -13347,9 +16576,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term __fc_heap_status in function realloc." - }, + "message": { "text": "resolved_name_null." }, "locations": [ { "physicalLocation": { @@ -13358,11 +16585,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 426, - "startColumn": 11, - "endLine": 426, - "endColumn": 27, - "byteLength": 16 + "startLine": 856, + "startColumn": 32, + "endLine": 856, + "endColumn": 54, + "byteLength": 22 } } } @@ -13372,9 +16599,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term \\result in function realloc." - }, + "message": { "text": "can_allocate." }, "locations": [ { "physicalLocation": { @@ -13383,11 +16608,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 427, - "startColumn": 11, - "endLine": 427, - "endColumn": 18, - "byteLength": 7 + "startLine": 857, + "startColumn": 26, + "endLine": 857, + "endColumn": 44, + "byteLength": 18 } } } @@ -13397,9 +16622,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term \\result in function realloc." - }, + "message": { "text": "valid_file_name." }, "locations": [ { "physicalLocation": { @@ -13408,11 +16631,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 446, - "startColumn": 13, - "endLine": 446, - "endColumn": 20, - "byteLength": 7 + "startLine": 862, + "startColumn": 29, + "endLine": 862, + "endColumn": 57, + "byteLength": 28 } } } @@ -13422,22 +16645,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "allocates/frees clause in function realloc." - }, + "message": { "text": "resolved_name_null." }, "locations": [ { "physicalLocation": { "artifactLocation": { "uri": "libc/stdlib.h", "uriBaseId": "FRAMAC_SHARE" - }, - "region": { - "startLine": 431, - "startColumn": 15, - "endLine": 431, - "endColumn": 22, - "byteLength": 7 + }, + "region": { + "startLine": 863, + "startColumn": 32, + "endLine": 863, + "endColumn": 54, + "byteLength": 22 } } } @@ -13447,9 +16668,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "allocates/frees clause in function realloc." - }, + "message": { "text": "cannot_allocate." }, "locations": [ { "physicalLocation": { @@ -13458,11 +16677,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 438, - "startColumn": 11, - "endLine": 438, - "endColumn": 14, - "byteLength": 3 + "startLine": 864, + "startColumn": 29, + "endLine": 864, + "endColumn": 48, + "byteLength": 19 } } } @@ -13472,9 +16691,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "allocates/frees clause in function realloc." - }, + "message": { "text": "valid_file_name." }, "locations": [ { "physicalLocation": { @@ -13483,11 +16700,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 425, - "startColumn": 9, - "endLine": 425, - "endColumn": 12, - "byteLength": 3 + "startLine": 870, + "startColumn": 29, + "endLine": 870, + "endColumn": 57, + "byteLength": 28 } } } @@ -13497,9 +16714,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "allocates/frees clause in function realloc." - }, + "message": { "text": "allocated_resolved_name_or_fail." }, "locations": [ { "physicalLocation": { @@ -13508,11 +16723,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 453, - "startColumn": 13, - "endLine": 453, - "endColumn": 20, - "byteLength": 7 + "startLine": 872, + "startColumn": 6, + "endLine": 872, + "endColumn": 42, + "byteLength": 36 } } } @@ -13522,7 +16737,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "complete clause in function realloc." }, + "message": { "text": "valid_file_name." }, "locations": [ { "physicalLocation": { @@ -13531,11 +16746,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 453, - "startColumn": 13, - "endLine": 453, - "endColumn": 20, - "byteLength": 7 + "startLine": 882, + "startColumn": 29, + "endLine": 882, + "endColumn": 57, + "byteLength": 28 } } } @@ -13545,7 +16760,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "disjoint clause in function realloc." }, + "message": { "text": "null_result." }, "locations": [ { "physicalLocation": { @@ -13554,11 +16769,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 453, - "startColumn": 13, - "endLine": 453, - "endColumn": 20, - "byteLength": 7 + "startLine": 852, + "startColumn": 25, + "endLine": 852, + "endColumn": 41, + "byteLength": 16 } } } @@ -13568,7 +16783,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "disjoint clause in function realloc." }, + "message": { "text": "errno_set." }, "locations": [ { "physicalLocation": { @@ -13577,11 +16792,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 453, - "startColumn": 13, - "endLine": 453, - "endColumn": 20, - "byteLength": 7 + "startLine": 853, + "startColumn": 23, + "endLine": 853, + "endColumn": 39, + "byteLength": 16 } } } @@ -13591,9 +16806,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "behavior allocation in function reallocarray." - }, + "message": { "text": "allocation." }, "locations": [ { "physicalLocation": { @@ -13602,11 +16815,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 489, - "startColumn": 13, - "endLine": 489, - "endColumn": 25, - "byteLength": 12 + "startLine": 860, + "startColumn": 24, + "endLine": 860, + "endColumn": 44, + "byteLength": 20 } } } @@ -13616,9 +16829,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "behavior deallocation in function reallocarray." - }, + "message": { "text": "null_result." }, "locations": [ { "physicalLocation": { @@ -13627,11 +16838,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 489, - "startColumn": 13, - "endLine": 489, - "endColumn": 25, - "byteLength": 12 + "startLine": 867, + "startColumn": 25, + "endLine": 867, + "endColumn": 41, + "byteLength": 16 } } } @@ -13641,9 +16852,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "behavior default! in function reallocarray." - }, + "message": { "text": "errno_set." }, "locations": [ { "physicalLocation": { @@ -13652,11 +16861,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 489, - "startColumn": 13, - "endLine": 489, - "endColumn": 25, - "byteLength": 12 + "startLine": 868, + "startColumn": 23, + "endLine": 868, + "endColumn": 39, + "byteLength": 16 } } } @@ -13666,7 +16875,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior fail in function reallocarray." }, + "message": { "text": "valid_string_resolved_name." }, "locations": [ { "physicalLocation": { @@ -13675,11 +16884,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 489, - "startColumn": 13, - "endLine": 489, - "endColumn": 25, - "byteLength": 12 + "startLine": 876, + "startColumn": 40, + "endLine": 877, + "endColumn": 71, + "byteLength": 99 } } } @@ -13689,7 +16898,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "freeable." }, + "message": { "text": "resolved_result." }, "locations": [ { "physicalLocation": { @@ -13698,11 +16907,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 457, - "startColumn": 22, - "endLine": 457, - "endColumn": 52, - "byteLength": 30 + "startLine": 880, + "startColumn": 29, + "endLine": 880, + "endColumn": 53, + "byteLength": 24 } } } @@ -13712,7 +16921,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "can_allocate." }, + "message": { "text": "null_result." }, "locations": [ { "physicalLocation": { @@ -13721,11 +16930,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 466, - "startColumn": 27, - "endLine": 466, - "endColumn": 53, - "byteLength": 26 + "startLine": 886, + "startColumn": 25, + "endLine": 886, + "endColumn": 41, + "byteLength": 16 } } } @@ -13735,7 +16944,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "nonnull_ptr." }, + "message": { "text": "errno_set." }, "locations": [ { "physicalLocation": { @@ -13744,11 +16953,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 471, - "startColumn": 26, - "endLine": 471, - "endColumn": 38, - "byteLength": 12 + "startLine": 888, + "startColumn": 6, + "endLine": 888, + "endColumn": 43, + "byteLength": 37 } } } @@ -13758,7 +16967,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "can_allocate." }, + "message": { "text": "assigns clause in function realpath." }, "locations": [ { "physicalLocation": { @@ -13767,11 +16976,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 472, - "startColumn": 27, - "endLine": 472, - "endColumn": 53, - "byteLength": 26 + "startLine": 858, + "startColumn": 12, + "endLine": 858, + "endColumn": 28, + "byteLength": 16 } } } @@ -13781,7 +16990,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "cannot_allocate." }, + "message": { "text": "assigns clause in function realpath." }, "locations": [ { "physicalLocation": { @@ -13790,11 +16999,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 478, - "startColumn": 30, - "endLine": 478, - "endColumn": 57, - "byteLength": 27 + "startLine": 843, + "startColumn": 10, + "endLine": 843, + "endColumn": 26, + "byteLength": 16 } } } @@ -13804,7 +17013,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "allocation." }, + "message": { "text": "assigns clause in function realpath." }, "locations": [ { "physicalLocation": { @@ -13813,11 +17022,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 468, - "startColumn": 25, - "endLine": 468, - "endColumn": 54, - "byteLength": 29 + "startLine": 884, + "startColumn": 12, + "endLine": 884, + "endColumn": 19, + "byteLength": 7 } } } @@ -13827,7 +17036,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "freed." }, + "message": { "text": "assigns clause in function realpath." }, "locations": [ { "physicalLocation": { @@ -13836,11 +17045,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 474, - "startColumn": 20, - "endLine": 474, - "endColumn": 35, - "byteLength": 15 + "startLine": 890, + "startColumn": 13, + "endLine": 890, + "endColumn": 21, + "byteLength": 8 } } } @@ -13850,7 +17059,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "freeable." }, + "message": { "text": "assigns clause in function realpath." }, "locations": [ { "physicalLocation": { @@ -13859,11 +17068,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 475, - "startColumn": 23, - "endLine": 475, - "endColumn": 61, - "byteLength": 38 + "startLine": 851, + "startColumn": 12, + "endLine": 851, + "endColumn": 19, + "byteLength": 7 } } } @@ -13873,7 +17082,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "null_result." }, + "message": { "text": "assigns clause in function realpath." }, "locations": [ { "physicalLocation": { @@ -13882,11 +17091,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 483, - "startColumn": 26, - "endLine": 483, - "endColumn": 42, - "byteLength": 16 + "startLine": 874, + "startColumn": 12, + "endLine": 874, + "endColumn": 19, + "byteLength": 7 } } } @@ -13896,7 +17105,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function reallocarray." }, + "message": { + "text": "from clause of term __fc_heap_status in function realpath." + }, "locations": [ { "physicalLocation": { @@ -13905,10 +17116,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 460, - "startColumn": 11, - "endLine": 460, - "endColumn": 27, + "startLine": 858, + "startColumn": 12, + "endLine": 858, + "endColumn": 28, "byteLength": 16 } } @@ -13919,7 +17130,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function reallocarray." }, + "message": { + "text": "from clause of term \\result in function realpath." + }, "locations": [ { "physicalLocation": { @@ -13928,11 +17141,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 489, - "startColumn": 13, - "endLine": 489, - "endColumn": 25, - "byteLength": 12 + "startLine": 859, + "startColumn": 12, + "endLine": 859, + "endColumn": 19, + "byteLength": 7 } } } @@ -13943,7 +17156,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term __fc_heap_status in function reallocarray." + "text": "from clause of term __fc_heap_status in function realpath." }, "locations": [ { @@ -13953,10 +17166,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 460, - "startColumn": 11, - "endLine": 460, - "endColumn": 27, + "startLine": 843, + "startColumn": 10, + "endLine": 843, + "endColumn": 26, "byteLength": 16 } } @@ -13968,7 +17181,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term \\result in function reallocarray." + "text": "from clause of term *(\\result + (0 .. 4096 - 1)) in function realpath." }, "locations": [ { @@ -13978,11 +17191,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 462, - "startColumn": 11, - "endLine": 462, - "endColumn": 18, - "byteLength": 7 + "startLine": 844, + "startColumn": 10, + "endLine": 844, + "endColumn": 31, + "byteLength": 21 } } } @@ -13993,7 +17206,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term \\result in function reallocarray." + "text": "from clause of term *(resolved_name + (0 .. 4096 - 1)) in function realpath." }, "locations": [ { @@ -14003,11 +17216,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 481, - "startColumn": 13, - "endLine": 481, - "endColumn": 20, - "byteLength": 7 + "startLine": 844, + "startColumn": 33, + "endLine": 844, + "endColumn": 60, + "byteLength": 27 } } } @@ -14018,7 +17231,7 @@ "kind": "pass", "level": "none", "message": { - "text": "allocates/frees clause in function reallocarray." + "text": "from clause of term __fc_errno in function realpath." }, "locations": [ { @@ -14028,11 +17241,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 467, - "startColumn": 15, - "endLine": 467, - "endColumn": 22, - "byteLength": 7 + "startLine": 846, + "startColumn": 10, + "endLine": 846, + "endColumn": 20, + "byteLength": 10 } } } @@ -14043,7 +17256,7 @@ "kind": "pass", "level": "none", "message": { - "text": "allocates/frees clause in function reallocarray." + "text": "from clause of term \\result in function realpath." }, "locations": [ { @@ -14053,11 +17266,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 473, - "startColumn": 11, - "endLine": 473, - "endColumn": 14, - "byteLength": 3 + "startLine": 884, + "startColumn": 12, + "endLine": 884, + "endColumn": 19, + "byteLength": 7 } } } @@ -14068,7 +17281,7 @@ "kind": "pass", "level": "none", "message": { - "text": "allocates/frees clause in function reallocarray." + "text": "from clause of term __fc_errno in function realpath." }, "locations": [ { @@ -14078,11 +17291,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 459, - "startColumn": 9, - "endLine": 459, - "endColumn": 12, - "byteLength": 3 + "startLine": 884, + "startColumn": 21, + "endLine": 884, + "endColumn": 31, + "byteLength": 10 } } } @@ -14093,7 +17306,7 @@ "kind": "pass", "level": "none", "message": { - "text": "allocates/frees clause in function reallocarray." + "text": "from clause of term \\result in function realpath." }, "locations": [ { @@ -14103,11 +17316,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 489, - "startColumn": 13, - "endLine": 489, - "endColumn": 25, - "byteLength": 12 + "startLine": 866, + "startColumn": 12, + "endLine": 866, + "endColumn": 19, + "byteLength": 7 } } } @@ -14117,7 +17330,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "complete clause in function reallocarray." }, + "message": { + "text": "from clause of term \\result in function realpath." + }, "locations": [ { "physicalLocation": { @@ -14126,11 +17341,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 489, - "startColumn": 13, - "endLine": 489, - "endColumn": 25, - "byteLength": 12 + "startLine": 851, + "startColumn": 12, + "endLine": 851, + "endColumn": 19, + "byteLength": 7 } } } @@ -14140,7 +17355,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "disjoint clause in function reallocarray." }, + "message": { + "text": "from clause of term __fc_errno in function realpath." + }, "locations": [ { "physicalLocation": { @@ -14149,11 +17366,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 489, - "startColumn": 13, - "endLine": 489, - "endColumn": 25, - "byteLength": 12 + "startLine": 851, + "startColumn": 21, + "endLine": 851, + "endColumn": 31, + "byteLength": 10 } } } @@ -14163,7 +17380,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "disjoint clause in function reallocarray." }, + "message": { + "text": "from clause of term \\result in function realpath." + }, "locations": [ { "physicalLocation": { @@ -14172,11 +17391,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 489, - "startColumn": 13, - "endLine": 489, - "endColumn": 25, - "byteLength": 12 + "startLine": 874, + "startColumn": 12, + "endLine": 874, + "endColumn": 19, + "byteLength": 7 } } } @@ -14187,7 +17406,7 @@ "kind": "pass", "level": "none", "message": { - "text": "behavior allocate_resolved_name in function realpath." + "text": "from clause of term *(resolved_name + (0 .. 4096 - 1)) in function realpath." }, "locations": [ { @@ -14197,11 +17416,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 807, - "startColumn": 13, - "endLine": 807, - "endColumn": 21, - "byteLength": 8 + "startLine": 875, + "startColumn": 12, + "endLine": 875, + "endColumn": 39, + "byteLength": 27 } } } @@ -14211,7 +17430,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function realpath." }, + "message": { + "text": "allocates/frees clause in function realpath." + }, "locations": [ { "physicalLocation": { @@ -14220,9 +17441,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 807, + "startLine": 890, "startColumn": 13, - "endLine": 807, + "endLine": 890, "endColumn": 21, "byteLength": 8 } @@ -14235,7 +17456,7 @@ "kind": "pass", "level": "none", "message": { - "text": "behavior filesystem_error in function realpath." + "text": "allocates/frees clause in function realpath." }, "locations": [ { @@ -14245,9 +17466,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 807, + "startLine": 890, "startColumn": 13, - "endLine": 807, + "endLine": 890, "endColumn": 21, "byteLength": 8 } @@ -14260,7 +17481,7 @@ "kind": "pass", "level": "none", "message": { - "text": "behavior not_enough_memory in function realpath." + "text": "allocates/frees clause in function realpath." }, "locations": [ { @@ -14270,9 +17491,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 807, + "startLine": 890, "startColumn": 13, - "endLine": 807, + "endLine": 890, "endColumn": 21, "byteLength": 8 } @@ -14284,9 +17505,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "behavior null_file_name in function realpath." - }, + "message": { "text": "behavior default! in function seed48." }, "locations": [ { "physicalLocation": { @@ -14295,11 +17514,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 807, - "startColumn": 13, - "endLine": 807, - "endColumn": 21, - "byteLength": 8 + "startLine": 335, + "startColumn": 23, + "endLine": 335, + "endColumn": 29, + "byteLength": 6 } } } @@ -14309,9 +17528,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "behavior resolved_name_buffer in function realpath." - }, + "message": { "text": "valid_seed16v." }, "locations": [ { "physicalLocation": { @@ -14320,11 +17537,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 807, - "startColumn": 13, - "endLine": 807, - "endColumn": 21, - "byteLength": 8 + "startLine": 327, + "startColumn": 26, + "endLine": 327, + "endColumn": 48, + "byteLength": 22 } } } @@ -14334,7 +17551,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "valid_file_name_or_null." }, + "message": { "text": "initialization." }, "locations": [ { "physicalLocation": { @@ -14343,11 +17560,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 757, - "startColumn": 4, - "endLine": 757, - "endColumn": 54, - "byteLength": 50 + "startLine": 328, + "startColumn": 47, + "endLine": 328, + "endColumn": 75, + "byteLength": 28 } } } @@ -14357,7 +17574,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "resolved_name_null_or_allocated." }, + "message": { "text": "random48_initialized." }, "locations": [ { "physicalLocation": { @@ -14366,11 +17583,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 759, - "startColumn": 4, - "endLine": 759, - "endColumn": 66, - "byteLength": 62 + "startLine": 332, + "startColumn": 32, + "endLine": 332, + "endColumn": 55, + "byteLength": 23 } } } @@ -14380,7 +17597,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "null_file_name." }, + "message": { "text": "result_counter." }, "locations": [ { "physicalLocation": { @@ -14389,11 +17606,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 767, - "startColumn": 28, - "endLine": 767, - "endColumn": 46, - "byteLength": 18 + "startLine": 333, + "startColumn": 26, + "endLine": 333, + "endColumn": 60, + "byteLength": 34 } } } @@ -14403,7 +17620,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "valid_file_name." }, + "message": { "text": "assigns clause in function seed48." }, "locations": [ { "physicalLocation": { @@ -14412,11 +17629,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 772, - "startColumn": 29, - "endLine": 772, - "endColumn": 57, - "byteLength": 28 + "startLine": 329, + "startColumn": 10, + "endLine": 329, + "endColumn": 37, + "byteLength": 27 } } } @@ -14426,7 +17643,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "resolved_name_null." }, + "message": { + "text": "from clause of term __fc_random48_counter[0 .. 2] in function seed48." + }, "locations": [ { "physicalLocation": { @@ -14435,11 +17654,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 773, - "startColumn": 32, - "endLine": 773, - "endColumn": 54, - "byteLength": 22 + "startLine": 329, + "startColumn": 10, + "endLine": 329, + "endColumn": 37, + "byteLength": 27 } } } @@ -14449,7 +17668,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "can_allocate." }, + "message": { + "text": "from clause of term __fc_random48_init in function seed48." + }, "locations": [ { "physicalLocation": { @@ -14458,10 +17679,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 774, - "startColumn": 26, - "endLine": 774, - "endColumn": 44, + "startLine": 330, + "startColumn": 10, + "endLine": 330, + "endColumn": 28, "byteLength": 18 } } @@ -14472,7 +17693,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "valid_file_name." }, + "message": { + "text": "from clause of term \\result in function seed48." + }, "locations": [ { "physicalLocation": { @@ -14481,11 +17704,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 779, - "startColumn": 29, - "endLine": 779, - "endColumn": 57, - "byteLength": 28 + "startLine": 331, + "startColumn": 10, + "endLine": 331, + "endColumn": 17, + "byteLength": 7 } } } @@ -14495,7 +17718,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "resolved_name_null." }, + "message": { "text": "behavior default! in function setenv." }, "locations": [ { "physicalLocation": { @@ -14504,11 +17727,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 780, - "startColumn": 32, - "endLine": 780, - "endColumn": 54, - "byteLength": 22 + "startLine": 611, + "startColumn": 11, + "endLine": 611, + "endColumn": 17, + "byteLength": 6 } } } @@ -14518,7 +17741,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "cannot_allocate." }, + "message": { "text": "behavior invalid_name in function setenv." }, "locations": [ { "physicalLocation": { @@ -14527,11 +17750,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 781, - "startColumn": 29, - "endLine": 781, - "endColumn": 48, - "byteLength": 19 + "startLine": 611, + "startColumn": 11, + "endLine": 611, + "endColumn": 17, + "byteLength": 6 } } } @@ -14541,7 +17764,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "valid_file_name." }, + "message": { "text": "behavior ok in function setenv." }, "locations": [ { "physicalLocation": { @@ -14550,11 +17773,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 787, - "startColumn": 29, - "endLine": 787, - "endColumn": 57, - "byteLength": 28 + "startLine": 611, + "startColumn": 11, + "endLine": 611, + "endColumn": 17, + "byteLength": 6 } } } @@ -14564,7 +17787,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "allocated_resolved_name_or_fail." }, + "message": { "text": "behavior out_of_memory in function setenv." }, "locations": [ { "physicalLocation": { @@ -14573,11 +17796,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 789, - "startColumn": 6, - "endLine": 789, - "endColumn": 42, - "byteLength": 36 + "startLine": 611, + "startColumn": 11, + "endLine": 611, + "endColumn": 17, + "byteLength": 6 } } } @@ -14587,7 +17810,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "valid_file_name." }, + "message": { "text": "valid_name." }, "locations": [ { "physicalLocation": { @@ -14596,11 +17819,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 799, - "startColumn": 29, - "endLine": 799, - "endColumn": 57, - "byteLength": 28 + "startLine": 570, + "startColumn": 23, + "endLine": 570, + "endColumn": 46, + "byteLength": 23 } } } @@ -14610,7 +17833,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "null_result." }, + "message": { "text": "valid_value." }, "locations": [ { "physicalLocation": { @@ -14619,11 +17842,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 769, - "startColumn": 25, - "endLine": 769, - "endColumn": 41, - "byteLength": 16 + "startLine": 571, + "startColumn": 24, + "endLine": 571, + "endColumn": 48, + "byteLength": 24 } } } @@ -14633,7 +17856,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "errno_set." }, + "message": { "text": "name_empty_or_with_equals_sign." }, "locations": [ { "physicalLocation": { @@ -14642,11 +17865,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 770, - "startColumn": 23, - "endLine": 770, - "endColumn": 39, - "byteLength": 16 + "startLine": 583, + "startColumn": 6, + "endLine": 583, + "endColumn": 44, + "byteLength": 38 } } } @@ -14656,7 +17879,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "allocation." }, + "message": { "text": "not_enough_memory." }, "locations": [ { "physicalLocation": { @@ -14665,11 +17888,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 777, - "startColumn": 24, - "endLine": 777, - "endColumn": 44, - "byteLength": 20 + "startLine": 590, + "startColumn": 31, + "endLine": 590, + "endColumn": 78, + "byteLength": 47 } } } @@ -14679,7 +17902,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "null_result." }, + "message": { "text": "name_not_empty." }, "locations": [ { "physicalLocation": { @@ -14688,10 +17911,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 784, - "startColumn": 25, - "endLine": 784, - "endColumn": 41, + "startLine": 598, + "startColumn": 28, + "endLine": 598, + "endColumn": 44, "byteLength": 16 } } @@ -14702,7 +17925,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "errno_set." }, + "message": { "text": "name_has_no_equals_sign." }, "locations": [ { "physicalLocation": { @@ -14711,11 +17934,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 785, - "startColumn": 23, - "endLine": 785, - "endColumn": 39, - "byteLength": 16 + "startLine": 599, + "startColumn": 37, + "endLine": 599, + "endColumn": 55, + "byteLength": 18 } } } @@ -14725,7 +17948,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "valid_string_resolved_name." }, + "message": { "text": "enough_memory." }, "locations": [ { "physicalLocation": { @@ -14734,11 +17957,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 792, - "startColumn": 40, - "endLine": 793, - "endColumn": 71, - "byteLength": 99 + "startLine": 600, + "startColumn": 27, + "endLine": 600, + "endColumn": 73, + "byteLength": 46 } } } @@ -14748,7 +17971,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "resolved_result." }, + "message": { "text": "result_ok_or_error." }, "locations": [ { "physicalLocation": { @@ -14757,11 +17980,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 796, - "startColumn": 29, - "endLine": 796, - "endColumn": 53, - "byteLength": 24 + "startLine": 580, + "startColumn": 30, + "endLine": 580, + "endColumn": 59, + "byteLength": 29 } } } @@ -14771,7 +17994,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "null_result." }, + "message": { "text": "error." }, "locations": [ { "physicalLocation": { @@ -14780,11 +18003,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 802, - "startColumn": 25, - "endLine": 802, - "endColumn": 41, - "byteLength": 16 + "startLine": 587, + "startColumn": 19, + "endLine": 587, + "endColumn": 32, + "byteLength": 13 } } } @@ -14803,11 +18026,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 804, - "startColumn": 6, - "endLine": 804, - "endColumn": 43, - "byteLength": 37 + "startLine": 588, + "startColumn": 23, + "endLine": 588, + "endColumn": 39, + "byteLength": 16 } } } @@ -14817,7 +18040,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function realpath." }, + "message": { "text": "error." }, "locations": [ { "physicalLocation": { @@ -14826,11 +18049,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 775, - "startColumn": 12, - "endLine": 775, - "endColumn": 28, - "byteLength": 16 + "startLine": 595, + "startColumn": 19, + "endLine": 595, + "endColumn": 32, + "byteLength": 13 } } } @@ -14840,7 +18063,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function realpath." }, + "message": { "text": "errno_set." }, "locations": [ { "physicalLocation": { @@ -14849,10 +18072,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 760, - "startColumn": 10, - "endLine": 760, - "endColumn": 26, + "startLine": 596, + "startColumn": 23, + "endLine": 596, + "endColumn": 39, "byteLength": 16 } } @@ -14863,7 +18086,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function realpath." }, + "message": { "text": "ok." }, "locations": [ { "physicalLocation": { @@ -14872,11 +18095,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 800, - "startColumn": 12, - "endLine": 800, - "endColumn": 19, - "byteLength": 7 + "startLine": 609, + "startColumn": 16, + "endLine": 609, + "endColumn": 28, + "byteLength": 12 } } } @@ -14886,7 +18109,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function realpath." }, + "message": { "text": "assigns clause in function setenv." }, "locations": [ { "physicalLocation": { @@ -14895,11 +18118,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 807, - "startColumn": 13, - "endLine": 807, - "endColumn": 21, - "byteLength": 8 + "startLine": 573, + "startColumn": 10, + "endLine": 573, + "endColumn": 17, + "byteLength": 7 } } } @@ -14909,7 +18132,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function realpath." }, + "message": { "text": "assigns clause in function setenv." }, "locations": [ { "physicalLocation": { @@ -14918,9 +18141,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 768, + "startLine": 585, "startColumn": 12, - "endLine": 768, + "endLine": 585, "endColumn": 19, "byteLength": 7 } @@ -14932,7 +18155,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function realpath." }, + "message": { "text": "assigns clause in function setenv." }, "locations": [ { "physicalLocation": { @@ -14941,9 +18164,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 790, + "startLine": 602, "startColumn": 12, - "endLine": 790, + "endLine": 602, "endColumn": 19, "byteLength": 7 } @@ -14955,9 +18178,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term __fc_heap_status in function realpath." - }, + "message": { "text": "assigns clause in function setenv." }, "locations": [ { "physicalLocation": { @@ -14966,11 +18187,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 775, + "startLine": 592, "startColumn": 12, - "endLine": 775, - "endColumn": 28, - "byteLength": 16 + "endLine": 592, + "endColumn": 19, + "byteLength": 7 } } } @@ -14981,7 +18202,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term \\result in function realpath." + "text": "from clause of term \\result in function setenv." }, "locations": [ { @@ -14991,10 +18212,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 776, - "startColumn": 12, - "endLine": 776, - "endColumn": 19, + "startLine": 573, + "startColumn": 10, + "endLine": 573, + "endColumn": 17, "byteLength": 7 } } @@ -15006,7 +18227,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term __fc_heap_status in function realpath." + "text": "from clause of term __fc_env[0 ..] in function setenv." }, "locations": [ { @@ -15016,11 +18237,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 760, - "startColumn": 10, - "endLine": 760, - "endColumn": 26, - "byteLength": 16 + "startLine": 573, + "startColumn": 19, + "endLine": 573, + "endColumn": 32, + "byteLength": 13 } } } @@ -15031,7 +18252,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term *(\\result + (0 .. 4096 - 1)) in function realpath." + "text": "from clause of term *(__fc_env[0 ..] + (0 ..)) in function setenv." }, "locations": [ { @@ -15041,11 +18262,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 761, + "startLine": 576, "startColumn": 10, - "endLine": 761, - "endColumn": 31, - "byteLength": 21 + "endLine": 576, + "endColumn": 28, + "byteLength": 18 } } } @@ -15056,7 +18277,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term *(resolved_name + (0 .. 4096 - 1)) in function realpath." + "text": "from clause of term \\result in function setenv." }, "locations": [ { @@ -15066,11 +18287,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 761, - "startColumn": 33, - "endLine": 761, - "endColumn": 60, - "byteLength": 27 + "startLine": 585, + "startColumn": 12, + "endLine": 585, + "endColumn": 19, + "byteLength": 7 } } } @@ -15081,7 +18302,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term __fc_errno in function realpath." + "text": "from clause of term __fc_errno in function setenv." }, "locations": [ { @@ -15091,10 +18312,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 763, - "startColumn": 10, - "endLine": 763, - "endColumn": 20, + "startLine": 586, + "startColumn": 12, + "endLine": 586, + "endColumn": 22, "byteLength": 10 } } @@ -15106,7 +18327,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term \\result in function realpath." + "text": "from clause of term \\result in function setenv." }, "locations": [ { @@ -15116,9 +18337,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 800, + "startLine": 602, "startColumn": 12, - "endLine": 800, + "endLine": 602, "endColumn": 19, "byteLength": 7 } @@ -15131,7 +18352,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term __fc_errno in function realpath." + "text": "from clause of term __fc_env[0 ..] in function setenv." }, "locations": [ { @@ -15141,11 +18362,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 800, + "startLine": 602, "startColumn": 21, - "endLine": 800, - "endColumn": 31, - "byteLength": 10 + "endLine": 602, + "endColumn": 34, + "byteLength": 13 } } } @@ -15156,7 +18377,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term \\result in function realpath." + "text": "from clause of term *(__fc_env[0 ..] + (0 ..)) in function setenv." }, "locations": [ { @@ -15166,11 +18387,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 782, + "startLine": 605, "startColumn": 12, - "endLine": 782, - "endColumn": 19, - "byteLength": 7 + "endLine": 605, + "endColumn": 30, + "byteLength": 18 } } } @@ -15181,7 +18402,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term \\result in function realpath." + "text": "from clause of term \\result in function setenv." }, "locations": [ { @@ -15191,9 +18412,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 768, + "startLine": 592, "startColumn": 12, - "endLine": 768, + "endLine": 592, "endColumn": 19, "byteLength": 7 } @@ -15206,7 +18427,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term __fc_errno in function realpath." + "text": "from clause of term __fc_errno in function setenv." }, "locations": [ { @@ -15216,9 +18437,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 768, + "startLine": 592, "startColumn": 21, - "endLine": 768, + "endLine": 592, "endColumn": 31, "byteLength": 10 } @@ -15230,9 +18451,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term \\result in function realpath." - }, + "message": { "text": "allocates/frees clause in function setenv." }, "locations": [ { "physicalLocation": { @@ -15241,11 +18460,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 790, + "startLine": 572, "startColumn": 12, - "endLine": 790, - "endColumn": 19, - "byteLength": 7 + "endLine": 572, + "endColumn": 25, + "byteLength": 13 } } } @@ -15255,9 +18474,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term *(resolved_name + (0 .. 4096 - 1)) in function realpath." - }, + "message": { "text": "allocates/frees clause in function setenv." }, "locations": [ { "physicalLocation": { @@ -15266,11 +18483,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 791, - "startColumn": 12, - "endLine": 791, - "endColumn": 39, - "byteLength": 27 + "startLine": 611, + "startColumn": 11, + "endLine": 611, + "endColumn": 17, + "byteLength": 6 } } } @@ -15280,9 +18497,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "allocates/frees clause in function realpath." - }, + "message": { "text": "allocates/frees clause in function setenv." }, "locations": [ { "physicalLocation": { @@ -15291,11 +18506,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 807, - "startColumn": 13, - "endLine": 807, - "endColumn": 21, - "byteLength": 8 + "startLine": 601, + "startColumn": 14, + "endLine": 601, + "endColumn": 27, + "byteLength": 13 } } } @@ -15305,9 +18520,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "allocates/frees clause in function realpath." - }, + "message": { "text": "allocates/frees clause in function setenv." }, "locations": [ { "physicalLocation": { @@ -15316,11 +18529,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 807, - "startColumn": 13, - "endLine": 807, - "endColumn": 21, - "byteLength": 8 + "startLine": 611, + "startColumn": 11, + "endLine": 611, + "endColumn": 17, + "byteLength": 6 } } } @@ -15330,9 +18543,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "allocates/frees clause in function realpath." - }, + "message": { "text": "behavior default! in function srand." }, "locations": [ { "physicalLocation": { @@ -15341,11 +18552,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 807, - "startColumn": 13, - "endLine": 807, - "endColumn": 21, - "byteLength": 8 + "startLine": 302, + "startColumn": 12, + "endLine": 302, + "endColumn": 17, + "byteLength": 5 } } } @@ -15355,7 +18566,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function seed48." }, + "message": { "text": "assigns clause in function srand." }, "locations": [ { "physicalLocation": { @@ -15364,11 +18575,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 308, - "startColumn": 23, - "endLine": 308, - "endColumn": 29, - "byteLength": 6 + "startLine": 301, + "startColumn": 12, + "endLine": 301, + "endColumn": 31, + "byteLength": 19 } } } @@ -15378,7 +18589,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "initialization." }, + "message": { + "text": "from clause of term __fc_random_counter in function srand." + }, "locations": [ { "physicalLocation": { @@ -15388,10 +18601,33 @@ }, "region": { "startLine": 301, - "startColumn": 47, + "startColumn": 12, "endLine": 301, - "endColumn": 75, - "byteLength": 28 + "endColumn": 31, + "byteLength": 19 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "behavior default! in function srand48." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/stdlib.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 324, + "startColumn": 12, + "endLine": 324, + "endColumn": 19, + "byteLength": 7 } } } @@ -15410,9 +18646,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 305, + "startLine": 322, "startColumn": 32, - "endLine": 305, + "endLine": 322, "endColumn": 55, "byteLength": 23 } @@ -15424,7 +18660,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_counter." }, + "message": { "text": "assigns clause in function srand48." }, "locations": [ { "physicalLocation": { @@ -15433,11 +18669,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 306, - "startColumn": 26, - "endLine": 306, - "endColumn": 60, - "byteLength": 34 + "startLine": 320, + "startColumn": 10, + "endLine": 320, + "endColumn": 37, + "byteLength": 27 } } } @@ -15447,7 +18683,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function seed48." }, + "message": { + "text": "from clause of term __fc_random48_counter[0 .. 2] in function srand48." + }, "locations": [ { "physicalLocation": { @@ -15456,9 +18694,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 302, + "startLine": 320, "startColumn": 10, - "endLine": 302, + "endLine": 320, "endColumn": 37, "byteLength": 27 } @@ -15471,7 +18709,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term __fc_random48_counter[0 .. 2] in function seed48." + "text": "from clause of term __fc_random48_init in function srand48." }, "locations": [ { @@ -15481,11 +18719,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 302, + "startLine": 321, "startColumn": 10, - "endLine": 302, - "endColumn": 37, - "byteLength": 27 + "endLine": 321, + "endColumn": 28, + "byteLength": 18 } } } @@ -15495,9 +18733,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term __fc_random48_init in function seed48." - }, + "message": { "text": "behavior default! in function srandom." }, "locations": [ { "physicalLocation": { @@ -15506,11 +18742,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 303, - "startColumn": 10, - "endLine": 303, - "endColumn": 28, - "byteLength": 18 + "startLine": 311, + "startColumn": 12, + "endLine": 311, + "endColumn": 19, + "byteLength": 7 } } } @@ -15520,9 +18756,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term \\result in function seed48." - }, + "message": { "text": "assigns clause in function srandom." }, "locations": [ { "physicalLocation": { @@ -15531,11 +18765,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 304, - "startColumn": 10, - "endLine": 304, - "endColumn": 17, - "byteLength": 7 + "startLine": 310, + "startColumn": 12, + "endLine": 310, + "endColumn": 31, + "byteLength": 19 } } } @@ -15545,7 +18779,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function setenv." }, + "message": { + "text": "from clause of term __fc_random_counter in function srandom." + }, "locations": [ { "physicalLocation": { @@ -15554,11 +18790,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 543, - "startColumn": 11, - "endLine": 543, - "endColumn": 17, - "byteLength": 6 + "startLine": 310, + "startColumn": 12, + "endLine": 310, + "endColumn": 31, + "byteLength": 19 } } } @@ -15568,20 +18804,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "valid_name." }, + "message": { "text": "behavior default! in function stpcpy." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/string.c", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 536, - "startColumn": 23, - "endLine": 536, - "endColumn": 46, - "byteLength": 23 + "startLine": 233, + "startColumn": 6, + "endLine": 240, + "endColumn": 1, + "byteLength": 139 } } } @@ -15591,20 +18827,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "valid_value." }, + "message": { "text": "valid_string_src." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/string.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 537, - "startColumn": 24, - "endLine": 537, - "endColumn": 48, - "byteLength": 24 + "startLine": 464, + "startColumn": 31, + "endLine": 464, + "endColumn": 53, + "byteLength": 22 } } } @@ -15614,19 +18850,19 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_ok_or_error." }, + "message": { "text": "room_string." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/string.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 541, - "startColumn": 30, - "endLine": 541, - "endColumn": 59, + "startLine": 465, + "startColumn": 26, + "endLine": 465, + "endColumn": 55, "byteLength": 29 } } @@ -15637,20 +18873,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function setenv." }, + "message": { "text": "separation." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/string.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 538, - "startColumn": 10, - "endLine": 538, - "endColumn": 17, - "byteLength": 7 + "startLine": 467, + "startColumn": 4, + "endLine": 467, + "endColumn": 59, + "byteLength": 55 } } } @@ -15660,22 +18896,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term \\result in function setenv." - }, + "message": { "text": "equal_contents." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/string.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 538, - "startColumn": 10, - "endLine": 538, - "endColumn": 17, - "byteLength": 7 + "startLine": 470, + "startColumn": 28, + "endLine": 470, + "endColumn": 49, + "byteLength": 21 } } } @@ -15685,22 +18919,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term __fc_env[0 ..] in function setenv." - }, + "message": { "text": "points_to_end." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/string.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 538, - "startColumn": 19, - "endLine": 538, - "endColumn": 32, - "byteLength": 13 + "startLine": 471, + "startColumn": 27, + "endLine": 471, + "endColumn": 57, + "byteLength": 30 } } } @@ -15710,20 +18942,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function srand." }, + "message": { "text": "assigns clause in function stpcpy." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/string.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 276, + "startLine": 468, "startColumn": 12, - "endLine": 276, - "endColumn": 17, - "byteLength": 5 + "endLine": 468, + "endColumn": 32, + "byteLength": 20 } } } @@ -15733,20 +18965,22 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function srand." }, + "message": { + "text": "from clause of term *(dest + (0 .. strlen{Old}(src))) in function stpcpy." + }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/string.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 275, + "startLine": 468, "startColumn": 12, - "endLine": 275, - "endColumn": 31, - "byteLength": 19 + "endLine": 468, + "endColumn": 32, + "byteLength": 20 } } } @@ -15757,21 +18991,21 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term __fc_random_counter in function srand." + "text": "from clause of term \\result in function stpcpy." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/string.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 275, + "startLine": 469, "startColumn": 12, - "endLine": 275, - "endColumn": 31, - "byteLength": 19 + "endLine": 469, + "endColumn": 19, + "byteLength": 7 } } } @@ -15781,19 +19015,19 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function srand48." }, + "message": { "text": "behavior default! in function stpncpy." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/string.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 298, - "startColumn": 12, - "endLine": 298, - "endColumn": 19, + "startLine": 630, + "startColumn": 13, + "endLine": 630, + "endColumn": 20, "byteLength": 7 } } @@ -15804,20 +19038,22 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "random48_initialized." }, + "message": { + "text": "behavior src_is_a_string in function stpncpy." + }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/string.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 296, - "startColumn": 32, - "endLine": 296, - "endColumn": 55, - "byteLength": 23 + "startLine": 630, + "startColumn": 13, + "endLine": 630, + "endColumn": 20, + "byteLength": 7 } } } @@ -15827,20 +19063,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function srand48." }, + "message": { "text": "behavior src_too_long in function stpncpy." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/string.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 294, - "startColumn": 10, - "endLine": 294, - "endColumn": 37, - "byteLength": 27 + "startLine": 630, + "startColumn": 13, + "endLine": 630, + "endColumn": 20, + "byteLength": 7 } } } @@ -15850,22 +19086,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term __fc_random48_counter[0 .. 2] in function srand48." - }, + "message": { "text": "valid_string_src." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/string.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 294, - "startColumn": 10, - "endLine": 294, - "endColumn": 37, - "byteLength": 27 + "startLine": 612, + "startColumn": 29, + "endLine": 612, + "endColumn": 55, + "byteLength": 26 } } } @@ -15875,22 +19109,43 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term __fc_random48_init in function srand48." - }, + "message": { "text": "valid_dest." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/string.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 295, - "startColumn": 10, - "endLine": 295, - "endColumn": 28, - "byteLength": 18 + "startLine": 613, + "startColumn": 23, + "endLine": 613, + "endColumn": 46, + "byteLength": 23 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "separation." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 614, + "startColumn": 23, + "endLine": 614, + "endColumn": 66, + "byteLength": 43 } } } @@ -15900,20 +19155,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function srandom." }, + "message": { "text": "src_has_nul." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/string.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 285, - "startColumn": 12, - "endLine": 285, - "endColumn": 19, - "byteLength": 7 + "startLine": 619, + "startColumn": 25, + "endLine": 619, + "endColumn": 40, + "byteLength": 15 } } } @@ -15923,20 +19178,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function srandom." }, + "message": { "text": "src_no_nul." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/string.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 284, - "startColumn": 12, - "endLine": 284, - "endColumn": 31, - "byteLength": 19 + "startLine": 626, + "startColumn": 24, + "endLine": 626, + "endColumn": 69, + "byteLength": 45 } } } @@ -15946,22 +19201,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term __fc_random_counter in function srandom." - }, + "message": { "text": "initialization." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/stdlib.h", + "uri": "libc/string.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 284, - "startColumn": 12, - "endLine": 284, - "endColumn": 31, - "byteLength": 19 + "startLine": 617, + "startColumn": 26, + "endLine": 617, + "endColumn": 55, + "byteLength": 29 } } } @@ -15971,20 +19224,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function stpcpy." }, + "message": { "text": "valid_string_dest." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.c", + "uri": "libc/string.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 230, - "startColumn": 6, - "endLine": 237, - "endColumn": 1, - "byteLength": 139 + "startLine": 620, + "startColumn": 31, + "endLine": 620, + "endColumn": 54, + "byteLength": 23 } } } @@ -15994,7 +19247,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "valid_string_src." }, + "message": { "text": "same_contents." }, "locations": [ { "physicalLocation": { @@ -16003,10 +19256,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 412, - "startColumn": 31, - "endLine": 412, - "endColumn": 53, + "startLine": 621, + "startColumn": 27, + "endLine": 621, + "endColumn": 49, "byteLength": 22 } } @@ -16017,7 +19270,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "room_string." }, + "message": { "text": "dest_nul_padded." }, "locations": [ { "physicalLocation": { @@ -16026,11 +19279,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 413, - "startColumn": 26, - "endLine": 413, - "endColumn": 55, - "byteLength": 29 + "startLine": 623, + "startColumn": 6, + "endLine": 623, + "endColumn": 62, + "byteLength": 56 } } } @@ -16040,7 +19293,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "separation." }, + "message": { "text": "result_points_to_nul." }, "locations": [ { "physicalLocation": { @@ -16049,11 +19302,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 415, - "startColumn": 4, - "endLine": 415, - "endColumn": 59, - "byteLength": 55 + "startLine": 624, + "startColumn": 34, + "endLine": 624, + "endColumn": 63, + "byteLength": 29 } } } @@ -16063,7 +19316,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "equal_contents." }, + "message": { "text": "same_partial_contents." }, "locations": [ { "physicalLocation": { @@ -16072,11 +19325,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 418, - "startColumn": 28, - "endLine": 418, - "endColumn": 49, - "byteLength": 21 + "startLine": 627, + "startColumn": 35, + "endLine": 627, + "endColumn": 61, + "byteLength": 26 } } } @@ -16086,7 +19339,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "points_to_end." }, + "message": { "text": "result_points_to_end." }, "locations": [ { "physicalLocation": { @@ -16095,11 +19348,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 419, - "startColumn": 27, - "endLine": 419, - "endColumn": 57, - "byteLength": 30 + "startLine": 628, + "startColumn": 34, + "endLine": 628, + "endColumn": 53, + "byteLength": 19 } } } @@ -16109,7 +19362,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function stpcpy." }, + "message": { "text": "assigns clause in function stpncpy." }, "locations": [ { "physicalLocation": { @@ -16118,11 +19371,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 416, - "startColumn": 12, - "endLine": 416, - "endColumn": 32, - "byteLength": 20 + "startLine": 615, + "startColumn": 10, + "endLine": 615, + "endColumn": 24, + "byteLength": 14 } } } @@ -16133,7 +19386,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term *(dest + (0 .. strlen{Old}(src))) in function stpcpy." + "text": "from clause of term *(dest + (0 .. n - 1)) in function stpncpy." }, "locations": [ { @@ -16143,11 +19396,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 416, - "startColumn": 12, - "endLine": 416, - "endColumn": 32, - "byteLength": 20 + "startLine": 615, + "startColumn": 10, + "endLine": 615, + "endColumn": 24, + "byteLength": 14 } } } @@ -16158,7 +19411,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term \\result in function stpcpy." + "text": "from clause of term \\result in function stpncpy." }, "locations": [ { @@ -16168,10 +19421,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 417, - "startColumn": 12, - "endLine": 417, - "endColumn": 19, + "startLine": 616, + "startColumn": 10, + "endLine": 616, + "endColumn": 17, "byteLength": 7 } } @@ -16191,9 +19444,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 183, + "startLine": 186, "startColumn": 4, - "endLine": 193, + "endLine": 196, "endColumn": 1, "byteLength": 284 } @@ -16260,9 +19513,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 183, + "startLine": 186, "startColumn": 4, - "endLine": 193, + "endLine": 196, "endColumn": 1, "byteLength": 284 } @@ -16308,9 +19561,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 255, + "startLine": 281, "startColumn": 13, - "endLine": 255, + "endLine": 281, "endColumn": 23, "byteLength": 10 } @@ -16331,10 +19584,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 247, - "startColumn": 36, - "endLine": 247, - "endColumn": 63, + "startLine": 271, + "startColumn": 34, + "endLine": 271, + "endColumn": 61, "byteLength": 27 } } @@ -16354,10 +19607,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 248, - "startColumn": 34, - "endLine": 248, - "endColumn": 59, + "startLine": 272, + "startColumn": 32, + "endLine": 272, + "endColumn": 57, "byteLength": 25 } } @@ -16377,11 +19630,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 252, + "startLine": 276, "startColumn": 4, - "endLine": 253, - "endColumn": 65, - "byteLength": 82 + "endLine": 278, + "endColumn": 49, + "byteLength": 104 } } } @@ -16400,9 +19653,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 255, + "startLine": 281, "startColumn": 13, - "endLine": 255, + "endLine": 281, "endColumn": 23, "byteLength": 10 } @@ -16425,10 +19678,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 249, - "startColumn": 12, - "endLine": 249, - "endColumn": 19, + "startLine": 273, + "startColumn": 10, + "endLine": 273, + "endColumn": 17, "byteLength": 7 } } @@ -16448,9 +19701,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 195, + "startLine": 198, "startColumn": 6, - "endLine": 204, + "endLine": 207, "endColumn": 1, "byteLength": 172 } @@ -16471,9 +19724,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 424, + "startLine": 476, "startColumn": 31, - "endLine": 424, + "endLine": 476, "endColumn": 53, "byteLength": 22 } @@ -16494,9 +19747,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 425, + "startLine": 477, "startColumn": 32, - "endLine": 425, + "endLine": 477, "endColumn": 50, "byteLength": 18 } @@ -16517,9 +19770,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 426, + "startLine": 478, "startColumn": 26, - "endLine": 426, + "endLine": 478, "endColumn": 70, "byteLength": 44 } @@ -16527,6 +19780,29 @@ } ] }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "separation." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 480, + "startColumn": 4, + "endLine": 480, + "endColumn": 72, + "byteLength": 68 + } + } + } + ] + }, { "ruleId": "user-spec", "kind": "pass", @@ -16540,9 +19816,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 429, + "startLine": 483, "startColumn": 28, - "endLine": 429, + "endLine": 483, "endColumn": 76, "byteLength": 48 } @@ -16563,9 +19839,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 432, + "startLine": 486, "startColumn": 4, - "endLine": 432, + "endLine": 486, "endColumn": 60, "byteLength": 56 } @@ -16586,9 +19862,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 433, + "startLine": 487, "startColumn": 34, - "endLine": 433, + "endLine": 487, "endColumn": 77, "byteLength": 43 } @@ -16609,9 +19885,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 434, + "startLine": 488, "startColumn": 24, - "endLine": 434, + "endLine": 488, "endColumn": 39, "byteLength": 15 } @@ -16632,9 +19908,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 427, + "startLine": 481, "startColumn": 12, - "endLine": 427, + "endLine": 481, "endColumn": 58, "byteLength": 46 } @@ -16657,9 +19933,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 427, + "startLine": 481, "startColumn": 12, - "endLine": 427, + "endLine": 481, "endColumn": 58, "byteLength": 46 } @@ -16682,9 +19958,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 430, + "startLine": 484, "startColumn": 12, - "endLine": 430, + "endLine": 484, "endColumn": 19, "byteLength": 7 } @@ -16707,9 +19983,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 198, + "startLine": 201, "startColumn": 13, - "endLine": 198, + "endLine": 201, "endColumn": 25, "byteLength": 12 } @@ -16721,7 +19997,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "error", - "message": { "text": "reachability of stmt line 198 in strcat." }, + "message": { "text": "reachability of stmt line 201 in strcat." }, "locations": [ { "physicalLocation": { @@ -16730,9 +20006,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 198, + "startLine": 201, "startColumn": 13, - "endLine": 198, + "endLine": 201, "endColumn": 25, "byteLength": 12 } @@ -16740,29 +20016,6 @@ } ] }, - { - "ruleId": "user-spec", - "kind": "pass", - "level": "none", - "message": { "text": "behavior default in function strchr." }, - "locations": [ - { - "physicalLocation": { - "artifactLocation": { - "uri": "libc/string.c", - "uriBaseId": "FRAMAC_SHARE" - }, - "region": { - "startLine": 251, - "startColumn": 6, - "endLine": 258, - "endColumn": 1, - "byteLength": 157 - } - } - } - ] - }, { "ruleId": "user-spec", "kind": "pass", @@ -16776,9 +20029,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 251, + "startLine": 254, "startColumn": 6, - "endLine": 258, + "endLine": 261, "endColumn": 1, "byteLength": 157 } @@ -16799,9 +20052,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 251, + "startLine": 254, "startColumn": 6, - "endLine": 258, + "endLine": 261, "endColumn": 1, "byteLength": 157 } @@ -16822,9 +20075,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 251, + "startLine": 254, "startColumn": 6, - "endLine": 258, + "endLine": 261, "endColumn": 1, "byteLength": 157 } @@ -16845,10 +20098,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 173, - "startColumn": 29, - "endLine": 173, - "endColumn": 49, + "startLine": 193, + "startColumn": 27, + "endLine": 193, + "endColumn": 47, "byteLength": 20 } } @@ -16868,9 +20121,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 176, + "startLine": 196, "startColumn": 24, - "endLine": 176, + "endLine": 196, "endColumn": 35, "byteLength": 11 } @@ -16891,9 +20144,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 183, + "startLine": 204, "startColumn": 28, - "endLine": 183, + "endLine": 204, "endColumn": 40, "byteLength": 12 } @@ -16901,6 +20154,29 @@ } ] }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "result_valid_string." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 197, + "startColumn": 33, + "endLine": 197, + "endColumn": 59, + "byteLength": 26 + } + } + } + ] + }, { "ruleId": "user-spec", "kind": "pass", @@ -16914,9 +20190,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 177, + "startLine": 198, "startColumn": 25, - "endLine": 177, + "endLine": 198, "endColumn": 44, "byteLength": 19 } @@ -16937,9 +20213,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 178, + "startLine": 199, "startColumn": 30, - "endLine": 178, + "endLine": 199, "endColumn": 66, "byteLength": 36 } @@ -16960,9 +20236,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 179, + "startLine": 200, "startColumn": 30, - "endLine": 179, + "endLine": 200, "endColumn": 59, "byteLength": 29 } @@ -16974,7 +20250,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_valid_string." }, + "message": { "text": "result_first_occurrence." }, "locations": [ { "physicalLocation": { @@ -16983,11 +20259,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 180, - "startColumn": 33, - "endLine": 180, - "endColumn": 59, - "byteLength": 26 + "startLine": 202, + "startColumn": 6, + "endLine": 202, + "endColumn": 57, + "byteLength": 51 } } } @@ -16997,7 +20273,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_first_occur." }, + "message": { "text": "result_null." }, "locations": [ { "physicalLocation": { @@ -17006,11 +20282,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 181, - "startColumn": 32, - "endLine": 181, - "endColumn": 79, - "byteLength": 47 + "startLine": 205, + "startColumn": 25, + "endLine": 205, + "endColumn": 41, + "byteLength": 16 } } } @@ -17020,20 +20296,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_null." }, + "message": { "text": "assigns clause in function strchr." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.h", + "uri": "libc/string.c", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 184, - "startColumn": 25, - "endLine": 184, - "endColumn": 41, - "byteLength": 16 + "startLine": 254, + "startColumn": 6, + "endLine": 261, + "endColumn": 1, + "byteLength": 157 } } } @@ -17043,7 +20319,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_null_or_same_base." }, + "message": { + "text": "from clause of term \\result in function strchr." + }, "locations": [ { "physicalLocation": { @@ -17052,11 +20330,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 187, - "startColumn": 4, - "endLine": 187, - "endColumn": 60, - "byteLength": 56 + "startLine": 194, + "startColumn": 10, + "endLine": 194, + "endColumn": 17, + "byteLength": 7 } } } @@ -17066,7 +20344,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function strchr." }, + "message": { "text": "complete clause in function strchr." }, "locations": [ { "physicalLocation": { @@ -17075,9 +20353,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 251, + "startLine": 254, "startColumn": 6, - "endLine": 258, + "endLine": 261, "endColumn": 1, "byteLength": 157 } @@ -17089,22 +20367,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term \\result in function strchr." - }, + "message": { "text": "disjoint clause in function strchr." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.h", + "uri": "libc/string.c", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 174, - "startColumn": 12, - "endLine": 174, - "endColumn": 19, - "byteLength": 7 + "startLine": 254, + "startColumn": 6, + "endLine": 261, + "endColumn": 1, + "byteLength": 157 } } } @@ -17123,9 +20399,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 195, + "startLine": 217, "startColumn": 13, - "endLine": 195, + "endLine": 217, "endColumn": 22, "byteLength": 9 } @@ -17146,16 +20422,39 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 191, - "startColumn": 29, - "endLine": 191, - "endColumn": 49, + "startLine": 212, + "startColumn": 27, + "endLine": 212, + "endColumn": 47, "byteLength": 20 } } } ] }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "result_valid_string." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 214, + "startColumn": 31, + "endLine": 214, + "endColumn": 57, + "byteLength": 26 + } + } + } + ] + }, { "ruleId": "user-spec", "kind": "pass", @@ -17169,11 +20468,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 193, - "startColumn": 30, - "endLine": 193, + "startLine": 215, + "startColumn": 28, + "endLine": 215, "endColumn": 64, - "byteLength": 34 + "byteLength": 36 } } } @@ -17192,9 +20491,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 195, + "startLine": 217, "startColumn": 13, - "endLine": 195, + "endLine": 217, "endColumn": 22, "byteLength": 9 } @@ -17217,10 +20516,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 192, - "startColumn": 12, - "endLine": 192, - "endColumn": 19, + "startLine": 213, + "startColumn": 10, + "endLine": 213, + "endColumn": 17, "byteLength": 7 } } @@ -17263,9 +20562,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 153, + "startLine": 170, "startColumn": 30, - "endLine": 153, + "endLine": 170, "endColumn": 51, "byteLength": 21 } @@ -17286,9 +20585,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 154, + "startLine": 171, "startColumn": 30, - "endLine": 154, + "endLine": 171, "endColumn": 51, "byteLength": 21 } @@ -17309,9 +20608,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 156, + "startLine": 174, "startColumn": 26, - "endLine": 156, + "endLine": 174, "endColumn": 50, "byteLength": 24 } @@ -17357,9 +20656,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 155, + "startLine": 172, "startColumn": 12, - "endLine": 155, + "endLine": 172, "endColumn": 19, "byteLength": 7 } @@ -17380,9 +20679,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 171, + "startLine": 190, "startColumn": 11, - "endLine": 171, + "endLine": 190, "endColumn": 18, "byteLength": 7 } @@ -17403,9 +20702,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 167, + "startLine": 185, "startColumn": 30, - "endLine": 167, + "endLine": 185, "endColumn": 51, "byteLength": 21 } @@ -17426,9 +20725,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 168, + "startLine": 186, "startColumn": 30, - "endLine": 168, + "endLine": 186, "endColumn": 51, "byteLength": 21 } @@ -17449,9 +20748,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 171, + "startLine": 190, "startColumn": 11, - "endLine": 171, + "endLine": 190, "endColumn": 18, "byteLength": 7 } @@ -17474,9 +20773,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 169, + "startLine": 187, "startColumn": 12, - "endLine": 169, + "endLine": 187, "endColumn": 19, "byteLength": 7 } @@ -17497,9 +20796,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 220, + "startLine": 223, "startColumn": 6, - "endLine": 227, + "endLine": 230, "endColumn": 1, "byteLength": 135 } @@ -17520,9 +20819,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 367, + "startLine": 419, "startColumn": 31, - "endLine": 367, + "endLine": 419, "endColumn": 53, "byteLength": 22 } @@ -17543,9 +20842,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 368, + "startLine": 420, "startColumn": 26, - "endLine": 368, + "endLine": 420, "endColumn": 55, "byteLength": 29 } @@ -17566,9 +20865,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 370, + "startLine": 422, "startColumn": 4, - "endLine": 370, + "endLine": 422, "endColumn": 59, "byteLength": 55 } @@ -17589,9 +20888,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 373, + "startLine": 425, "startColumn": 28, - "endLine": 373, + "endLine": 425, "endColumn": 49, "byteLength": 21 } @@ -17612,9 +20911,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 374, + "startLine": 426, "startColumn": 24, - "endLine": 374, + "endLine": 426, "endColumn": 39, "byteLength": 15 } @@ -17635,9 +20934,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 371, + "startLine": 423, "startColumn": 12, - "endLine": 371, + "endLine": 423, "endColumn": 32, "byteLength": 20 } @@ -17660,9 +20959,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 371, + "startLine": 423, "startColumn": 12, - "endLine": 371, + "endLine": 423, "endColumn": 32, "byteLength": 20 } @@ -17685,9 +20984,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 372, + "startLine": 424, "startColumn": 12, - "endLine": 372, + "endLine": 424, "endColumn": 19, "byteLength": 7 } @@ -17708,9 +21007,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 218, + "startLine": 235, "startColumn": 14, - "endLine": 218, + "endLine": 235, "endColumn": 21, "byteLength": 7 } @@ -17731,10 +21030,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 213, - "startColumn": 29, - "endLine": 213, - "endColumn": 49, + "startLine": 229, + "startColumn": 27, + "endLine": 229, + "endColumn": 47, "byteLength": 20 } } @@ -17752,12 +21051,12 @@ "artifactLocation": { "uri": "libc/string.h", "uriBaseId": "FRAMAC_SHARE" - }, - "region": { - "startLine": 214, - "startColumn": 34, - "endLine": 214, - "endColumn": 59, + }, + "region": { + "startLine": 230, + "startColumn": 32, + "endLine": 230, + "endColumn": 57, "byteLength": 25 } } @@ -17777,10 +21076,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 216, - "startColumn": 28, - "endLine": 216, - "endColumn": 53, + "startLine": 233, + "startColumn": 26, + "endLine": 233, + "endColumn": 51, "byteLength": 25 } } @@ -17800,9 +21099,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 218, + "startLine": 235, "startColumn": 14, - "endLine": 218, + "endLine": 235, "endColumn": 21, "byteLength": 7 } @@ -17825,10 +21124,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 215, - "startColumn": 12, - "endLine": 215, - "endColumn": 19, + "startLine": 231, + "startColumn": 10, + "endLine": 231, + "endColumn": 17, "byteLength": 7 } } @@ -17848,9 +21147,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 316, + "startLine": 319, "startColumn": 6, - "endLine": 326, + "endLine": 329, "endColumn": 1, "byteLength": 158 } @@ -17871,9 +21170,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 316, + "startLine": 319, "startColumn": 6, - "endLine": 326, + "endLine": 329, "endColumn": 1, "byteLength": 158 } @@ -17894,9 +21193,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 316, + "startLine": 319, "startColumn": 6, - "endLine": 326, + "endLine": 329, "endColumn": 1, "byteLength": 158 } @@ -17917,10 +21216,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 484, - "startColumn": 29, - "endLine": 484, - "endColumn": 49, + "startLine": 565, + "startColumn": 27, + "endLine": 565, + "endColumn": 47, "byteLength": 20 } } @@ -17940,11 +21239,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 488, + "startLine": 569, "startColumn": 26, - "endLine": 488, - "endColumn": 49, - "byteLength": 23 + "endLine": 569, + "endColumn": 51, + "byteLength": 25 } } } @@ -17963,11 +21262,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 495, + "startLine": 577, "startColumn": 29, - "endLine": 495, - "endColumn": 53, - "byteLength": 24 + "endLine": 577, + "endColumn": 55, + "byteLength": 26 } } } @@ -17986,11 +21285,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 491, + "startLine": 573, "startColumn": 24, - "endLine": 491, - "endColumn": 49, - "byteLength": 25 + "endLine": 573, + "endColumn": 51, + "byteLength": 27 } } } @@ -18009,10 +21308,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 493, - "startColumn": 4, - "endLine": 493, - "endColumn": 51, + "startLine": 575, + "startColumn": 6, + "endLine": 575, + "endColumn": 53, "byteLength": 47 } } @@ -18032,9 +21331,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 498, + "startLine": 580, "startColumn": 25, - "endLine": 498, + "endLine": 580, "endColumn": 41, "byteLength": 16 } @@ -18055,9 +21354,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 489, + "startLine": 570, "startColumn": 12, - "endLine": 489, + "endLine": 570, "endColumn": 28, "byteLength": 16 } @@ -18078,9 +21377,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 316, + "startLine": 319, "startColumn": 6, - "endLine": 326, + "endLine": 329, "endColumn": 1, "byteLength": 158 } @@ -18101,9 +21400,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 316, + "startLine": 319, "startColumn": 6, - "endLine": 326, + "endLine": 329, "endColumn": 1, "byteLength": 158 } @@ -18126,9 +21425,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 489, + "startLine": 570, "startColumn": 12, - "endLine": 489, + "endLine": 570, "endColumn": 28, "byteLength": 16 } @@ -18151,9 +21450,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 490, + "startLine": 572, "startColumn": 12, - "endLine": 490, + "endLine": 572, "endColumn": 19, "byteLength": 7 } @@ -18176,10 +21475,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 486, - "startColumn": 12, - "endLine": 486, - "endColumn": 19, + "startLine": 567, + "startColumn": 10, + "endLine": 567, + "endColumn": 17, "byteLength": 7 } } @@ -18201,9 +21500,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 496, + "startLine": 579, "startColumn": 12, - "endLine": 496, + "endLine": 579, "endColumn": 19, "byteLength": 7 } @@ -18224,10 +21523,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 485, - "startColumn": 14, - "endLine": 485, - "endColumn": 21, + "startLine": 566, + "startColumn": 12, + "endLine": 566, + "endColumn": 19, "byteLength": 7 } } @@ -18247,9 +21546,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 316, + "startLine": 319, "startColumn": 6, - "endLine": 326, + "endLine": 329, "endColumn": 1, "byteLength": 158 } @@ -18272,9 +21571,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 318, + "startLine": 321, "startColumn": 13, - "endLine": 318, + "endLine": 321, "endColumn": 22, "byteLength": 9 } @@ -18286,7 +21585,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "error", - "message": { "text": "reachability of stmt line 318 in strdup." }, + "message": { "text": "reachability of stmt line 321 in strdup." }, "locations": [ { "physicalLocation": { @@ -18295,9 +21594,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 318, + "startLine": 321, "startColumn": 13, - "endLine": 318, + "endLine": 321, "endColumn": 22, "byteLength": 9 } @@ -18318,9 +21617,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 324, + "startLine": 327, "startColumn": 2, - "endLine": 324, + "endLine": 327, "endColumn": 17, "byteLength": 15 } @@ -18341,9 +21640,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 324, + "startLine": 327, "startColumn": 2, - "endLine": 324, + "endLine": 327, "endColumn": 17, "byteLength": 15 } @@ -18364,9 +21663,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 324, + "startLine": 327, "startColumn": 2, - "endLine": 324, + "endLine": 327, "endColumn": 17, "byteLength": 15 } @@ -18378,7 +21677,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "error", - "message": { "text": "reachability of stmt line 324 in strdup." }, + "message": { "text": "reachability of stmt line 327 in strdup." }, "locations": [ { "physicalLocation": { @@ -18387,9 +21686,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 324, + "startLine": 327, "startColumn": 2, - "endLine": 324, + "endLine": 327, "endColumn": 17, "byteLength": 15 } @@ -18410,9 +21709,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 302, + "startLine": 305, "startColumn": 6, - "endLine": 313, + "endLine": 316, "endColumn": 1, "byteLength": 216 } @@ -18433,9 +21732,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 359, + "startLine": 411, "startColumn": 33, - "endLine": 359, + "endLine": 411, "endColumn": 59, "byteLength": 26 } @@ -18456,9 +21755,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 360, + "startLine": 412, "startColumn": 35, - "endLine": 360, + "endLine": 412, "endColumn": 51, "byteLength": 16 } @@ -18479,9 +21778,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 361, + "startLine": 413, "startColumn": 33, - "endLine": 361, + "endLine": 413, "endColumn": 59, "byteLength": 26 } @@ -18502,9 +21801,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 302, + "startLine": 305, "startColumn": 6, - "endLine": 313, + "endLine": 316, "endColumn": 1, "byteLength": 216 } @@ -18527,9 +21826,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 358, + "startLine": 410, "startColumn": 12, - "endLine": 358, + "endLine": 410, "endColumn": 19, "byteLength": 7 } @@ -18550,9 +21849,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 307, + "startLine": 310, "startColumn": 4, - "endLine": 307, + "endLine": 310, "endColumn": 43, "byteLength": 39 } @@ -18564,7 +21863,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "error", - "message": { "text": "reachability of stmt line 307 in strerror." }, + "message": { "text": "reachability of stmt line 310 in strerror." }, "locations": [ { "physicalLocation": { @@ -18573,9 +21872,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 307, + "startLine": 310, "startColumn": 4, - "endLine": 307, + "endLine": 310, "endColumn": 43, "byteLength": 39 } @@ -18596,9 +21895,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 471, + "startLine": 536, "startColumn": 14, - "endLine": 471, + "endLine": 536, "endColumn": 21, "byteLength": 7 } @@ -18619,9 +21918,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 464, + "startLine": 526, "startColumn": 31, - "endLine": 464, + "endLine": 526, "endColumn": 53, "byteLength": 22 } @@ -18642,9 +21941,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 465, + "startLine": 527, "startColumn": 32, - "endLine": 465, + "endLine": 527, "endColumn": 50, "byteLength": 18 } @@ -18665,9 +21964,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 466, + "startLine": 528, "startColumn": 27, - "endLine": 466, + "endLine": 528, "endColumn": 48, "byteLength": 21 } @@ -18675,6 +21974,29 @@ } ] }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "separation." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 530, + "startColumn": 4, + "endLine": 531, + "endColumn": 31, + "byteLength": 89 + } + } + } + ] + }, { "ruleId": "user-spec", "kind": "pass", @@ -18688,9 +22010,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 469, + "startLine": 534, "startColumn": 28, - "endLine": 469, + "endLine": 534, "endColumn": 65, "byteLength": 37 } @@ -18711,9 +22033,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 467, + "startLine": 532, "startColumn": 12, - "endLine": 467, + "endLine": 532, "endColumn": 33, "byteLength": 21 } @@ -18736,9 +22058,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 467, + "startLine": 532, "startColumn": 12, - "endLine": 467, + "endLine": 532, "endColumn": 33, "byteLength": 21 } @@ -18761,9 +22083,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 468, + "startLine": 533, "startColumn": 12, - "endLine": 468, + "endLine": 533, "endColumn": 19, "byteLength": 7 } @@ -18784,9 +22106,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 409, + "startLine": 461, "startColumn": 7, - "endLine": 409, + "endLine": 461, "endColumn": 14, "byteLength": 7 } @@ -18807,9 +22129,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 400, + "startLine": 452, "startColumn": 31, - "endLine": 400, + "endLine": 452, "endColumn": 53, "byteLength": 22 } @@ -18830,9 +22152,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 401, + "startLine": 453, "startColumn": 27, - "endLine": 401, + "endLine": 453, "endColumn": 48, "byteLength": 21 } @@ -18853,9 +22175,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 403, + "startLine": 455, "startColumn": 4, - "endLine": 403, + "endLine": 455, "endColumn": 61, "byteLength": 57 } @@ -18876,9 +22198,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 406, + "startLine": 458, "startColumn": 28, - "endLine": 406, + "endLine": 458, "endColumn": 73, "byteLength": 45 } @@ -18899,9 +22221,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 407, + "startLine": 459, "startColumn": 28, - "endLine": 407, + "endLine": 459, "endColumn": 50, "byteLength": 22 } @@ -18922,9 +22244,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 404, + "startLine": 456, "startColumn": 12, - "endLine": 404, + "endLine": 456, "endColumn": 24, "byteLength": 12 } @@ -18947,9 +22269,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 404, + "startLine": 456, "startColumn": 12, - "endLine": 404, + "endLine": 456, "endColumn": 24, "byteLength": 12 } @@ -18972,9 +22294,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 405, + "startLine": 457, "startColumn": 12, - "endLine": 405, + "endLine": 457, "endColumn": 19, "byteLength": 7 } @@ -19018,9 +22340,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 141, + "startLine": 158, "startColumn": 29, - "endLine": 141, + "endLine": 158, "endColumn": 49, "byteLength": 20 } @@ -19041,9 +22363,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 143, + "startLine": 160, "startColumn": 26, - "endLine": 143, + "endLine": 160, "endColumn": 46, "byteLength": 20 } @@ -19089,9 +22411,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 142, + "startLine": 159, "startColumn": 12, - "endLine": 142, + "endLine": 159, "endColumn": 19, "byteLength": 7 } @@ -19229,9 +22551,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 207, + "startLine": 210, "startColumn": 6, - "endLine": 218, + "endLine": 221, "endColumn": 1, "byteLength": 231 } @@ -19252,9 +22574,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 207, + "startLine": 210, "startColumn": 6, - "endLine": 218, + "endLine": 221, "endColumn": 1, "byteLength": 231 } @@ -19275,9 +22597,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 207, + "startLine": 210, "startColumn": 6, - "endLine": 218, + "endLine": 221, "endColumn": 1, "byteLength": 231 } @@ -19298,10 +22620,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 439, - "startColumn": 32, - "endLine": 439, - "endColumn": 58, + "startLine": 497, + "startColumn": 30, + "endLine": 497, + "endColumn": 56, "byteLength": 26 } } @@ -19321,16 +22643,39 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 440, - "startColumn": 32, - "endLine": 440, - "endColumn": 50, + "startLine": 498, + "startColumn": 30, + "endLine": 498, + "endColumn": 48, "byteLength": 18 } } } ] }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "separation." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 500, + "startColumn": 4, + "endLine": 501, + "endColumn": 40, + "byteLength": 91 + } + } + } + ] + }, { "ruleId": "user-spec", "kind": "pass", @@ -19344,9 +22689,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 446, + "startLine": 507, "startColumn": 26, - "endLine": 446, + "endLine": 507, "endColumn": 74, "byteLength": 48 } @@ -19367,9 +22712,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 454, + "startLine": 514, "startColumn": 26, - "endLine": 454, + "endLine": 514, "endColumn": 64, "byteLength": 38 } @@ -19381,7 +22726,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "valid_string_src_fits." }, + "message": { "text": "src_fits." }, "locations": [ { "physicalLocation": { @@ -19390,11 +22735,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 445, - "startColumn": 35, - "endLine": 445, - "endColumn": 77, - "byteLength": 42 + "startLine": 506, + "startColumn": 22, + "endLine": 506, + "endColumn": 41, + "byteLength": 19 } } } @@ -19404,7 +22749,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "valid_string_src_too_large." }, + "message": { "text": "src_too_large." }, "locations": [ { "physicalLocation": { @@ -19413,11 +22758,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 453, - "startColumn": 4, - "endLine": 453, - "endColumn": 49, - "byteLength": 45 + "startLine": 513, + "startColumn": 27, + "endLine": 513, + "endColumn": 47, + "byteLength": 20 } } } @@ -19436,10 +22781,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 443, - "startColumn": 24, - "endLine": 443, - "endColumn": 39, + "startLine": 504, + "startColumn": 22, + "endLine": 504, + "endColumn": 37, "byteLength": 15 } } @@ -19459,9 +22804,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 450, + "startLine": 511, "startColumn": 28, - "endLine": 450, + "endLine": 511, "endColumn": 76, "byteLength": 48 } @@ -19482,9 +22827,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 458, + "startLine": 518, "startColumn": 36, - "endLine": 458, + "endLine": 518, "endColumn": 74, "byteLength": 38 } @@ -19505,11 +22850,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 447, + "startLine": 508, "startColumn": 12, - "endLine": 447, - "endColumn": 58, - "byteLength": 46 + "endLine": 508, + "endColumn": 60, + "byteLength": 48 } } } @@ -19528,10 +22873,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 441, - "startColumn": 12, - "endLine": 441, - "endColumn": 50, + "startLine": 502, + "startColumn": 10, + "endLine": 502, + "endColumn": 48, "byteLength": 38 } } @@ -19551,11 +22896,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 455, + "startLine": 515, "startColumn": 12, - "endLine": 455, - "endColumn": 48, - "byteLength": 36 + "endLine": 515, + "endColumn": 50, + "byteLength": 38 } } } @@ -19576,11 +22921,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 447, + "startLine": 508, "startColumn": 12, - "endLine": 447, - "endColumn": 58, - "byteLength": 46 + "endLine": 508, + "endColumn": 60, + "byteLength": 48 } } } @@ -19601,9 +22946,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 449, + "startLine": 510, "startColumn": 12, - "endLine": 449, + "endLine": 510, "endColumn": 19, "byteLength": 7 } @@ -19626,10 +22971,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 441, - "startColumn": 12, - "endLine": 441, - "endColumn": 50, + "startLine": 502, + "startColumn": 10, + "endLine": 502, + "endColumn": 48, "byteLength": 38 } } @@ -19651,10 +22996,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 442, - "startColumn": 12, - "endLine": 442, - "endColumn": 19, + "startLine": 503, + "startColumn": 10, + "endLine": 503, + "endColumn": 17, "byteLength": 7 } } @@ -19676,11 +23021,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 455, + "startLine": 515, "startColumn": 12, - "endLine": 455, - "endColumn": 48, - "byteLength": 36 + "endLine": 515, + "endColumn": 50, + "byteLength": 38 } } } @@ -19701,9 +23046,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 457, + "startLine": 517, "startColumn": 12, - "endLine": 457, + "endLine": 517, "endColumn": 19, "byteLength": 7 } @@ -19711,6 +23056,52 @@ } ] }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "complete clause in function strncat." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.c", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 210, + "startColumn": 6, + "endLine": 221, + "endColumn": 1, + "byteLength": 231 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "disjoint clause in function strncat." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.c", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 210, + "startColumn": 6, + "endLine": 221, + "endColumn": 1, + "byteLength": 231 + } + } + } + ] + }, { "ruleId": "user-spec", "kind": "pass", @@ -19726,9 +23117,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 209, + "startLine": 212, "startColumn": 20, - "endLine": 209, + "endLine": 212, "endColumn": 32, "byteLength": 12 } @@ -19740,7 +23131,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "error", - "message": { "text": "reachability of stmt line 209 in strncat." }, + "message": { "text": "reachability of stmt line 212 in strncat." }, "locations": [ { "physicalLocation": { @@ -19749,9 +23140,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 209, + "startLine": 212, "startColumn": 20, - "endLine": 209, + "endLine": 212, "endColumn": 32, "byteLength": 12 } @@ -19795,9 +23186,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 160, + "startLine": 178, "startColumn": 30, - "endLine": 160, + "endLine": 178, "endColumn": 55, "byteLength": 25 } @@ -19818,9 +23209,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 161, + "startLine": 179, "startColumn": 30, - "endLine": 161, + "endLine": 179, "endColumn": 55, "byteLength": 25 } @@ -19841,9 +23232,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 163, + "startLine": 181, "startColumn": 26, - "endLine": 163, + "endLine": 181, "endColumn": 53, "byteLength": 27 } @@ -19889,9 +23280,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 162, + "startLine": 180, "startColumn": 12, - "endLine": 162, + "endLine": 180, "endColumn": 19, "byteLength": 7 } @@ -19912,9 +23303,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 239, + "startLine": 242, "startColumn": 6, - "endLine": 249, + "endLine": 252, "endColumn": 1, "byteLength": 197 } @@ -19935,9 +23326,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 239, + "startLine": 242, "startColumn": 6, - "endLine": 249, + "endLine": 252, "endColumn": 1, "byteLength": 197 } @@ -19958,9 +23349,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 239, + "startLine": 242, "startColumn": 6, - "endLine": 249, + "endLine": 252, "endColumn": 1, "byteLength": 197 } @@ -19981,9 +23372,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 379, + "startLine": 431, "startColumn": 32, - "endLine": 379, + "endLine": 431, "endColumn": 58, "byteLength": 26 } @@ -20004,9 +23395,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 380, + "startLine": 432, "startColumn": 27, - "endLine": 380, + "endLine": 432, "endColumn": 50, "byteLength": 23 } @@ -20027,9 +23418,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 382, + "startLine": 434, "startColumn": 4, - "endLine": 382, + "endLine": 434, "endColumn": 43, "byteLength": 39 } @@ -20050,9 +23441,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 388, + "startLine": 440, "startColumn": 22, - "endLine": 388, + "endLine": 440, "endColumn": 37, "byteLength": 15 } @@ -20073,9 +23464,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 391, + "startLine": 443, "startColumn": 26, - "endLine": 391, + "endLine": 443, "endColumn": 42, "byteLength": 16 } @@ -20096,9 +23487,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 385, + "startLine": 437, "startColumn": 24, - "endLine": 385, + "endLine": 437, "endColumn": 39, "byteLength": 15 } @@ -20119,9 +23510,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 386, + "startLine": 438, "startColumn": 28, - "endLine": 386, + "endLine": 438, "endColumn": 57, "byteLength": 29 } @@ -20142,9 +23533,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 389, + "startLine": 441, "startColumn": 30, - "endLine": 389, + "endLine": 441, "endColumn": 51, "byteLength": 21 } @@ -20165,9 +23556,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 392, + "startLine": 444, "startColumn": 26, - "endLine": 392, + "endLine": 444, "endColumn": 60, "byteLength": 34 } @@ -20188,9 +23579,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 383, + "startLine": 435, "startColumn": 12, - "endLine": 383, + "endLine": 435, "endColumn": 26, "byteLength": 14 } @@ -20213,9 +23604,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 383, + "startLine": 435, "startColumn": 12, - "endLine": 383, + "endLine": 435, "endColumn": 26, "byteLength": 14 } @@ -20238,9 +23629,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 384, + "startLine": 436, "startColumn": 12, - "endLine": 384, + "endLine": 436, "endColumn": 19, "byteLength": 7 } @@ -20261,9 +23652,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 329, + "startLine": 332, "startColumn": 6, - "endLine": 344, + "endLine": 347, "endColumn": 1, "byteLength": 290 } @@ -20284,9 +23675,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 329, + "startLine": 332, "startColumn": 6, - "endLine": 344, + "endLine": 347, "endColumn": 1, "byteLength": 290 } @@ -20309,9 +23700,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 329, + "startLine": 332, "startColumn": 6, - "endLine": 344, + "endLine": 347, "endColumn": 1, "byteLength": 290 } @@ -20332,10 +23723,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 502, - "startColumn": 29, - "endLine": 502, - "endColumn": 49, + "startLine": 588, + "startColumn": 27, + "endLine": 588, + "endColumn": 47, "byteLength": 20 } } @@ -20355,11 +23746,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 507, + "startLine": 593, "startColumn": 26, - "endLine": 507, - "endColumn": 60, - "byteLength": 34 + "endLine": 593, + "endColumn": 57, + "byteLength": 31 } } } @@ -20378,11 +23769,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 517, + "startLine": 603, "startColumn": 29, - "endLine": 517, - "endColumn": 64, - "byteLength": 35 + "endLine": 603, + "endColumn": 61, + "byteLength": 32 } } } @@ -20401,11 +23792,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 511, + "startLine": 597, "startColumn": 24, - "endLine": 511, - "endColumn": 60, - "byteLength": 36 + "endLine": 597, + "endColumn": 58, + "byteLength": 34 } } } @@ -20426,11 +23817,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 513, - "startColumn": 4, - "endLine": 515, - "endColumn": 29, - "byteLength": 124 + "startLine": 599, + "startColumn": 6, + "endLine": 601, + "endColumn": 31, + "byteLength": 125 } } } @@ -20449,9 +23840,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 520, + "startLine": 606, "startColumn": 25, - "endLine": 520, + "endLine": 606, "endColumn": 41, "byteLength": 16 } @@ -20472,9 +23863,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 508, + "startLine": 594, "startColumn": 12, - "endLine": 508, + "endLine": 594, "endColumn": 28, "byteLength": 16 } @@ -20495,9 +23886,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 329, + "startLine": 332, "startColumn": 6, - "endLine": 344, + "endLine": 347, "endColumn": 1, "byteLength": 290 } @@ -20518,9 +23909,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 329, + "startLine": 332, "startColumn": 6, - "endLine": 344, + "endLine": 347, "endColumn": 1, "byteLength": 290 } @@ -20543,9 +23934,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 508, + "startLine": 594, "startColumn": 12, - "endLine": 508, + "endLine": 594, "endColumn": 28, "byteLength": 16 } @@ -20568,9 +23959,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 509, + "startLine": 595, "startColumn": 12, - "endLine": 509, + "endLine": 595, "endColumn": 19, "byteLength": 7 } @@ -20593,10 +23984,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 504, - "startColumn": 12, - "endLine": 504, - "endColumn": 19, + "startLine": 590, + "startColumn": 10, + "endLine": 590, + "endColumn": 17, "byteLength": 7 } } @@ -20618,9 +24009,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 518, + "startLine": 605, "startColumn": 12, - "endLine": 518, + "endLine": 605, "endColumn": 19, "byteLength": 7 } @@ -20643,10 +24034,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 503, - "startColumn": 14, - "endLine": 503, - "endColumn": 21, + "startLine": 589, + "startColumn": 12, + "endLine": 589, + "endColumn": 19, "byteLength": 7 } } @@ -20668,9 +24059,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 329, + "startLine": 332, "startColumn": 6, - "endLine": 344, + "endLine": 347, "endColumn": 1, "byteLength": 290 } @@ -20691,9 +24082,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 341, + "startLine": 344, "startColumn": 2, - "endLine": 341, + "endLine": 344, "endColumn": 17, "byteLength": 15 } @@ -20714,9 +24105,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 341, + "startLine": 344, "startColumn": 2, - "endLine": 341, + "endLine": 344, "endColumn": 17, "byteLength": 15 } @@ -20737,9 +24128,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 341, + "startLine": 344, "startColumn": 2, - "endLine": 341, + "endLine": 344, "endColumn": 17, "byteLength": 15 } @@ -20751,7 +24142,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "error", - "message": { "text": "reachability of stmt line 341 in strndup." }, + "message": { "text": "reachability of stmt line 344 in strndup." }, "locations": [ { "physicalLocation": { @@ -20760,9 +24151,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 341, + "startLine": 344, "startColumn": 2, - "endLine": 341, + "endLine": 344, "endColumn": 17, "byteLength": 15 } @@ -20806,9 +24197,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 147, + "startLine": 164, "startColumn": 29, - "endLine": 147, + "endLine": 164, "endColumn": 53, "byteLength": 24 } @@ -20829,9 +24220,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 149, + "startLine": 166, "startColumn": 28, - "endLine": 149, + "endLine": 166, "endColumn": 64, "byteLength": 36 } @@ -20877,9 +24268,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 148, + "startLine": 165, "startColumn": 12, - "endLine": 148, + "endLine": 165, "endColumn": 19, "byteLength": 7 } @@ -20900,9 +24291,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 234, + "startLine": 255, "startColumn": 13, - "endLine": 234, + "endLine": 255, "endColumn": 20, "byteLength": 7 } @@ -20923,10 +24314,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 228, - "startColumn": 29, - "endLine": 228, - "endColumn": 49, + "startLine": 247, + "startColumn": 27, + "endLine": 247, + "endColumn": 47, "byteLength": 20 } } @@ -20946,10 +24337,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 229, - "startColumn": 34, - "endLine": 229, - "endColumn": 59, + "startLine": 248, + "startColumn": 32, + "endLine": 248, + "endColumn": 57, "byteLength": 25 } } @@ -20969,11 +24360,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 232, + "startLine": 252, "startColumn": 4, - "endLine": 232, - "endColumn": 60, - "byteLength": 56 + "endLine": 253, + "endColumn": 72, + "byteLength": 92 } } } @@ -20992,9 +24383,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 234, + "startLine": 255, "startColumn": 13, - "endLine": 234, + "endLine": 255, "endColumn": 20, "byteLength": 7 } @@ -21017,39 +24408,16 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 230, - "startColumn": 12, - "endLine": 230, - "endColumn": 19, + "startLine": 249, + "startColumn": 10, + "endLine": 249, + "endColumn": 17, "byteLength": 7 } } } ] }, - { - "ruleId": "user-spec", - "kind": "pass", - "level": "none", - "message": { "text": "behavior default in function strrchr." }, - "locations": [ - { - "physicalLocation": { - "artifactLocation": { - "uri": "libc/string.c", - "uriBaseId": "FRAMAC_SHARE" - }, - "region": { - "startLine": 260, - "startColumn": 6, - "endLine": 266, - "endColumn": 1, - "byteLength": 164 - } - } - } - ] - }, { "ruleId": "user-spec", "kind": "pass", @@ -21063,55 +24431,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 260, - "startColumn": 6, - "endLine": 266, - "endColumn": 1, - "byteLength": 164 - } - } - } - ] - }, - { - "ruleId": "user-spec", - "kind": "pass", - "level": "none", - "message": { "text": "behavior found in function strrchr." }, - "locations": [ - { - "physicalLocation": { - "artifactLocation": { - "uri": "libc/string.c", - "uriBaseId": "FRAMAC_SHARE" - }, - "region": { - "startLine": 260, - "startColumn": 6, - "endLine": 266, - "endColumn": 1, - "byteLength": 164 - } - } - } - ] - }, - { - "ruleId": "user-spec", - "kind": "pass", - "level": "none", - "message": { "text": "behavior not_found in function strrchr." }, - "locations": [ - { - "physicalLocation": { - "artifactLocation": { - "uri": "libc/string.c", - "uriBaseId": "FRAMAC_SHARE" - }, - "region": { - "startLine": 260, + "startLine": 263, "startColumn": 6, - "endLine": 266, + "endLine": 269, "endColumn": 1, "byteLength": 164 } @@ -21132,10 +24454,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 197, - "startColumn": 29, - "endLine": 197, - "endColumn": 49, + "startLine": 220, + "startColumn": 27, + "endLine": 220, + "endColumn": 47, "byteLength": 20 } } @@ -21146,7 +24468,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "char_found." }, + "message": { "text": "result_null_or_same_base." }, "locations": [ { "physicalLocation": { @@ -21155,11 +24477,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 200, - "startColumn": 24, - "endLine": 200, - "endColumn": 35, - "byteLength": 11 + "startLine": 223, + "startColumn": 4, + "endLine": 224, + "endColumn": 72, + "byteLength": 92 } } } @@ -21169,20 +24491,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "char_not_found." }, + "message": { "text": "assigns clause in function strrchr." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.h", + "uri": "libc/string.c", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 205, - "startColumn": 28, - "endLine": 205, - "endColumn": 40, - "byteLength": 12 + "startLine": 263, + "startColumn": 6, + "endLine": 269, + "endColumn": 1, + "byteLength": 164 } } } @@ -21192,7 +24514,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_char." }, + "message": { + "text": "from clause of term \\result in function strrchr." + }, "locations": [ { "physicalLocation": { @@ -21201,11 +24525,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 201, - "startColumn": 25, - "endLine": 201, - "endColumn": 38, - "byteLength": 13 + "startLine": 221, + "startColumn": 10, + "endLine": 221, + "endColumn": 17, + "byteLength": 7 } } } @@ -21215,20 +24539,22 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_same_base." }, + "message": { + "text": "specialization of valid_string_s at stmt 291." + }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.h", + "uri": "libc/string.c", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 202, - "startColumn": 30, - "endLine": 202, - "endColumn": 66, - "byteLength": 36 + "startLine": 266, + "startColumn": 18, + "endLine": 266, + "endColumn": 27, + "byteLength": 9 } } } @@ -21237,21 +24563,21 @@ { "ruleId": "user-spec", "kind": "pass", - "level": "none", - "message": { "text": "result_valid_string." }, + "level": "error", + "message": { "text": "reachability of stmt line 266 in strrchr." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.h", + "uri": "libc/string.c", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 203, - "startColumn": 33, - "endLine": 203, - "endColumn": 59, - "byteLength": 26 + "startLine": 266, + "startColumn": 18, + "endLine": 266, + "endColumn": 27, + "byteLength": 9 } } } @@ -21261,7 +24587,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_null." }, + "message": { "text": "behavior default! in function strsep." }, "locations": [ { "physicalLocation": { @@ -21269,12 +24595,12 @@ "uri": "libc/string.h", "uriBaseId": "FRAMAC_SHARE" }, - "region": { - "startLine": 206, - "startColumn": 25, - "endLine": 206, - "endColumn": 41, - "byteLength": 16 + "region": { + "startLine": 402, + "startColumn": 13, + "endLine": 402, + "endColumn": 19, + "byteLength": 6 } } } @@ -21284,7 +24610,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_null_or_same_base." }, + "message": { "text": "behavior no_stringp in function strsep." }, "locations": [ { "physicalLocation": { @@ -21293,11 +24619,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 209, - "startColumn": 4, - "endLine": 209, - "endColumn": 60, - "byteLength": 56 + "startLine": 402, + "startColumn": 13, + "endLine": 402, + "endColumn": 19, + "byteLength": 6 } } } @@ -21307,20 +24633,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function strrchr." }, + "message": { "text": "behavior valid_stringp in function strsep." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.c", + "uri": "libc/string.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 260, - "startColumn": 6, - "endLine": 266, - "endColumn": 1, - "byteLength": 164 + "startLine": 402, + "startColumn": 13, + "endLine": 402, + "endColumn": 19, + "byteLength": 6 } } } @@ -21330,9 +24656,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term \\result in function strrchr." - }, + "message": { "text": "valid_stringp." }, "locations": [ { "physicalLocation": { @@ -21341,11 +24665,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 198, - "startColumn": 12, - "endLine": 198, - "endColumn": 19, - "byteLength": 7 + "startLine": 390, + "startColumn": 26, + "endLine": 390, + "endColumn": 41, + "byteLength": 15 } } } @@ -21355,22 +24679,20 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "specialization of valid_string_s at stmt 291." - }, + "message": { "text": "valid_string_stringp." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.c", + "uri": "libc/string.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 263, - "startColumn": 18, - "endLine": 263, - "endColumn": 27, - "byteLength": 9 + "startLine": 398, + "startColumn": 35, + "endLine": 398, + "endColumn": 57, + "byteLength": 22 } } } @@ -21379,21 +24701,21 @@ { "ruleId": "user-spec", "kind": "pass", - "level": "error", - "message": { "text": "reachability of stmt line 263 in strrchr." }, + "level": "none", + "message": { "text": "stringp_null." }, "locations": [ { "physicalLocation": { "artifactLocation": { - "uri": "libc/string.c", + "uri": "libc/string.h", "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 263, - "startColumn": 18, - "endLine": 263, - "endColumn": 27, - "byteLength": 9 + "startLine": 394, + "startColumn": 26, + "endLine": 394, + "endColumn": 43, + "byteLength": 17 } } } @@ -21403,7 +24725,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function strsep." }, + "message": { "text": "stringp_not_null." }, "locations": [ { "physicalLocation": { @@ -21412,11 +24734,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 350, - "startColumn": 13, - "endLine": 350, - "endColumn": 19, - "byteLength": 6 + "startLine": 397, + "startColumn": 30, + "endLine": 397, + "endColumn": 47, + "byteLength": 17 } } } @@ -21426,7 +24748,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "valid_string_stringp." }, + "message": { "text": "result_null." }, "locations": [ { "physicalLocation": { @@ -21435,11 +24757,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 345, - "startColumn": 35, - "endLine": 345, - "endColumn": 76, - "byteLength": 41 + "startLine": 395, + "startColumn": 25, + "endLine": 395, + "endColumn": 41, + "byteLength": 16 } } } @@ -21449,7 +24771,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "valid_string_delim." }, + "message": { "text": "valid_result." }, "locations": [ { "physicalLocation": { @@ -21458,11 +24780,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 346, - "startColumn": 33, - "endLine": 346, - "endColumn": 57, - "byteLength": 24 + "startLine": 399, + "startColumn": 26, + "endLine": 400, + "endColumn": 69, + "byteLength": 94 } } } @@ -21481,11 +24803,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 347, - "startColumn": 12, - "endLine": 347, - "endColumn": 20, - "byteLength": 8 + "startLine": 391, + "startColumn": 10, + "endLine": 391, + "endColumn": 23, + "byteLength": 13 } } } @@ -21496,7 +24818,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term *stringp in function strsep." + "text": "from clause of term *(*(stringp + (0 ..))) in function strsep." }, "locations": [ { @@ -21506,11 +24828,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 347, - "startColumn": 12, - "endLine": 347, - "endColumn": 20, - "byteLength": 8 + "startLine": 391, + "startColumn": 10, + "endLine": 391, + "endColumn": 23, + "byteLength": 13 } } } @@ -21531,10 +24853,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 348, - "startColumn": 12, - "endLine": 348, - "endColumn": 19, + "startLine": 392, + "startColumn": 10, + "endLine": 392, + "endColumn": 17, "byteLength": 7 } } @@ -21554,9 +24876,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 348, + "startLine": 351, "startColumn": 6, - "endLine": 359, + "endLine": 362, "endColumn": 1, "byteLength": 223 } @@ -21577,9 +24899,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 535, + "startLine": 643, "startColumn": 33, - "endLine": 535, + "endLine": 643, "endColumn": 60, "byteLength": 27 } @@ -21600,9 +24922,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 536, + "startLine": 644, "startColumn": 35, - "endLine": 536, + "endLine": 644, "endColumn": 51, "byteLength": 16 } @@ -21623,9 +24945,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 537, + "startLine": 645, "startColumn": 33, - "endLine": 537, + "endLine": 645, "endColumn": 59, "byteLength": 26 } @@ -21646,9 +24968,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 348, + "startLine": 351, "startColumn": 6, - "endLine": 359, + "endLine": 362, "endColumn": 1, "byteLength": 223 } @@ -21671,9 +24993,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 534, + "startLine": 642, "startColumn": 12, - "endLine": 534, + "endLine": 642, "endColumn": 19, "byteLength": 7 } @@ -21694,9 +25016,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 353, + "startLine": 356, "startColumn": 4, - "endLine": 353, + "endLine": 356, "endColumn": 44, "byteLength": 40 } @@ -21709,7 +25031,7 @@ "kind": "pass", "level": "error", "message": { - "text": "reachability of stmt line 353 in strsignal." + "text": "reachability of stmt line 356 in strsignal." }, "locations": [ { @@ -21719,9 +25041,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 353, + "startLine": 356, "startColumn": 4, - "endLine": 353, + "endLine": 356, "endColumn": 44, "byteLength": 40 } @@ -21742,9 +25064,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 226, + "startLine": 244, "startColumn": 14, - "endLine": 226, + "endLine": 244, "endColumn": 20, "byteLength": 6 } @@ -21765,10 +25087,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 220, - "startColumn": 29, - "endLine": 220, - "endColumn": 49, + "startLine": 238, + "startColumn": 27, + "endLine": 238, + "endColumn": 47, "byteLength": 20 } } @@ -21788,10 +25110,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 221, - "startColumn": 34, - "endLine": 221, - "endColumn": 59, + "startLine": 239, + "startColumn": 32, + "endLine": 239, + "endColumn": 57, "byteLength": 25 } } @@ -21811,10 +25133,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 224, - "startColumn": 28, - "endLine": 224, - "endColumn": 53, + "startLine": 242, + "startColumn": 26, + "endLine": 242, + "endColumn": 51, "byteLength": 25 } } @@ -21834,36 +25156,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 222, - "startColumn": 12, - "endLine": 222, - "endColumn": 19, - "byteLength": 7 - } - } - } - ] - }, - { - "ruleId": "user-spec", - "kind": "pass", - "level": "none", - "message": { - "text": "from clause of term \\result in function strspn." - }, - "locations": [ - { - "physicalLocation": { - "artifactLocation": { - "uri": "libc/string.h", - "uriBaseId": "FRAMAC_SHARE" - }, - "region": { - "startLine": 222, - "startColumn": 12, - "endLine": 222, - "endColumn": 19, - "byteLength": 7 + "startLine": 244, + "startColumn": 14, + "endLine": 244, + "endColumn": 20, + "byteLength": 6 } } } @@ -21884,10 +25181,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 223, - "startColumn": 12, - "endLine": 223, - "endColumn": 19, + "startLine": 240, + "startColumn": 10, + "endLine": 240, + "endColumn": 17, "byteLength": 7 } } @@ -21907,9 +25204,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 286, + "startLine": 289, "startColumn": 6, - "endLine": 298, + "endLine": 301, "endColumn": 1, "byteLength": 379 } @@ -21930,10 +25227,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 236, - "startColumn": 36, - "endLine": 236, - "endColumn": 63, + "startLine": 258, + "startColumn": 34, + "endLine": 258, + "endColumn": 61, "byteLength": 27 } } @@ -21953,10 +25250,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 237, - "startColumn": 34, - "endLine": 237, - "endColumn": 59, + "startLine": 259, + "startColumn": 32, + "endLine": 259, + "endColumn": 57, "byteLength": 25 } } @@ -21976,11 +25273,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 241, + "startLine": 263, "startColumn": 4, - "endLine": 243, - "endColumn": 59, - "byteLength": 141 + "endLine": 266, + "endColumn": 57, + "byteLength": 164 } } } @@ -21999,9 +25296,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 286, + "startLine": 289, "startColumn": 6, - "endLine": 298, + "endLine": 301, "endColumn": 1, "byteLength": 379 } @@ -22024,10 +25321,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 238, - "startColumn": 12, - "endLine": 238, - "endColumn": 19, + "startLine": 260, + "startColumn": 10, + "endLine": 260, + "endColumn": 17, "byteLength": 7 } } @@ -22047,9 +25344,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 117, + "startLine": 119, "startColumn": 14, - "endLine": 117, + "endLine": 119, "endColumn": 20, "byteLength": 6 } @@ -22070,9 +25367,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 117, + "startLine": 119, "startColumn": 14, - "endLine": 117, + "endLine": 119, "endColumn": 20, "byteLength": 6 } @@ -22095,9 +25392,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 117, + "startLine": 119, "startColumn": 14, - "endLine": 117, + "endLine": 119, "endColumn": 20, "byteLength": 6 } @@ -22164,9 +25461,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 108, + "startLine": 109, "startColumn": 27, - "endLine": 108, + "endLine": 109, "endColumn": 41, "byteLength": 14 } @@ -22187,9 +25484,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 104, + "startLine": 105, "startColumn": 25, - "endLine": 104, + "endLine": 105, "endColumn": 40, "byteLength": 15 } @@ -22210,9 +25507,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 107, + "startLine": 108, "startColumn": 28, - "endLine": 107, + "endLine": 108, "endColumn": 43, "byteLength": 15 } @@ -22233,9 +25530,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 111, + "startLine": 113, "startColumn": 28, - "endLine": 111, + "endLine": 113, "endColumn": 48, "byteLength": 20 } @@ -22256,9 +25553,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 112, + "startLine": 114, "startColumn": 34, - "endLine": 112, + "endLine": 114, "endColumn": 54, "byteLength": 20 } @@ -22270,7 +25567,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "position_subset." }, + "message": { "text": "endptr_same_base." }, "locations": [ { "physicalLocation": { @@ -22279,11 +25576,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 113, - "startColumn": 29, - "endLine": 113, - "endColumn": 60, - "byteLength": 31 + "startLine": 115, + "startColumn": 30, + "endLine": 115, + "endColumn": 69, + "byteLength": 39 } } } @@ -22325,9 +25622,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 117, + "startLine": 119, "startColumn": 14, - "endLine": 117, + "endLine": 119, "endColumn": 20, "byteLength": 6 } @@ -22348,9 +25645,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 109, + "startLine": 110, "startColumn": 12, - "endLine": 109, + "endLine": 110, "endColumn": 19, "byteLength": 7 } @@ -22423,9 +25720,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 105, + "startLine": 106, "startColumn": 12, - "endLine": 105, + "endLine": 106, "endColumn": 19, "byteLength": 7 } @@ -22448,9 +25745,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 109, + "startLine": 110, "startColumn": 12, - "endLine": 109, + "endLine": 110, "endColumn": 19, "byteLength": 7 } @@ -22473,9 +25770,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 110, + "startLine": 111, "startColumn": 12, - "endLine": 110, + "endLine": 111, "endColumn": 19, "byteLength": 7 } @@ -22496,9 +25793,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 117, + "startLine": 119, "startColumn": 14, - "endLine": 117, + "endLine": 119, "endColumn": 20, "byteLength": 6 } @@ -22519,9 +25816,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 117, + "startLine": 119, "startColumn": 14, - "endLine": 117, + "endLine": 119, "endColumn": 20, "byteLength": 6 } @@ -22542,9 +25839,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 139, + "startLine": 142, "startColumn": 13, - "endLine": 139, + "endLine": 142, "endColumn": 19, "byteLength": 6 } @@ -22565,9 +25862,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 139, + "startLine": 142, "startColumn": 13, - "endLine": 139, + "endLine": 142, "endColumn": 19, "byteLength": 6 } @@ -22590,9 +25887,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 139, + "startLine": 142, "startColumn": 13, - "endLine": 139, + "endLine": 142, "endColumn": 19, "byteLength": 6 } @@ -22613,9 +25910,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 121, + "startLine": 123, "startColumn": 30, - "endLine": 121, + "endLine": 123, "endColumn": 53, "byteLength": 23 } @@ -22636,9 +25933,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 122, + "startLine": 124, "startColumn": 23, - "endLine": 122, + "endLine": 124, "endColumn": 47, "byteLength": 24 } @@ -22659,9 +25956,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 130, + "startLine": 133, "startColumn": 27, - "endLine": 130, + "endLine": 133, "endColumn": 41, "byteLength": 14 } @@ -22682,9 +25979,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 126, + "startLine": 129, "startColumn": 25, - "endLine": 126, + "endLine": 129, "endColumn": 40, "byteLength": 15 } @@ -22705,9 +26002,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 129, + "startLine": 132, "startColumn": 28, - "endLine": 129, + "endLine": 132, "endColumn": 43, "byteLength": 15 } @@ -22728,9 +26025,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 133, + "startLine": 136, "startColumn": 28, - "endLine": 133, + "endLine": 136, "endColumn": 48, "byteLength": 20 } @@ -22751,9 +26048,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 134, + "startLine": 137, "startColumn": 34, - "endLine": 134, + "endLine": 137, "endColumn": 54, "byteLength": 20 } @@ -22765,7 +26062,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "position_subset." }, + "message": { "text": "endptr_same_base." }, "locations": [ { "physicalLocation": { @@ -22774,11 +26071,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 135, - "startColumn": 29, - "endLine": 135, - "endColumn": 60, - "byteLength": 31 + "startLine": 138, + "startColumn": 30, + "endLine": 138, + "endColumn": 69, + "byteLength": 39 } } } @@ -22797,9 +26094,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 123, + "startLine": 125, "startColumn": 10, - "endLine": 123, + "endLine": 125, "endColumn": 17, "byteLength": 7 } @@ -22820,9 +26117,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 139, + "startLine": 142, "startColumn": 13, - "endLine": 139, + "endLine": 142, "endColumn": 19, "byteLength": 6 } @@ -22843,9 +26140,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 131, + "startLine": 134, "startColumn": 12, - "endLine": 131, + "endLine": 134, "endColumn": 19, "byteLength": 7 } @@ -22868,9 +26165,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 123, + "startLine": 125, "startColumn": 10, - "endLine": 123, + "endLine": 125, "endColumn": 17, "byteLength": 7 } @@ -22893,9 +26190,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 124, + "startLine": 126, "startColumn": 10, - "endLine": 124, + "endLine": 126, "endColumn": 17, "byteLength": 7 } @@ -22918,9 +26215,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 127, + "startLine": 130, "startColumn": 12, - "endLine": 127, + "endLine": 130, "endColumn": 19, "byteLength": 7 } @@ -22943,9 +26240,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 131, + "startLine": 134, "startColumn": 12, - "endLine": 131, + "endLine": 134, "endColumn": 19, "byteLength": 7 } @@ -22968,9 +26265,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 132, + "startLine": 135, "startColumn": 12, - "endLine": 132, + "endLine": 135, "endColumn": 19, "byteLength": 7 } @@ -22991,9 +26288,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 139, + "startLine": 142, "startColumn": 13, - "endLine": 139, + "endLine": 142, "endColumn": 19, "byteLength": 6 } @@ -23014,9 +26311,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 139, + "startLine": 142, "startColumn": 13, - "endLine": 139, + "endLine": 142, "endColumn": 19, "byteLength": 6 } @@ -23037,9 +26334,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 299, + "startLine": 334, "startColumn": 13, - "endLine": 299, + "endLine": 334, "endColumn": 19, "byteLength": 6 } @@ -23060,9 +26357,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 299, + "startLine": 334, "startColumn": 13, - "endLine": 299, + "endLine": 334, "endColumn": 19, "byteLength": 6 } @@ -23083,9 +26380,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 299, + "startLine": 334, "startColumn": 13, - "endLine": 299, + "endLine": 334, "endColumn": 19, "byteLength": 6 } @@ -23106,9 +26403,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 261, + "startLine": 287, "startColumn": 31, - "endLine": 261, + "endLine": 287, "endColumn": 55, "byteLength": 24 } @@ -23116,6 +26413,29 @@ } ] }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "separation." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 288, + "startColumn": 23, + "endLine": 288, + "endColumn": 77, + "byteLength": 54 + } + } + } + ] + }, { "ruleId": "user-spec", "kind": "pass", @@ -23129,9 +26449,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 274, + "startLine": 301, "startColumn": 6, - "endLine": 276, + "endLine": 303, "endColumn": 70, "byteLength": 120 } @@ -23152,9 +26472,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 284, + "startLine": 315, "startColumn": 29, - "endLine": 284, + "endLine": 315, "endColumn": 53, "byteLength": 24 } @@ -23175,9 +26495,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 272, + "startLine": 299, "startColumn": 24, - "endLine": 272, + "endLine": 299, "endColumn": 34, "byteLength": 10 } @@ -23198,9 +26518,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 283, + "startLine": 314, "startColumn": 20, - "endLine": 283, + "endLine": 314, "endColumn": 30, "byteLength": 10 } @@ -23212,7 +26532,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_subset." }, + "message": { "text": "result_same_base." }, "locations": [ { "physicalLocation": { @@ -23221,11 +26541,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 280, - "startColumn": 27, - "endLine": 280, - "endColumn": 72, - "byteLength": 45 + "startLine": 309, + "startColumn": 6, + "endLine": 310, + "endColumn": 74, + "byteLength": 94 } } } @@ -23235,7 +26555,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "ptr_subset." }, + "message": { "text": "ptr_valid_string." }, "locations": [ { "physicalLocation": { @@ -23244,11 +26564,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 281, - "startColumn": 24, - "endLine": 281, - "endColumn": 57, - "byteLength": 33 + "startLine": 311, + "startColumn": 30, + "endLine": 311, + "endColumn": 64, + "byteLength": 34 } } } @@ -23258,7 +26578,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_subset." }, + "message": { "text": "ptr_same_base." }, "locations": [ { "physicalLocation": { @@ -23267,11 +26587,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 293, + "startLine": 312, "startColumn": 27, - "endLine": 294, - "endColumn": 72, - "byteLength": 92 + "endLine": 312, + "endColumn": 71, + "byteLength": 44 } } } @@ -23281,7 +26601,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "ptr_subset." }, + "message": { "text": "result_same_base." }, "locations": [ { "physicalLocation": { @@ -23290,11 +26610,57 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 295, - "startColumn": 24, - "endLine": 295, - "endColumn": 77, - "byteLength": 53 + "startLine": 325, + "startColumn": 6, + "endLine": 327, + "endColumn": 65, + "byteLength": 122 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "ptr_valid_string." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 328, + "startColumn": 30, + "endLine": 328, + "endColumn": 64, + "byteLength": 34 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "ptr_same_base." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 330, + "startColumn": 6, + "endLine": 330, + "endColumn": 70, + "byteLength": 64 } } } @@ -23313,9 +26679,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 262, + "startLine": 289, "startColumn": 10, - "endLine": 262, + "endLine": 289, "endColumn": 16, "byteLength": 6 } @@ -23336,9 +26702,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 277, + "startLine": 304, "startColumn": 12, - "endLine": 277, + "endLine": 304, "endColumn": 27, "byteLength": 15 } @@ -23359,9 +26725,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 285, + "startLine": 316, "startColumn": 12, - "endLine": 285, + "endLine": 316, "endColumn": 32, "byteLength": 20 } @@ -23384,9 +26750,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 262, + "startLine": 289, "startColumn": 10, - "endLine": 262, + "endLine": 289, "endColumn": 16, "byteLength": 6 } @@ -23409,9 +26775,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 264, + "startLine": 291, "startColumn": 10, - "endLine": 264, + "endLine": 291, "endColumn": 30, "byteLength": 20 } @@ -23434,9 +26800,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 266, + "startLine": 293, "startColumn": 10, - "endLine": 266, + "endLine": 293, "endColumn": 17, "byteLength": 7 } @@ -23459,9 +26825,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 268, + "startLine": 295, "startColumn": 10, - "endLine": 268, + "endLine": 295, "endColumn": 25, "byteLength": 15 } @@ -23484,9 +26850,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 277, + "startLine": 304, "startColumn": 12, - "endLine": 277, + "endLine": 304, "endColumn": 27, "byteLength": 15 } @@ -23509,9 +26875,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 278, + "startLine": 306, "startColumn": 12, - "endLine": 278, + "endLine": 306, "endColumn": 18, "byteLength": 6 } @@ -23534,9 +26900,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 279, + "startLine": 307, "startColumn": 12, - "endLine": 279, + "endLine": 307, "endColumn": 19, "byteLength": 7 } @@ -23559,9 +26925,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 285, + "startLine": 316, "startColumn": 12, - "endLine": 285, + "endLine": 316, "endColumn": 32, "byteLength": 20 } @@ -23584,9 +26950,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 288, + "startLine": 319, "startColumn": 12, - "endLine": 288, + "endLine": 319, "endColumn": 27, "byteLength": 15 } @@ -23609,9 +26975,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 291, + "startLine": 322, "startColumn": 12, - "endLine": 291, + "endLine": 322, "endColumn": 19, "byteLength": 7 } @@ -23632,9 +26998,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 299, + "startLine": 334, "startColumn": 13, - "endLine": 299, + "endLine": 334, "endColumn": 19, "byteLength": 6 } @@ -23655,9 +27021,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 299, + "startLine": 334, "startColumn": 13, - "endLine": 299, + "endLine": 334, "endColumn": 19, "byteLength": 6 } @@ -23678,9 +27044,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 343, + "startLine": 387, "startColumn": 13, - "endLine": 343, + "endLine": 387, "endColumn": 21, "byteLength": 8 } @@ -23701,9 +27067,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 343, + "startLine": 387, "startColumn": 13, - "endLine": 343, + "endLine": 387, "endColumn": 21, "byteLength": 8 } @@ -23724,9 +27090,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 343, + "startLine": 387, "startColumn": 13, - "endLine": 343, + "endLine": 387, "endColumn": 21, "byteLength": 8 } @@ -23747,9 +27113,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 302, + "startLine": 337, "startColumn": 31, - "endLine": 302, + "endLine": 337, "endColumn": 55, "byteLength": 24 } @@ -23757,6 +27123,29 @@ } ] }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "separation." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 338, + "startColumn": 23, + "endLine": 339, + "endColumn": 49, + "byteLength": 104 + } + } + } + ] + }, { "ruleId": "user-spec", "kind": "pass", @@ -23770,9 +27159,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 303, + "startLine": 340, "startColumn": 26, - "endLine": 303, + "endLine": 340, "endColumn": 41, "byteLength": 15 } @@ -23793,9 +27182,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 316, + "startLine": 353, "startColumn": 6, - "endLine": 318, + "endLine": 355, "endColumn": 70, "byteLength": 120 } @@ -23816,9 +27205,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 327, + "startLine": 367, "startColumn": 29, - "endLine": 327, + "endLine": 367, "endColumn": 46, "byteLength": 17 } @@ -23839,9 +27228,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 328, + "startLine": 368, "startColumn": 37, - "endLine": 328, + "endLine": 368, "endColumn": 58, "byteLength": 21 } @@ -23862,9 +27251,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 314, + "startLine": 351, "startColumn": 24, - "endLine": 314, + "endLine": 351, "endColumn": 34, "byteLength": 10 } @@ -23885,9 +27274,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 326, + "startLine": 366, "startColumn": 20, - "endLine": 326, + "endLine": 366, "endColumn": 30, "byteLength": 10 } @@ -23899,7 +27288,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_subset." }, + "message": { "text": "result_same_base." }, "locations": [ { "physicalLocation": { @@ -23908,11 +27297,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 322, - "startColumn": 27, - "endLine": 322, - "endColumn": 72, - "byteLength": 45 + "startLine": 361, + "startColumn": 6, + "endLine": 362, + "endColumn": 74, + "byteLength": 94 } } } @@ -23922,7 +27311,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "initialization." }, + "message": { "text": "saveptr_valid_string." }, "locations": [ { "physicalLocation": { @@ -23931,11 +27320,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 323, - "startColumn": 28, - "endLine": 323, - "endColumn": 49, - "byteLength": 21 + "startLine": 363, + "startColumn": 34, + "endLine": 363, + "endColumn": 61, + "byteLength": 27 } } } @@ -23945,7 +27334,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "saveptr_subset." }, + "message": { "text": "saveptr_same_base." }, "locations": [ { "physicalLocation": { @@ -23954,11 +27343,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 324, - "startColumn": 28, - "endLine": 324, - "endColumn": 54, - "byteLength": 26 + "startLine": 364, + "startColumn": 31, + "endLine": 364, + "endColumn": 68, + "byteLength": 37 } } } @@ -23968,7 +27357,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_subset." }, + "message": { "text": "result_same_base." }, "locations": [ { "physicalLocation": { @@ -23977,11 +27366,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 337, - "startColumn": 27, - "endLine": 338, - "endColumn": 65, - "byteLength": 85 + "startLine": 378, + "startColumn": 6, + "endLine": 380, + "endColumn": 58, + "byteLength": 115 } } } @@ -23991,7 +27380,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "saveptr_subset." }, + "message": { "text": "saveptr_valid_string." }, "locations": [ { "physicalLocation": { @@ -24000,11 +27389,34 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 339, - "startColumn": 28, - "endLine": 339, - "endColumn": 67, - "byteLength": 39 + "startLine": 381, + "startColumn": 34, + "endLine": 381, + "endColumn": 61, + "byteLength": 27 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "saveptr_same_base." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 383, + "startColumn": 6, + "endLine": 383, + "endColumn": 56, + "byteLength": 50 } } } @@ -24023,9 +27435,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 304, + "startLine": 341, "startColumn": 10, - "endLine": 304, + "endLine": 341, "endColumn": 16, "byteLength": 6 } @@ -24046,9 +27458,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 319, + "startLine": 356, "startColumn": 12, - "endLine": 319, + "endLine": 356, "endColumn": 20, "byteLength": 8 } @@ -24069,9 +27481,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 329, + "startLine": 369, "startColumn": 12, - "endLine": 329, + "endLine": 369, "endColumn": 27, "byteLength": 15 } @@ -24094,9 +27506,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 304, + "startLine": 341, "startColumn": 10, - "endLine": 304, + "endLine": 341, "endColumn": 16, "byteLength": 6 } @@ -24119,9 +27531,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 306, + "startLine": 343, "startColumn": 10, - "endLine": 306, + "endLine": 343, "endColumn": 25, "byteLength": 15 } @@ -24144,9 +27556,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 308, + "startLine": 345, "startColumn": 10, - "endLine": 308, + "endLine": 345, "endColumn": 17, "byteLength": 7 } @@ -24169,9 +27581,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 310, + "startLine": 347, "startColumn": 10, - "endLine": 310, + "endLine": 347, "endColumn": 18, "byteLength": 8 } @@ -24194,9 +27606,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 319, + "startLine": 356, "startColumn": 12, - "endLine": 319, + "endLine": 356, "endColumn": 20, "byteLength": 8 } @@ -24219,9 +27631,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 320, + "startLine": 358, "startColumn": 12, - "endLine": 320, + "endLine": 358, "endColumn": 18, "byteLength": 6 } @@ -24244,9 +27656,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 321, + "startLine": 359, "startColumn": 12, - "endLine": 321, + "endLine": 359, "endColumn": 19, "byteLength": 7 } @@ -24269,9 +27681,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 329, + "startLine": 369, "startColumn": 12, - "endLine": 329, + "endLine": 369, "endColumn": 27, "byteLength": 15 } @@ -24294,9 +27706,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 332, + "startLine": 372, "startColumn": 12, - "endLine": 332, + "endLine": 372, "endColumn": 20, "byteLength": 8 } @@ -24319,9 +27731,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 335, + "startLine": 375, "startColumn": 12, - "endLine": 335, + "endLine": 375, "endColumn": 19, "byteLength": 7 } @@ -24342,9 +27754,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 343, + "startLine": 387, "startColumn": 13, - "endLine": 343, + "endLine": 387, "endColumn": 21, "byteLength": 8 } @@ -24365,9 +27777,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 343, + "startLine": 387, "startColumn": 13, - "endLine": 343, + "endLine": 387, "endColumn": 21, "byteLength": 8 } @@ -24388,9 +27800,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 185, + "startLine": 195, "startColumn": 16, - "endLine": 185, + "endLine": 195, "endColumn": 22, "byteLength": 6 } @@ -24411,9 +27823,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 185, + "startLine": 195, "startColumn": 16, - "endLine": 185, + "endLine": 195, "endColumn": 22, "byteLength": 6 } @@ -24436,9 +27848,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 185, + "startLine": 195, "startColumn": 16, - "endLine": 185, + "endLine": 195, "endColumn": 22, "byteLength": 6 } @@ -24459,9 +27871,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 166, + "startLine": 171, "startColumn": 30, - "endLine": 166, + "endLine": 171, "endColumn": 53, "byteLength": 23 } @@ -24482,9 +27894,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 167, + "startLine": 172, "startColumn": 23, - "endLine": 167, + "endLine": 172, "endColumn": 47, "byteLength": 24 } @@ -24505,9 +27917,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 168, + "startLine": 173, "startColumn": 23, - "endLine": 168, + "endLine": 173, "endColumn": 51, "byteLength": 28 } @@ -24528,9 +27940,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 176, + "startLine": 184, "startColumn": 27, - "endLine": 176, + "endLine": 184, "endColumn": 41, "byteLength": 14 } @@ -24551,9 +27963,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 172, + "startLine": 179, "startColumn": 25, - "endLine": 172, + "endLine": 179, "endColumn": 40, "byteLength": 15 } @@ -24574,9 +27986,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 175, + "startLine": 183, "startColumn": 28, - "endLine": 175, + "endLine": 183, "endColumn": 43, "byteLength": 15 } @@ -24597,9 +28009,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 179, + "startLine": 189, "startColumn": 28, - "endLine": 179, + "endLine": 189, "endColumn": 48, "byteLength": 20 } @@ -24620,9 +28032,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 180, + "startLine": 190, "startColumn": 34, - "endLine": 180, + "endLine": 190, "endColumn": 54, "byteLength": 20 } @@ -24634,7 +28046,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "position_subset." }, + "message": { "text": "endptr_same_base." }, "locations": [ { "physicalLocation": { @@ -24643,11 +28055,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 181, - "startColumn": 29, - "endLine": 181, - "endColumn": 60, - "byteLength": 31 + "startLine": 191, + "startColumn": 30, + "endLine": 191, + "endColumn": 69, + "byteLength": 39 } } } @@ -24666,9 +28078,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 169, + "startLine": 174, "startColumn": 10, - "endLine": 169, + "endLine": 174, "endColumn": 17, "byteLength": 7 } @@ -24689,9 +28101,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 185, + "startLine": 195, "startColumn": 16, - "endLine": 185, + "endLine": 195, "endColumn": 22, "byteLength": 6 } @@ -24712,9 +28124,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 177, + "startLine": 185, "startColumn": 12, - "endLine": 177, + "endLine": 185, "endColumn": 19, "byteLength": 7 } @@ -24737,9 +28149,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 169, + "startLine": 174, "startColumn": 10, - "endLine": 169, + "endLine": 174, "endColumn": 17, "byteLength": 7 } @@ -24762,9 +28174,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 170, + "startLine": 176, "startColumn": 10, - "endLine": 170, + "endLine": 176, "endColumn": 17, "byteLength": 7 } @@ -24787,9 +28199,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 173, + "startLine": 180, "startColumn": 12, - "endLine": 173, + "endLine": 180, "endColumn": 19, "byteLength": 7 } @@ -24812,9 +28224,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 177, + "startLine": 185, "startColumn": 12, - "endLine": 177, + "endLine": 185, "endColumn": 19, "byteLength": 7 } @@ -24837,9 +28249,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 178, + "startLine": 187, "startColumn": 12, - "endLine": 178, + "endLine": 187, "endColumn": 19, "byteLength": 7 } @@ -24860,9 +28272,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 185, + "startLine": 195, "startColumn": 16, - "endLine": 185, + "endLine": 195, "endColumn": 22, "byteLength": 6 } @@ -24883,9 +28295,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 185, + "startLine": 195, "startColumn": 16, - "endLine": 185, + "endLine": 195, "endColumn": 22, "byteLength": 6 } @@ -24906,9 +28318,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 161, + "startLine": 166, "startColumn": 19, - "endLine": 161, + "endLine": 166, "endColumn": 26, "byteLength": 7 } @@ -24929,9 +28341,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 161, + "startLine": 166, "startColumn": 19, - "endLine": 161, + "endLine": 166, "endColumn": 26, "byteLength": 7 } @@ -24954,9 +28366,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 161, + "startLine": 166, "startColumn": 19, - "endLine": 161, + "endLine": 166, "endColumn": 26, "byteLength": 7 } @@ -24977,9 +28389,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 143, + "startLine": 146, "startColumn": 30, - "endLine": 143, + "endLine": 146, "endColumn": 53, "byteLength": 23 } @@ -25000,9 +28412,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 144, + "startLine": 147, "startColumn": 23, - "endLine": 144, + "endLine": 147, "endColumn": 47, "byteLength": 24 } @@ -25023,9 +28435,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 152, + "startLine": 156, "startColumn": 27, - "endLine": 152, + "endLine": 156, "endColumn": 41, "byteLength": 14 } @@ -25046,9 +28458,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 148, + "startLine": 152, "startColumn": 25, - "endLine": 148, + "endLine": 152, "endColumn": 40, "byteLength": 15 } @@ -25069,9 +28481,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 151, + "startLine": 155, "startColumn": 28, - "endLine": 151, + "endLine": 155, "endColumn": 43, "byteLength": 15 } @@ -25092,9 +28504,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 155, + "startLine": 160, "startColumn": 28, - "endLine": 155, + "endLine": 160, "endColumn": 48, "byteLength": 20 } @@ -25115,9 +28527,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 156, + "startLine": 161, "startColumn": 34, - "endLine": 156, + "endLine": 161, "endColumn": 54, "byteLength": 20 } @@ -25129,7 +28541,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "position_subset." }, + "message": { "text": "endptr_same_base." }, "locations": [ { "physicalLocation": { @@ -25138,11 +28550,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 157, - "startColumn": 29, - "endLine": 157, - "endColumn": 60, - "byteLength": 31 + "startLine": 162, + "startColumn": 30, + "endLine": 162, + "endColumn": 69, + "byteLength": 39 } } } @@ -25161,9 +28573,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 145, + "startLine": 148, "startColumn": 10, - "endLine": 145, + "endLine": 148, "endColumn": 17, "byteLength": 7 } @@ -25184,9 +28596,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 161, + "startLine": 166, "startColumn": 19, - "endLine": 161, + "endLine": 166, "endColumn": 26, "byteLength": 7 } @@ -25207,9 +28619,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 153, + "startLine": 157, "startColumn": 12, - "endLine": 153, + "endLine": 157, "endColumn": 19, "byteLength": 7 } @@ -25232,9 +28644,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 145, + "startLine": 148, "startColumn": 10, - "endLine": 145, + "endLine": 148, "endColumn": 17, "byteLength": 7 } @@ -25257,9 +28669,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 146, + "startLine": 149, "startColumn": 10, - "endLine": 146, + "endLine": 149, "endColumn": 17, "byteLength": 7 } @@ -25282,9 +28694,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 149, + "startLine": 153, "startColumn": 12, - "endLine": 149, + "endLine": 153, "endColumn": 19, "byteLength": 7 } @@ -25307,9 +28719,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 153, + "startLine": 157, "startColumn": 12, - "endLine": 153, + "endLine": 157, "endColumn": 19, "byteLength": 7 } @@ -25332,9 +28744,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 154, + "startLine": 158, "startColumn": 12, - "endLine": 154, + "endLine": 158, "endColumn": 19, "byteLength": 7 } @@ -25355,9 +28767,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 161, + "startLine": 166, "startColumn": 19, - "endLine": 161, + "endLine": 166, "endColumn": 26, "byteLength": 7 } @@ -25378,9 +28790,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 161, + "startLine": 166, "startColumn": 19, - "endLine": 161, + "endLine": 166, "endColumn": 26, "byteLength": 7 } @@ -25401,9 +28813,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 210, + "startLine": 225, "startColumn": 21, - "endLine": 210, + "endLine": 225, "endColumn": 28, "byteLength": 7 } @@ -25424,9 +28836,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 210, + "startLine": 225, "startColumn": 21, - "endLine": 210, + "endLine": 225, "endColumn": 28, "byteLength": 7 } @@ -25449,9 +28861,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 210, + "startLine": 225, "startColumn": 21, - "endLine": 210, + "endLine": 225, "endColumn": 28, "byteLength": 7 } @@ -25472,9 +28884,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 191, + "startLine": 201, "startColumn": 30, - "endLine": 191, + "endLine": 201, "endColumn": 53, "byteLength": 23 } @@ -25495,9 +28907,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 192, + "startLine": 202, "startColumn": 23, - "endLine": 192, + "endLine": 202, "endColumn": 47, "byteLength": 24 } @@ -25518,9 +28930,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 193, + "startLine": 203, "startColumn": 23, - "endLine": 193, + "endLine": 203, "endColumn": 51, "byteLength": 28 } @@ -25541,9 +28953,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 201, + "startLine": 214, "startColumn": 27, - "endLine": 201, + "endLine": 214, "endColumn": 41, "byteLength": 14 } @@ -25564,9 +28976,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 197, + "startLine": 209, "startColumn": 25, - "endLine": 197, + "endLine": 209, "endColumn": 40, "byteLength": 15 } @@ -25587,9 +28999,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 200, + "startLine": 213, "startColumn": 28, - "endLine": 200, + "endLine": 213, "endColumn": 43, "byteLength": 15 } @@ -25610,9 +29022,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 204, + "startLine": 219, "startColumn": 28, - "endLine": 204, + "endLine": 219, "endColumn": 48, "byteLength": 20 } @@ -25633,9 +29045,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 205, + "startLine": 220, "startColumn": 34, - "endLine": 205, + "endLine": 220, "endColumn": 54, "byteLength": 20 } @@ -25647,7 +29059,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "position_subset." }, + "message": { "text": "endptr_same_base." }, "locations": [ { "physicalLocation": { @@ -25656,11 +29068,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 206, - "startColumn": 29, - "endLine": 206, - "endColumn": 60, - "byteLength": 31 + "startLine": 221, + "startColumn": 30, + "endLine": 221, + "endColumn": 69, + "byteLength": 39 } } } @@ -25679,9 +29091,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 194, + "startLine": 204, "startColumn": 10, - "endLine": 194, + "endLine": 204, "endColumn": 17, "byteLength": 7 } @@ -25702,9 +29114,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 210, + "startLine": 225, "startColumn": 21, - "endLine": 210, + "endLine": 225, "endColumn": 28, "byteLength": 7 } @@ -25725,9 +29137,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 202, + "startLine": 215, "startColumn": 12, - "endLine": 202, + "endLine": 215, "endColumn": 19, "byteLength": 7 } @@ -25750,9 +29162,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 194, + "startLine": 204, "startColumn": 10, - "endLine": 194, + "endLine": 204, "endColumn": 17, "byteLength": 7 } @@ -25775,9 +29187,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 195, + "startLine": 206, "startColumn": 10, - "endLine": 195, + "endLine": 206, "endColumn": 17, "byteLength": 7 } @@ -25800,9 +29212,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 198, + "startLine": 210, "startColumn": 12, - "endLine": 198, + "endLine": 210, "endColumn": 19, "byteLength": 7 } @@ -25825,9 +29237,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 202, + "startLine": 215, "startColumn": 12, - "endLine": 202, + "endLine": 215, "endColumn": 19, "byteLength": 7 } @@ -25850,9 +29262,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 203, + "startLine": 217, "startColumn": 12, - "endLine": 203, + "endLine": 217, "endColumn": 19, "byteLength": 7 } @@ -25873,9 +29285,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 210, + "startLine": 225, "startColumn": 21, - "endLine": 210, + "endLine": 225, "endColumn": 28, "byteLength": 7 } @@ -25896,9 +29308,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 210, + "startLine": 225, "startColumn": 21, - "endLine": 210, + "endLine": 225, "endColumn": 28, "byteLength": 7 } @@ -25919,9 +29331,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 235, + "startLine": 255, "startColumn": 25, - "endLine": 235, + "endLine": 255, "endColumn": 32, "byteLength": 7 } @@ -25942,9 +29354,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 235, + "startLine": 255, "startColumn": 25, - "endLine": 235, + "endLine": 255, "endColumn": 32, "byteLength": 7 } @@ -25967,9 +29379,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 235, + "startLine": 255, "startColumn": 25, - "endLine": 235, + "endLine": 255, "endColumn": 32, "byteLength": 7 } @@ -25990,9 +29402,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 216, + "startLine": 231, "startColumn": 30, - "endLine": 216, + "endLine": 231, "endColumn": 53, "byteLength": 23 } @@ -26013,9 +29425,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 217, + "startLine": 232, "startColumn": 23, - "endLine": 217, + "endLine": 232, "endColumn": 47, "byteLength": 24 } @@ -26036,9 +29448,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 218, + "startLine": 233, "startColumn": 23, - "endLine": 218, + "endLine": 233, "endColumn": 51, "byteLength": 28 } @@ -26059,9 +29471,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 226, + "startLine": 244, "startColumn": 27, - "endLine": 226, + "endLine": 244, "endColumn": 41, "byteLength": 14 } @@ -26082,9 +29494,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 222, + "startLine": 239, "startColumn": 25, - "endLine": 222, + "endLine": 239, "endColumn": 40, "byteLength": 15 } @@ -26105,9 +29517,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 225, + "startLine": 243, "startColumn": 28, - "endLine": 225, + "endLine": 243, "endColumn": 43, "byteLength": 15 } @@ -26128,9 +29540,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 229, + "startLine": 249, "startColumn": 28, - "endLine": 229, + "endLine": 249, "endColumn": 48, "byteLength": 20 } @@ -26151,9 +29563,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 230, + "startLine": 250, "startColumn": 34, - "endLine": 230, + "endLine": 250, "endColumn": 54, "byteLength": 20 } @@ -26165,7 +29577,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "position_subset." }, + "message": { "text": "endptr_same_base." }, "locations": [ { "physicalLocation": { @@ -26174,11 +29586,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 231, - "startColumn": 29, - "endLine": 231, - "endColumn": 60, - "byteLength": 31 + "startLine": 251, + "startColumn": 30, + "endLine": 251, + "endColumn": 69, + "byteLength": 39 } } } @@ -26197,9 +29609,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 219, + "startLine": 234, "startColumn": 10, - "endLine": 219, + "endLine": 234, "endColumn": 17, "byteLength": 7 } @@ -26220,9 +29632,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 235, + "startLine": 255, "startColumn": 25, - "endLine": 235, + "endLine": 255, "endColumn": 32, "byteLength": 7 } @@ -26243,9 +29655,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 227, + "startLine": 245, "startColumn": 12, - "endLine": 227, + "endLine": 245, "endColumn": 19, "byteLength": 7 } @@ -26268,9 +29680,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 219, + "startLine": 234, "startColumn": 10, - "endLine": 219, + "endLine": 234, "endColumn": 17, "byteLength": 7 } @@ -26293,9 +29705,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 220, + "startLine": 236, "startColumn": 10, - "endLine": 220, + "endLine": 236, "endColumn": 17, "byteLength": 7 } @@ -26318,9 +29730,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 223, + "startLine": 240, "startColumn": 12, - "endLine": 223, + "endLine": 240, "endColumn": 19, "byteLength": 7 } @@ -26343,9 +29755,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 227, + "startLine": 245, "startColumn": 12, - "endLine": 227, + "endLine": 245, "endColumn": 19, "byteLength": 7 } @@ -26368,9 +29780,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 228, + "startLine": 247, "startColumn": 12, - "endLine": 228, + "endLine": 247, "endColumn": 19, "byteLength": 7 } @@ -26391,9 +29803,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 235, + "startLine": 255, "startColumn": 25, - "endLine": 235, + "endLine": 255, "endColumn": 32, "byteLength": 7 } @@ -26414,9 +29826,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 235, + "startLine": 255, "startColumn": 25, - "endLine": 235, + "endLine": 255, "endColumn": 32, "byteLength": 7 } @@ -26437,9 +29849,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 260, + "startLine": 285, "startColumn": 30, - "endLine": 260, + "endLine": 285, "endColumn": 38, "byteLength": 8 } @@ -26460,9 +29872,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 260, + "startLine": 285, "startColumn": 30, - "endLine": 260, + "endLine": 285, "endColumn": 38, "byteLength": 8 } @@ -26485,9 +29897,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 260, + "startLine": 285, "startColumn": 30, - "endLine": 260, + "endLine": 285, "endColumn": 38, "byteLength": 8 } @@ -26508,9 +29920,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 241, + "startLine": 261, "startColumn": 30, - "endLine": 241, + "endLine": 261, "endColumn": 53, "byteLength": 23 } @@ -26531,9 +29943,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 242, + "startLine": 262, "startColumn": 23, - "endLine": 242, + "endLine": 262, "endColumn": 47, "byteLength": 24 } @@ -26554,9 +29966,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 243, + "startLine": 263, "startColumn": 23, - "endLine": 243, + "endLine": 263, "endColumn": 51, "byteLength": 28 } @@ -26577,9 +29989,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 251, + "startLine": 274, "startColumn": 27, - "endLine": 251, + "endLine": 274, "endColumn": 41, "byteLength": 14 } @@ -26600,9 +30012,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 247, + "startLine": 269, "startColumn": 25, - "endLine": 247, + "endLine": 269, "endColumn": 40, "byteLength": 15 } @@ -26623,9 +30035,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 250, + "startLine": 273, "startColumn": 28, - "endLine": 250, + "endLine": 273, "endColumn": 43, "byteLength": 15 } @@ -26646,9 +30058,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 254, + "startLine": 279, "startColumn": 28, - "endLine": 254, + "endLine": 279, "endColumn": 48, "byteLength": 20 } @@ -26669,9 +30081,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 255, + "startLine": 280, "startColumn": 34, - "endLine": 255, + "endLine": 280, "endColumn": 54, "byteLength": 20 } @@ -26683,7 +30095,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "position_subset." }, + "message": { "text": "endptr_same_base." }, "locations": [ { "physicalLocation": { @@ -26692,11 +30104,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 256, - "startColumn": 29, - "endLine": 256, - "endColumn": 60, - "byteLength": 31 + "startLine": 281, + "startColumn": 30, + "endLine": 281, + "endColumn": 69, + "byteLength": 39 } } } @@ -26715,9 +30127,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 244, + "startLine": 264, "startColumn": 10, - "endLine": 244, + "endLine": 264, "endColumn": 17, "byteLength": 7 } @@ -26738,9 +30150,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 260, + "startLine": 285, "startColumn": 30, - "endLine": 260, + "endLine": 285, "endColumn": 38, "byteLength": 8 } @@ -26761,9 +30173,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 252, + "startLine": 275, "startColumn": 12, - "endLine": 252, + "endLine": 275, "endColumn": 19, "byteLength": 7 } @@ -26786,9 +30198,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 244, + "startLine": 264, "startColumn": 10, - "endLine": 244, + "endLine": 264, "endColumn": 17, "byteLength": 7 } @@ -26811,9 +30223,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 245, + "startLine": 266, "startColumn": 10, - "endLine": 245, + "endLine": 266, "endColumn": 17, "byteLength": 7 } @@ -26836,9 +30248,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 248, + "startLine": 270, "startColumn": 12, - "endLine": 248, + "endLine": 270, "endColumn": 19, "byteLength": 7 } @@ -26861,9 +30273,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 252, + "startLine": 275, "startColumn": 12, - "endLine": 252, + "endLine": 275, "endColumn": 19, "byteLength": 7 } @@ -26886,9 +30298,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 253, + "startLine": 277, "startColumn": 12, - "endLine": 253, + "endLine": 277, "endColumn": 19, "byteLength": 7 } @@ -26909,9 +30321,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 260, + "startLine": 285, "startColumn": 30, - "endLine": 260, + "endLine": 285, "endColumn": 38, "byteLength": 8 } @@ -26932,9 +30344,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 260, + "startLine": 285, "startColumn": 30, - "endLine": 260, + "endLine": 285, "endColumn": 38, "byteLength": 8 } @@ -26955,9 +30367,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 479, + "startLine": 545, "startColumn": 14, - "endLine": 479, + "endLine": 545, "endColumn": 21, "byteLength": 7 } @@ -26978,10 +30390,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 474, - "startColumn": 25, - "endLine": 474, - "endColumn": 48, + "startLine": 539, + "startColumn": 23, + "endLine": 539, + "endColumn": 46, "byteLength": 23 } } @@ -27001,16 +30413,39 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 475, - "startColumn": 31, - "endLine": 475, - "endColumn": 53, + "startLine": 540, + "startColumn": 29, + "endLine": 540, + "endColumn": 51, "byteLength": 22 } } } ] }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "separation." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 541, + "startColumn": 23, + "endLine": 541, + "endColumn": 72, + "byteLength": 49 + } + } + } + ] + }, { "ruleId": "user-spec", "kind": "pass", @@ -27024,10 +30459,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 476, - "startColumn": 12, - "endLine": 476, - "endColumn": 26, + "startLine": 542, + "startColumn": 10, + "endLine": 542, + "endColumn": 24, "byteLength": 14 } } @@ -27049,10 +30484,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 476, - "startColumn": 12, - "endLine": 476, - "endColumn": 26, + "startLine": 542, + "startColumn": 10, + "endLine": 542, + "endColumn": 24, "byteLength": 14 } } @@ -27074,10 +30509,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 477, - "startColumn": 12, - "endLine": 477, - "endColumn": 19, + "startLine": 543, + "startColumn": 10, + "endLine": 543, + "endColumn": 17, "byteLength": 7 } } @@ -27097,9 +30532,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 564, + "startLine": 633, "startColumn": 11, - "endLine": 564, + "endLine": 633, "endColumn": 17, "byteLength": 6 } @@ -27120,9 +30555,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 561, + "startLine": 629, "startColumn": 5, - "endLine": 561, + "endLine": 629, "endColumn": 51, "byteLength": 46 } @@ -27143,9 +30578,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 564, + "startLine": 633, "startColumn": 11, - "endLine": 564, + "endLine": 633, "endColumn": 17, "byteLength": 6 } @@ -27168,9 +30603,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 562, + "startLine": 630, "startColumn": 10, - "endLine": 562, + "endLine": 630, "endColumn": 17, "byteLength": 7 } @@ -27191,9 +30626,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 551, + "startLine": 619, "startColumn": 11, - "endLine": 551, + "endLine": 619, "endColumn": 19, "byteLength": 8 } @@ -27214,9 +30649,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 546, + "startLine": 614, "startColumn": 23, - "endLine": 546, + "endLine": 614, "endColumn": 46, "byteLength": 23 } @@ -27237,9 +30672,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 549, + "startLine": 617, "startColumn": 30, - "endLine": 549, + "endLine": 617, "endColumn": 59, "byteLength": 29 } @@ -27260,9 +30695,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 547, + "startLine": 615, "startColumn": 10, - "endLine": 547, + "endLine": 615, "endColumn": 17, "byteLength": 7 } @@ -27285,9 +30720,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 547, + "startLine": 615, "startColumn": 10, - "endLine": 547, + "endLine": 615, "endColumn": 17, "byteLength": 7 } @@ -27310,9 +30745,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 547, + "startLine": 615, "startColumn": 19, - "endLine": 547, + "endLine": 615, "endColumn": 32, "byteLength": 13 } @@ -27333,9 +30768,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 695, + "startLine": 778, "startColumn": 14, - "endLine": 695, + "endLine": 778, "endColumn": 22, "byteLength": 8 } @@ -27356,9 +30791,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 691, + "startLine": 774, "startColumn": 23, - "endLine": 691, + "endLine": 774, "endColumn": 42, "byteLength": 19 } @@ -27379,9 +30814,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 692, + "startLine": 775, "startColumn": 10, - "endLine": 692, + "endLine": 775, "endColumn": 17, "byteLength": 7 } @@ -27404,9 +30839,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 692, + "startLine": 775, "startColumn": 10, - "endLine": 692, + "endLine": 775, "endColumn": 17, "byteLength": 7 } @@ -27429,9 +30864,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 693, + "startLine": 776, "startColumn": 10, - "endLine": 693, + "endLine": 776, "endColumn": 21, "byteLength": 11 } @@ -27452,9 +30887,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 677, + "startLine": 760, "startColumn": 11, - "endLine": 677, + "endLine": 760, "endColumn": 17, "byteLength": 6 } @@ -27475,9 +30910,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 674, + "startLine": 757, "startColumn": 10, - "endLine": 674, + "endLine": 757, "endColumn": 17, "byteLength": 7 } @@ -27500,9 +30935,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 674, + "startLine": 757, "startColumn": 10, - "endLine": 674, + "endLine": 757, "endColumn": 17, "byteLength": 7 } @@ -27525,9 +30960,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 675, + "startLine": 758, "startColumn": 10, - "endLine": 675, + "endLine": 758, "endColumn": 17, "byteLength": 7 } @@ -27550,9 +30985,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 675, + "startLine": 758, "startColumn": 19, - "endLine": 675, + "endLine": 758, "endColumn": 36, "byteLength": 17 } diff --git a/src/plugins/markdown-report/tests/sarif/oracle/with-libc.sarif b/src/plugins/markdown-report/tests/sarif/oracle/with-libc.sarif index 49eef37ea69e3e7f40f200e22276de5ad597a508..32a3730cb3736ebcad4b6cf8f4dfa985f540f0bb 100644 --- a/src/plugins/markdown-report/tests/sarif/oracle/with-libc.sarif +++ b/src/plugins/markdown-report/tests/sarif/oracle/with-libc.sarif @@ -1318,9 +1318,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 88, + "startLine": 89, "startColumn": 13, - "endLine": 88, + "endLine": 89, "endColumn": 19, "byteLength": 6 } @@ -1341,9 +1341,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 88, + "startLine": 89, "startColumn": 13, - "endLine": 88, + "endLine": 89, "endColumn": 19, "byteLength": 6 } @@ -1364,9 +1364,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 88, + "startLine": 89, "startColumn": 13, - "endLine": 88, + "endLine": 89, "endColumn": 19, "byteLength": 6 } @@ -1479,9 +1479,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 85, + "startLine": 86, "startColumn": 28, - "endLine": 85, + "endLine": 86, "endColumn": 49, "byteLength": 21 } @@ -1493,7 +1493,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_same_base." }, + "message": { "text": "result_valid_read." }, "locations": [ { "physicalLocation": { @@ -1503,8 +1503,31 @@ }, "region": { "startLine": 79, - "startColumn": 30, + "startColumn": 31, "endLine": 79, + "endColumn": 58, + "byteLength": 27 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "result_same_base." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 80, + "startColumn": 30, + "endLine": 80, "endColumn": 66, "byteLength": 36 } @@ -1525,9 +1548,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 80, + "startLine": 81, "startColumn": 25, - "endLine": 80, + "endLine": 81, "endColumn": 45, "byteLength": 20 } @@ -1548,9 +1571,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 81, + "startLine": 82, "startColumn": 27, - "endLine": 83, + "endLine": 84, "endColumn": 54, "byteLength": 120 } @@ -1571,9 +1594,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 86, + "startLine": 87, "startColumn": 25, - "endLine": 86, + "endLine": 87, "endColumn": 41, "byteLength": 16 } @@ -1594,9 +1617,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 88, + "startLine": 89, "startColumn": 13, - "endLine": 88, + "endLine": 89, "endColumn": 19, "byteLength": 6 } @@ -1874,9 +1897,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 104, + "startLine": 121, "startColumn": 13, - "endLine": 104, + "endLine": 121, "endColumn": 19, "byteLength": 6 } @@ -1897,9 +1920,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 95, + "startLine": 112, "startColumn": 25, - "endLine": 95, + "endLine": 112, "endColumn": 48, "byteLength": 23 } @@ -1920,9 +1943,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 96, + "startLine": 113, "startColumn": 24, - "endLine": 96, + "endLine": 113, "endColumn": 51, "byteLength": 27 } @@ -1943,9 +1966,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 98, + "startLine": 115, "startColumn": 4, - "endLine": 98, + "endLine": 115, "endColumn": 62, "byteLength": 58 } @@ -1966,9 +1989,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 101, + "startLine": 118, "startColumn": 29, - "endLine": 101, + "endLine": 118, "endColumn": 76, "byteLength": 47 } @@ -1989,9 +2012,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 102, + "startLine": 119, "startColumn": 24, - "endLine": 102, + "endLine": 119, "endColumn": 39, "byteLength": 15 } @@ -2012,9 +2035,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 99, + "startLine": 116, "startColumn": 12, - "endLine": 99, + "endLine": 116, "endColumn": 35, "byteLength": 23 } @@ -2037,9 +2060,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 99, + "startLine": 116, "startColumn": 12, - "endLine": 99, + "endLine": 116, "endColumn": 35, "byteLength": 23 } @@ -2062,9 +2085,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 100, + "startLine": 117, "startColumn": 12, - "endLine": 100, + "endLine": 117, "endColumn": 19, "byteLength": 7 } @@ -2076,7 +2099,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function memmove." }, + "message": { "text": "behavior default! in function memmem." }, "locations": [ { "physicalLocation": { @@ -2085,34 +2108,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 127, + "startLine": 559, "startColumn": 13, - "endLine": 127, - "endColumn": 20, - "byteLength": 7 - } - } - } - ] - }, - { - "ruleId": "user-spec", - "kind": "pass", - "level": "none", - "message": { "text": "valid_dest." }, - "locations": [ - { - "physicalLocation": { - "artifactLocation": { - "uri": "libc/string.h", - "uriBaseId": "FRAMAC_SHARE" - }, - "region": { - "startLine": 120, - "startColumn": 25, - "endLine": 120, - "endColumn": 48, - "byteLength": 23 + "endLine": 559, + "endColumn": 19, + "byteLength": 6 } } } @@ -2122,7 +2122,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "valid_src." }, + "message": { "text": "valid_haystack." }, "locations": [ { "physicalLocation": { @@ -2131,11 +2131,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 121, - "startColumn": 24, - "endLine": 121, - "endColumn": 51, - "byteLength": 27 + "startLine": 549, + "startColumn": 27, + "endLine": 549, + "endColumn": 78, + "byteLength": 51 } } } @@ -2145,7 +2145,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "copied_contents." }, + "message": { "text": "valid_needle." }, "locations": [ { "physicalLocation": { @@ -2154,10 +2154,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 124, - "startColumn": 29, - "endLine": 124, - "endColumn": 76, + "startLine": 550, + "startColumn": 25, + "endLine": 550, + "endColumn": 72, "byteLength": 47 } } @@ -2168,7 +2168,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_ptr." }, + "message": { "text": "result_null_or_valid." }, "locations": [ { "physicalLocation": { @@ -2177,11 +2177,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 125, - "startColumn": 24, - "endLine": 125, - "endColumn": 39, - "byteLength": 15 + "startLine": 555, + "startColumn": 4, + "endLine": 555, + "endColumn": 51, + "byteLength": 47 } } } @@ -2191,7 +2191,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function memmove." }, + "message": { "text": "result_null_or_same_base." }, "locations": [ { "physicalLocation": { @@ -2200,11 +2200,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 122, - "startColumn": 12, - "endLine": 122, - "endColumn": 35, - "byteLength": 23 + "startLine": 557, + "startColumn": 4, + "endLine": 557, + "endColumn": 67, + "byteLength": 63 } } } @@ -2214,9 +2214,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term *((char *)dest + (0 .. n - 1)) in function memmove." - }, + "message": { "text": "assigns clause in function memmem." }, "locations": [ { "physicalLocation": { @@ -2225,11 +2223,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 122, - "startColumn": 12, - "endLine": 122, - "endColumn": 35, - "byteLength": 23 + "startLine": 559, + "startColumn": 13, + "endLine": 559, + "endColumn": 19, + "byteLength": 6 } } } @@ -2240,7 +2238,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term \\result in function memmove." + "text": "from clause of term \\result in function memmem." }, "locations": [ { @@ -2250,10 +2248,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 123, - "startColumn": 12, - "endLine": 123, - "endColumn": 19, + "startLine": 551, + "startColumn": 10, + "endLine": 551, + "endColumn": 17, "byteLength": 7 } } @@ -2264,7 +2262,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function mempcpy." }, + "message": { "text": "behavior default! in function memmove." }, "locations": [ { "physicalLocation": { @@ -2273,9 +2271,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 117, + "startLine": 144, "startColumn": 13, - "endLine": 117, + "endLine": 144, "endColumn": 20, "byteLength": 7 } @@ -2296,9 +2294,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 108, + "startLine": 137, "startColumn": 25, - "endLine": 108, + "endLine": 137, "endColumn": 48, "byteLength": 23 } @@ -2319,9 +2317,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 109, + "startLine": 138, "startColumn": 24, - "endLine": 109, + "endLine": 138, "endColumn": 51, "byteLength": 27 } @@ -2329,29 +2327,6 @@ } ] }, - { - "ruleId": "user-spec", - "kind": "pass", - "level": "none", - "message": { "text": "separation." }, - "locations": [ - { - "physicalLocation": { - "artifactLocation": { - "uri": "libc/string.h", - "uriBaseId": "FRAMAC_SHARE" - }, - "region": { - "startLine": 111, - "startColumn": 4, - "endLine": 111, - "endColumn": 62, - "byteLength": 58 - } - } - } - ] - }, { "ruleId": "user-spec", "kind": "pass", @@ -2365,9 +2340,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 114, + "startLine": 141, "startColumn": 29, - "endLine": 114, + "endLine": 141, "endColumn": 76, "byteLength": 47 } @@ -2379,7 +2354,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_next_byte." }, + "message": { "text": "result_ptr." }, "locations": [ { "physicalLocation": { @@ -2388,11 +2363,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 115, - "startColumn": 30, - "endLine": 115, - "endColumn": 49, - "byteLength": 19 + "startLine": 142, + "startColumn": 24, + "endLine": 142, + "endColumn": 39, + "byteLength": 15 } } } @@ -2402,7 +2377,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function mempcpy." }, + "message": { "text": "assigns clause in function memmove." }, "locations": [ { "physicalLocation": { @@ -2411,9 +2386,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 112, + "startLine": 139, "startColumn": 12, - "endLine": 112, + "endLine": 139, "endColumn": 35, "byteLength": 23 } @@ -2426,7 +2401,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term *((char *)dest + (0 .. n - 1)) in function mempcpy." + "text": "from clause of term *((char *)dest + (0 .. n - 1)) in function memmove." }, "locations": [ { @@ -2436,9 +2411,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 112, + "startLine": 139, "startColumn": 12, - "endLine": 112, + "endLine": 139, "endColumn": 35, "byteLength": 23 } @@ -2451,7 +2426,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term \\result in function mempcpy." + "text": "from clause of term \\result in function memmove." }, "locations": [ { @@ -2461,9 +2436,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 113, + "startLine": 140, "startColumn": 12, - "endLine": 113, + "endLine": 140, "endColumn": 19, "byteLength": 7 } @@ -2475,7 +2450,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function memset." }, + "message": { "text": "behavior default! in function mempcpy." }, "locations": [ { "physicalLocation": { @@ -2484,11 +2459,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 137, + "startLine": 134, "startColumn": 13, - "endLine": 137, - "endColumn": 19, - "byteLength": 6 + "endLine": 134, + "endColumn": 20, + "byteLength": 7 } } } @@ -2498,7 +2473,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "valid_s." }, + "message": { "text": "valid_dest." }, "locations": [ { "physicalLocation": { @@ -2507,11 +2482,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 131, - "startColumn": 22, - "endLine": 131, - "endColumn": 42, - "byteLength": 20 + "startLine": 125, + "startColumn": 25, + "endLine": 125, + "endColumn": 48, + "byteLength": 23 } } } @@ -2521,7 +2496,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "acsl_c_equiv." }, + "message": { "text": "valid_src." }, "locations": [ { "physicalLocation": { @@ -2530,11 +2505,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 134, - "startColumn": 26, - "endLine": 134, - "endColumn": 46, - "byteLength": 20 + "startLine": 126, + "startColumn": 24, + "endLine": 126, + "endColumn": 51, + "byteLength": 27 } } } @@ -2544,7 +2519,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_ptr." }, + "message": { "text": "separation." }, "locations": [ { "physicalLocation": { @@ -2553,11 +2528,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 135, - "startColumn": 24, - "endLine": 135, - "endColumn": 36, - "byteLength": 12 + "startLine": 128, + "startColumn": 4, + "endLine": 128, + "endColumn": 62, + "byteLength": 58 } } } @@ -2567,7 +2542,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function memset." }, + "message": { "text": "copied_contents." }, "locations": [ { "physicalLocation": { @@ -2576,11 +2551,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 132, - "startColumn": 12, - "endLine": 132, - "endColumn": 32, - "byteLength": 20 + "startLine": 131, + "startColumn": 29, + "endLine": 131, + "endColumn": 76, + "byteLength": 47 } } } @@ -2590,9 +2565,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term *((char *)s + (0 .. n - 1)) in function memset." - }, + "message": { "text": "result_next_byte." }, "locations": [ { "physicalLocation": { @@ -2602,10 +2575,10 @@ }, "region": { "startLine": 132, - "startColumn": 12, + "startColumn": 30, "endLine": 132, - "endColumn": 32, - "byteLength": 20 + "endColumn": 49, + "byteLength": 19 } } } @@ -2615,8 +2588,827 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term \\result in function memset." + "message": { "text": "assigns clause in function mempcpy." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 129, + "startColumn": 12, + "endLine": 129, + "endColumn": 35, + "byteLength": 23 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { + "text": "from clause of term *((char *)dest + (0 .. n - 1)) in function mempcpy." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 129, + "startColumn": 12, + "endLine": 129, + "endColumn": 35, + "byteLength": 23 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { + "text": "from clause of term \\result in function mempcpy." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 130, + "startColumn": 12, + "endLine": 130, + "endColumn": 19, + "byteLength": 7 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "behavior default! in function memrchr." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 108, + "startColumn": 13, + "endLine": 108, + "endColumn": 20, + "byteLength": 7 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "behavior found in function memrchr." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 108, + "startColumn": 13, + "endLine": 108, + "endColumn": 20, + "byteLength": 7 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "behavior not_found in function memrchr." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 108, + "startColumn": 13, + "endLine": 108, + "endColumn": 20, + "byteLength": 7 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "valid." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 94, + "startColumn": 18, + "endLine": 94, + "endColumn": 43, + "byteLength": 25 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "initialization." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 95, + "startColumn": 27, + "endLine": 95, + "endColumn": 73, + "byteLength": 46 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "danglingness." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 96, + "startColumn": 25, + "endLine": 96, + "endColumn": 43, + "byteLength": 18 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "char_found." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 99, + "startColumn": 24, + "endLine": 99, + "endColumn": 44, + "byteLength": 20 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "char_not_found." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 103, + "startColumn": 28, + "endLine": 103, + "endColumn": 49, + "byteLength": 21 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "result_valid_read." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 100, + "startColumn": 31, + "endLine": 100, + "endColumn": 58, + "byteLength": 27 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "result_same_base." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 101, + "startColumn": 30, + "endLine": 101, + "endColumn": 66, + "byteLength": 36 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "result_null." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 104, + "startColumn": 25, + "endLine": 104, + "endColumn": 41, + "byteLength": 16 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "assigns clause in function memrchr." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 108, + "startColumn": 13, + "endLine": 108, + "endColumn": 20, + "byteLength": 7 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { + "text": "from clause of term \\result in function memrchr." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 97, + "startColumn": 10, + "endLine": 97, + "endColumn": 17, + "byteLength": 7 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "complete clause in function memrchr." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 108, + "startColumn": 13, + "endLine": 108, + "endColumn": 20, + "byteLength": 7 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "disjoint clause in function memrchr." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 108, + "startColumn": 13, + "endLine": 108, + "endColumn": 20, + "byteLength": 7 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "behavior default! in function memset." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 154, + "startColumn": 13, + "endLine": 154, + "endColumn": 19, + "byteLength": 6 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "valid_s." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 148, + "startColumn": 22, + "endLine": 148, + "endColumn": 42, + "byteLength": 20 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "acsl_c_equiv." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 151, + "startColumn": 26, + "endLine": 151, + "endColumn": 46, + "byteLength": 20 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "result_ptr." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 152, + "startColumn": 24, + "endLine": 152, + "endColumn": 36, + "byteLength": 12 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "assigns clause in function memset." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 149, + "startColumn": 12, + "endLine": 149, + "endColumn": 32, + "byteLength": 20 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { + "text": "from clause of term *((char *)s + (0 .. n - 1)) in function memset." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 149, + "startColumn": 12, + "endLine": 149, + "endColumn": 32, + "byteLength": 20 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { + "text": "from clause of term \\result in function memset." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 150, + "startColumn": 12, + "endLine": 150, + "endColumn": 19, + "byteLength": 7 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "behavior default! in function stpcpy." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 473, + "startColumn": 13, + "endLine": 473, + "endColumn": 19, + "byteLength": 6 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "valid_string_src." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 464, + "startColumn": 31, + "endLine": 464, + "endColumn": 53, + "byteLength": 22 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "room_string." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 465, + "startColumn": 26, + "endLine": 465, + "endColumn": 55, + "byteLength": 29 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "separation." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 467, + "startColumn": 4, + "endLine": 467, + "endColumn": 59, + "byteLength": 55 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "equal_contents." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 470, + "startColumn": 28, + "endLine": 470, + "endColumn": 49, + "byteLength": 21 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "points_to_end." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 471, + "startColumn": 27, + "endLine": 471, + "endColumn": 57, + "byteLength": 30 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "assigns clause in function stpcpy." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 468, + "startColumn": 12, + "endLine": 468, + "endColumn": 32, + "byteLength": 20 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { + "text": "from clause of term *(dest + (0 .. strlen{Old}(src))) in function stpcpy." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 468, + "startColumn": 12, + "endLine": 468, + "endColumn": 32, + "byteLength": 20 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { + "text": "from clause of term \\result in function stpcpy." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 469, + "startColumn": 12, + "endLine": 469, + "endColumn": 19, + "byteLength": 7 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "behavior default! in function stpncpy." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 630, + "startColumn": 13, + "endLine": 630, + "endColumn": 20, + "byteLength": 7 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { + "text": "behavior src_is_a_string in function stpncpy." }, "locations": [ { @@ -2626,11 +3418,80 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 133, - "startColumn": 12, - "endLine": 133, - "endColumn": 19, - "byteLength": 7 + "startLine": 630, + "startColumn": 13, + "endLine": 630, + "endColumn": 20, + "byteLength": 7 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "behavior src_too_long in function stpncpy." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 630, + "startColumn": 13, + "endLine": 630, + "endColumn": 20, + "byteLength": 7 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "valid_string_src." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 612, + "startColumn": 29, + "endLine": 612, + "endColumn": 55, + "byteLength": 26 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "valid_dest." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 613, + "startColumn": 23, + "endLine": 613, + "endColumn": 46, + "byteLength": 23 } } } @@ -2640,7 +3501,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function stpcpy." }, + "message": { "text": "separation." }, "locations": [ { "physicalLocation": { @@ -2649,11 +3510,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 421, - "startColumn": 13, - "endLine": 421, - "endColumn": 19, - "byteLength": 6 + "startLine": 614, + "startColumn": 23, + "endLine": 614, + "endColumn": 66, + "byteLength": 43 } } } @@ -2663,7 +3524,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "valid_string_src." }, + "message": { "text": "src_has_nul." }, "locations": [ { "physicalLocation": { @@ -2672,11 +3533,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 412, - "startColumn": 31, - "endLine": 412, - "endColumn": 53, - "byteLength": 22 + "startLine": 619, + "startColumn": 25, + "endLine": 619, + "endColumn": 40, + "byteLength": 15 } } } @@ -2686,7 +3547,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "room_string." }, + "message": { "text": "src_no_nul." }, "locations": [ { "physicalLocation": { @@ -2695,9 +3556,32 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 413, + "startLine": 626, + "startColumn": 24, + "endLine": 626, + "endColumn": 69, + "byteLength": 45 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "initialization." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 617, "startColumn": 26, - "endLine": 413, + "endLine": 617, "endColumn": 55, "byteLength": 29 } @@ -2709,7 +3593,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "separation." }, + "message": { "text": "valid_string_dest." }, "locations": [ { "physicalLocation": { @@ -2718,11 +3602,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 415, - "startColumn": 4, - "endLine": 415, - "endColumn": 59, - "byteLength": 55 + "startLine": 620, + "startColumn": 31, + "endLine": 620, + "endColumn": 54, + "byteLength": 23 } } } @@ -2732,7 +3616,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "equal_contents." }, + "message": { "text": "same_contents." }, "locations": [ { "physicalLocation": { @@ -2741,11 +3625,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 418, - "startColumn": 28, - "endLine": 418, + "startLine": 621, + "startColumn": 27, + "endLine": 621, "endColumn": 49, - "byteLength": 21 + "byteLength": 22 } } } @@ -2755,7 +3639,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "points_to_end." }, + "message": { "text": "dest_nul_padded." }, "locations": [ { "physicalLocation": { @@ -2764,11 +3648,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 419, - "startColumn": 27, - "endLine": 419, - "endColumn": 57, - "byteLength": 30 + "startLine": 623, + "startColumn": 6, + "endLine": 623, + "endColumn": 62, + "byteLength": 56 } } } @@ -2778,7 +3662,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function stpcpy." }, + "message": { "text": "result_points_to_nul." }, "locations": [ { "physicalLocation": { @@ -2787,11 +3671,80 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 416, - "startColumn": 12, - "endLine": 416, - "endColumn": 32, - "byteLength": 20 + "startLine": 624, + "startColumn": 34, + "endLine": 624, + "endColumn": 63, + "byteLength": 29 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "same_partial_contents." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 627, + "startColumn": 35, + "endLine": 627, + "endColumn": 61, + "byteLength": 26 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "result_points_to_end." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 628, + "startColumn": 34, + "endLine": 628, + "endColumn": 53, + "byteLength": 19 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "assigns clause in function stpncpy." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 615, + "startColumn": 10, + "endLine": 615, + "endColumn": 24, + "byteLength": 14 } } } @@ -2802,7 +3755,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term *(dest + (0 .. strlen{Old}(src))) in function stpcpy." + "text": "from clause of term *(dest + (0 .. n - 1)) in function stpncpy." }, "locations": [ { @@ -2812,11 +3765,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 416, - "startColumn": 12, - "endLine": 416, - "endColumn": 32, - "byteLength": 20 + "startLine": 615, + "startColumn": 10, + "endLine": 615, + "endColumn": 24, + "byteLength": 14 } } } @@ -2827,7 +3780,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term \\result in function stpcpy." + "text": "from clause of term \\result in function stpncpy." }, "locations": [ { @@ -2837,10 +3790,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 417, - "startColumn": 12, - "endLine": 417, - "endColumn": 19, + "startLine": 616, + "startColumn": 10, + "endLine": 616, + "endColumn": 17, "byteLength": 7 } } @@ -2977,9 +3930,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 255, + "startLine": 281, "startColumn": 13, - "endLine": 255, + "endLine": 281, "endColumn": 23, "byteLength": 10 } @@ -3000,10 +3953,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 247, - "startColumn": 36, - "endLine": 247, - "endColumn": 63, + "startLine": 271, + "startColumn": 34, + "endLine": 271, + "endColumn": 61, "byteLength": 27 } } @@ -3023,10 +3976,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 248, - "startColumn": 34, - "endLine": 248, - "endColumn": 59, + "startLine": 272, + "startColumn": 32, + "endLine": 272, + "endColumn": 57, "byteLength": 25 } } @@ -3046,11 +3999,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 252, + "startLine": 276, "startColumn": 4, - "endLine": 253, - "endColumn": 65, - "byteLength": 82 + "endLine": 278, + "endColumn": 49, + "byteLength": 104 } } } @@ -3069,9 +4022,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 255, + "startLine": 281, "startColumn": 13, - "endLine": 255, + "endLine": 281, "endColumn": 23, "byteLength": 10 } @@ -3094,10 +4047,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 249, - "startColumn": 12, - "endLine": 249, - "endColumn": 19, + "startLine": 273, + "startColumn": 10, + "endLine": 273, + "endColumn": 17, "byteLength": 7 } } @@ -3117,9 +4070,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 436, + "startLine": 490, "startColumn": 13, - "endLine": 436, + "endLine": 490, "endColumn": 19, "byteLength": 6 } @@ -3140,9 +4093,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 424, + "startLine": 476, "startColumn": 31, - "endLine": 424, + "endLine": 476, "endColumn": 53, "byteLength": 22 } @@ -3163,9 +4116,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 425, + "startLine": 477, "startColumn": 32, - "endLine": 425, + "endLine": 477, "endColumn": 50, "byteLength": 18 } @@ -3186,9 +4139,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 426, + "startLine": 478, "startColumn": 26, - "endLine": 426, + "endLine": 478, "endColumn": 70, "byteLength": 44 } @@ -3196,6 +4149,29 @@ } ] }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "separation." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 480, + "startColumn": 4, + "endLine": 480, + "endColumn": 72, + "byteLength": 68 + } + } + } + ] + }, { "ruleId": "user-spec", "kind": "pass", @@ -3209,9 +4185,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 429, + "startLine": 483, "startColumn": 28, - "endLine": 429, + "endLine": 483, "endColumn": 76, "byteLength": 48 } @@ -3232,9 +4208,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 432, + "startLine": 486, "startColumn": 4, - "endLine": 432, + "endLine": 486, "endColumn": 60, "byteLength": 56 } @@ -3255,9 +4231,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 433, + "startLine": 487, "startColumn": 34, - "endLine": 433, + "endLine": 487, "endColumn": 77, "byteLength": 43 } @@ -3278,9 +4254,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 434, + "startLine": 488, "startColumn": 24, - "endLine": 434, + "endLine": 488, "endColumn": 39, "byteLength": 15 } @@ -3301,9 +4277,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 427, + "startLine": 481, "startColumn": 12, - "endLine": 427, + "endLine": 481, "endColumn": 58, "byteLength": 46 } @@ -3326,9 +4302,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 427, + "startLine": 481, "startColumn": 12, - "endLine": 427, + "endLine": 481, "endColumn": 58, "byteLength": 46 } @@ -3351,9 +4327,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 430, + "startLine": 484, "startColumn": 12, - "endLine": 430, + "endLine": 484, "endColumn": 19, "byteLength": 7 } @@ -3361,29 +4337,6 @@ } ] }, - { - "ruleId": "user-spec", - "kind": "pass", - "level": "none", - "message": { "text": "behavior default in function strchr." }, - "locations": [ - { - "physicalLocation": { - "artifactLocation": { - "uri": "libc/string.h", - "uriBaseId": "FRAMAC_SHARE" - }, - "region": { - "startLine": 189, - "startColumn": 13, - "endLine": 189, - "endColumn": 19, - "byteLength": 6 - } - } - } - ] - }, { "ruleId": "user-spec", "kind": "pass", @@ -3397,9 +4350,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 189, + "startLine": 209, "startColumn": 13, - "endLine": 189, + "endLine": 209, "endColumn": 19, "byteLength": 6 } @@ -3420,9 +4373,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 189, + "startLine": 209, "startColumn": 13, - "endLine": 189, + "endLine": 209, "endColumn": 19, "byteLength": 6 } @@ -3443,9 +4396,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 189, + "startLine": 209, "startColumn": 13, - "endLine": 189, + "endLine": 209, "endColumn": 19, "byteLength": 6 } @@ -3466,10 +4419,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 173, - "startColumn": 29, - "endLine": 173, - "endColumn": 49, + "startLine": 193, + "startColumn": 27, + "endLine": 193, + "endColumn": 47, "byteLength": 20 } } @@ -3489,9 +4442,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 176, + "startLine": 196, "startColumn": 24, - "endLine": 176, + "endLine": 196, "endColumn": 35, "byteLength": 11 } @@ -3512,9 +4465,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 183, + "startLine": 204, "startColumn": 28, - "endLine": 183, + "endLine": 204, "endColumn": 40, "byteLength": 12 } @@ -3522,6 +4475,29 @@ } ] }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "result_valid_string." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 197, + "startColumn": 33, + "endLine": 197, + "endColumn": 59, + "byteLength": 26 + } + } + } + ] + }, { "ruleId": "user-spec", "kind": "pass", @@ -3535,9 +4511,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 177, + "startLine": 198, "startColumn": 25, - "endLine": 177, + "endLine": 198, "endColumn": 44, "byteLength": 19 } @@ -3558,9 +4534,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 178, + "startLine": 199, "startColumn": 30, - "endLine": 178, + "endLine": 199, "endColumn": 66, "byteLength": 36 } @@ -3581,9 +4557,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 179, + "startLine": 200, "startColumn": 30, - "endLine": 179, + "endLine": 200, "endColumn": 59, "byteLength": 29 } @@ -3595,7 +4571,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_valid_string." }, + "message": { "text": "result_first_occurrence." }, "locations": [ { "physicalLocation": { @@ -3604,11 +4580,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 180, - "startColumn": 33, - "endLine": 180, - "endColumn": 59, - "byteLength": 26 + "startLine": 202, + "startColumn": 6, + "endLine": 202, + "endColumn": 57, + "byteLength": 51 } } } @@ -3618,7 +4594,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_first_occur." }, + "message": { "text": "result_null." }, "locations": [ { "physicalLocation": { @@ -3627,11 +4603,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 181, - "startColumn": 32, - "endLine": 181, - "endColumn": 79, - "byteLength": 47 + "startLine": 205, + "startColumn": 25, + "endLine": 205, + "endColumn": 41, + "byteLength": 16 } } } @@ -3641,7 +4617,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_null." }, + "message": { "text": "assigns clause in function strchr." }, "locations": [ { "physicalLocation": { @@ -3650,11 +4626,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 184, - "startColumn": 25, - "endLine": 184, - "endColumn": 41, - "byteLength": 16 + "startLine": 209, + "startColumn": 13, + "endLine": 209, + "endColumn": 19, + "byteLength": 6 } } } @@ -3664,7 +4640,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_null_or_same_base." }, + "message": { + "text": "from clause of term \\result in function strchr." + }, "locations": [ { "physicalLocation": { @@ -3673,11 +4651,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 187, - "startColumn": 4, - "endLine": 187, - "endColumn": 60, - "byteLength": 56 + "startLine": 194, + "startColumn": 10, + "endLine": 194, + "endColumn": 17, + "byteLength": 7 } } } @@ -3687,7 +4665,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function strchr." }, + "message": { "text": "complete clause in function strchr." }, "locations": [ { "physicalLocation": { @@ -3696,9 +4674,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 189, + "startLine": 209, "startColumn": 13, - "endLine": 189, + "endLine": 209, "endColumn": 19, "byteLength": 6 } @@ -3710,9 +4688,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term \\result in function strchr." - }, + "message": { "text": "disjoint clause in function strchr." }, "locations": [ { "physicalLocation": { @@ -3721,11 +4697,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 174, - "startColumn": 12, - "endLine": 174, + "startLine": 209, + "startColumn": 13, + "endLine": 209, "endColumn": 19, - "byteLength": 7 + "byteLength": 6 } } } @@ -3744,9 +4720,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 195, + "startLine": 217, "startColumn": 13, - "endLine": 195, + "endLine": 217, "endColumn": 22, "byteLength": 9 } @@ -3767,16 +4743,39 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 191, - "startColumn": 29, - "endLine": 191, - "endColumn": 49, + "startLine": 212, + "startColumn": 27, + "endLine": 212, + "endColumn": 47, "byteLength": 20 } } } ] }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "result_valid_string." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 214, + "startColumn": 31, + "endLine": 214, + "endColumn": 57, + "byteLength": 26 + } + } + } + ] + }, { "ruleId": "user-spec", "kind": "pass", @@ -3790,11 +4789,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 193, - "startColumn": 30, - "endLine": 193, + "startLine": 215, + "startColumn": 28, + "endLine": 215, "endColumn": 64, - "byteLength": 34 + "byteLength": 36 } } } @@ -3813,9 +4812,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 195, + "startLine": 217, "startColumn": 13, - "endLine": 195, + "endLine": 217, "endColumn": 22, "byteLength": 9 } @@ -3838,10 +4837,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 192, - "startColumn": 12, - "endLine": 192, - "endColumn": 19, + "startLine": 213, + "startColumn": 10, + "endLine": 213, + "endColumn": 17, "byteLength": 7 } } @@ -3861,9 +4860,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 158, + "startLine": 176, "startColumn": 11, - "endLine": 158, + "endLine": 176, "endColumn": 17, "byteLength": 6 } @@ -3884,9 +4883,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 153, + "startLine": 170, "startColumn": 30, - "endLine": 153, + "endLine": 170, "endColumn": 51, "byteLength": 21 } @@ -3907,9 +4906,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 154, + "startLine": 171, "startColumn": 30, - "endLine": 154, + "endLine": 171, "endColumn": 51, "byteLength": 21 } @@ -3930,9 +4929,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 156, + "startLine": 174, "startColumn": 26, - "endLine": 156, + "endLine": 174, "endColumn": 50, "byteLength": 24 } @@ -3953,9 +4952,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 158, + "startLine": 176, "startColumn": 11, - "endLine": 158, + "endLine": 176, "endColumn": 17, "byteLength": 6 } @@ -3978,9 +4977,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 155, + "startLine": 172, "startColumn": 12, - "endLine": 155, + "endLine": 172, "endColumn": 19, "byteLength": 7 } @@ -4001,9 +5000,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 171, + "startLine": 190, "startColumn": 11, - "endLine": 171, + "endLine": 190, "endColumn": 18, "byteLength": 7 } @@ -4024,9 +5023,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 167, + "startLine": 185, "startColumn": 30, - "endLine": 167, + "endLine": 185, "endColumn": 51, "byteLength": 21 } @@ -4047,9 +5046,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 168, + "startLine": 186, "startColumn": 30, - "endLine": 168, + "endLine": 186, "endColumn": 51, "byteLength": 21 } @@ -4070,9 +5069,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 171, + "startLine": 190, "startColumn": 11, - "endLine": 171, + "endLine": 190, "endColumn": 18, "byteLength": 7 } @@ -4095,9 +5094,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 169, + "startLine": 187, "startColumn": 12, - "endLine": 169, + "endLine": 187, "endColumn": 19, "byteLength": 7 } @@ -4118,9 +5117,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 376, + "startLine": 428, "startColumn": 13, - "endLine": 376, + "endLine": 428, "endColumn": 19, "byteLength": 6 } @@ -4141,9 +5140,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 367, + "startLine": 419, "startColumn": 31, - "endLine": 367, + "endLine": 419, "endColumn": 53, "byteLength": 22 } @@ -4164,9 +5163,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 368, + "startLine": 420, "startColumn": 26, - "endLine": 368, + "endLine": 420, "endColumn": 55, "byteLength": 29 } @@ -4187,9 +5186,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 370, + "startLine": 422, "startColumn": 4, - "endLine": 370, + "endLine": 422, "endColumn": 59, "byteLength": 55 } @@ -4210,9 +5209,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 373, + "startLine": 425, "startColumn": 28, - "endLine": 373, + "endLine": 425, "endColumn": 49, "byteLength": 21 } @@ -4233,9 +5232,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 374, + "startLine": 426, "startColumn": 24, - "endLine": 374, + "endLine": 426, "endColumn": 39, "byteLength": 15 } @@ -4256,9 +5255,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 371, + "startLine": 423, "startColumn": 12, - "endLine": 371, + "endLine": 423, "endColumn": 32, "byteLength": 20 } @@ -4281,9 +5280,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 371, + "startLine": 423, "startColumn": 12, - "endLine": 371, + "endLine": 423, "endColumn": 32, "byteLength": 20 } @@ -4306,9 +5305,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 372, + "startLine": 424, "startColumn": 12, - "endLine": 372, + "endLine": 424, "endColumn": 19, "byteLength": 7 } @@ -4329,9 +5328,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 218, + "startLine": 235, "startColumn": 14, - "endLine": 218, + "endLine": 235, "endColumn": 21, "byteLength": 7 } @@ -4352,10 +5351,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 213, - "startColumn": 29, - "endLine": 213, - "endColumn": 49, + "startLine": 229, + "startColumn": 27, + "endLine": 229, + "endColumn": 47, "byteLength": 20 } } @@ -4375,10 +5374,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 214, - "startColumn": 34, - "endLine": 214, - "endColumn": 59, + "startLine": 230, + "startColumn": 32, + "endLine": 230, + "endColumn": 57, "byteLength": 25 } } @@ -4398,10 +5397,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 216, - "startColumn": 28, - "endLine": 216, - "endColumn": 53, + "startLine": 233, + "startColumn": 26, + "endLine": 233, + "endColumn": 51, "byteLength": 25 } } @@ -4421,9 +5420,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 218, + "startLine": 235, "startColumn": 14, - "endLine": 218, + "endLine": 235, "endColumn": 21, "byteLength": 7 } @@ -4446,10 +5445,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 215, - "startColumn": 12, - "endLine": 215, - "endColumn": 19, + "startLine": 231, + "startColumn": 10, + "endLine": 231, + "endColumn": 17, "byteLength": 7 } } @@ -4469,9 +5468,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 500, + "startLine": 582, "startColumn": 13, - "endLine": 500, + "endLine": 582, "endColumn": 19, "byteLength": 6 } @@ -4492,9 +5491,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 500, + "startLine": 582, "startColumn": 13, - "endLine": 500, + "endLine": 582, "endColumn": 19, "byteLength": 6 } @@ -4515,9 +5514,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 500, + "startLine": 582, "startColumn": 13, - "endLine": 500, + "endLine": 582, "endColumn": 19, "byteLength": 6 } @@ -4538,10 +5537,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 484, - "startColumn": 29, - "endLine": 484, - "endColumn": 49, + "startLine": 565, + "startColumn": 27, + "endLine": 565, + "endColumn": 47, "byteLength": 20 } } @@ -4561,11 +5560,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 488, + "startLine": 569, "startColumn": 26, - "endLine": 488, - "endColumn": 49, - "byteLength": 23 + "endLine": 569, + "endColumn": 51, + "byteLength": 25 } } } @@ -4584,11 +5583,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 495, + "startLine": 577, "startColumn": 29, - "endLine": 495, - "endColumn": 53, - "byteLength": 24 + "endLine": 577, + "endColumn": 55, + "byteLength": 26 } } } @@ -4607,11 +5606,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 491, + "startLine": 573, "startColumn": 24, - "endLine": 491, - "endColumn": 49, - "byteLength": 25 + "endLine": 573, + "endColumn": 51, + "byteLength": 27 } } } @@ -4630,10 +5629,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 493, - "startColumn": 4, - "endLine": 493, - "endColumn": 51, + "startLine": 575, + "startColumn": 6, + "endLine": 575, + "endColumn": 53, "byteLength": 47 } } @@ -4653,9 +5652,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 498, + "startLine": 580, "startColumn": 25, - "endLine": 498, + "endLine": 580, "endColumn": 41, "byteLength": 16 } @@ -4676,9 +5675,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 489, + "startLine": 570, "startColumn": 12, - "endLine": 489, + "endLine": 570, "endColumn": 28, "byteLength": 16 } @@ -4699,9 +5698,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 500, + "startLine": 582, "startColumn": 13, - "endLine": 500, + "endLine": 582, "endColumn": 19, "byteLength": 6 } @@ -4722,9 +5721,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 500, + "startLine": 582, "startColumn": 13, - "endLine": 500, + "endLine": 582, "endColumn": 19, "byteLength": 6 } @@ -4747,9 +5746,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 489, + "startLine": 570, "startColumn": 12, - "endLine": 489, + "endLine": 570, "endColumn": 28, "byteLength": 16 } @@ -4772,9 +5771,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 490, + "startLine": 572, "startColumn": 12, - "endLine": 490, + "endLine": 572, "endColumn": 19, "byteLength": 7 } @@ -4797,10 +5796,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 486, - "startColumn": 12, - "endLine": 486, - "endColumn": 19, + "startLine": 567, + "startColumn": 10, + "endLine": 567, + "endColumn": 17, "byteLength": 7 } } @@ -4822,9 +5821,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 496, + "startLine": 579, "startColumn": 12, - "endLine": 496, + "endLine": 579, "endColumn": 19, "byteLength": 7 } @@ -4845,10 +5844,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 485, - "startColumn": 14, - "endLine": 485, - "endColumn": 21, + "startLine": 566, + "startColumn": 12, + "endLine": 566, + "endColumn": 19, "byteLength": 7 } } @@ -4868,9 +5867,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 500, + "startLine": 582, "startColumn": 13, - "endLine": 500, + "endLine": 582, "endColumn": 19, "byteLength": 6 } @@ -4891,9 +5890,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 363, + "startLine": 415, "startColumn": 13, - "endLine": 363, + "endLine": 415, "endColumn": 21, "byteLength": 8 } @@ -4914,9 +5913,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 359, + "startLine": 411, "startColumn": 33, - "endLine": 359, + "endLine": 411, "endColumn": 59, "byteLength": 26 } @@ -4937,9 +5936,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 360, + "startLine": 412, "startColumn": 35, - "endLine": 360, + "endLine": 412, "endColumn": 51, "byteLength": 16 } @@ -4960,9 +5959,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 361, + "startLine": 413, "startColumn": 33, - "endLine": 361, + "endLine": 413, "endColumn": 59, "byteLength": 26 } @@ -4983,9 +5982,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 363, + "startLine": 415, "startColumn": 13, - "endLine": 363, + "endLine": 415, "endColumn": 21, "byteLength": 8 } @@ -5008,9 +6007,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 358, + "startLine": 410, "startColumn": 12, - "endLine": 358, + "endLine": 410, "endColumn": 19, "byteLength": 7 } @@ -5031,9 +6030,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 471, + "startLine": 536, "startColumn": 14, - "endLine": 471, + "endLine": 536, "endColumn": 21, "byteLength": 7 } @@ -5054,9 +6053,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 464, + "startLine": 526, "startColumn": 31, - "endLine": 464, + "endLine": 526, "endColumn": 53, "byteLength": 22 } @@ -5077,9 +6076,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 465, + "startLine": 527, "startColumn": 32, - "endLine": 465, + "endLine": 527, "endColumn": 50, "byteLength": 18 } @@ -5100,9 +6099,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 466, + "startLine": 528, "startColumn": 27, - "endLine": 466, + "endLine": 528, "endColumn": 48, "byteLength": 21 } @@ -5110,6 +6109,29 @@ } ] }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "separation." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 530, + "startColumn": 4, + "endLine": 531, + "endColumn": 31, + "byteLength": 89 + } + } + } + ] + }, { "ruleId": "user-spec", "kind": "pass", @@ -5123,9 +6145,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 469, + "startLine": 534, "startColumn": 28, - "endLine": 469, + "endLine": 534, "endColumn": 65, "byteLength": 37 } @@ -5146,9 +6168,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 467, + "startLine": 532, "startColumn": 12, - "endLine": 467, + "endLine": 532, "endColumn": 33, "byteLength": 21 } @@ -5171,9 +6193,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 467, + "startLine": 532, "startColumn": 12, - "endLine": 467, + "endLine": 532, "endColumn": 33, "byteLength": 21 } @@ -5196,9 +6218,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 468, + "startLine": 533, "startColumn": 12, - "endLine": 468, + "endLine": 533, "endColumn": 19, "byteLength": 7 } @@ -5219,9 +6241,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 409, + "startLine": 461, "startColumn": 7, - "endLine": 409, + "endLine": 461, "endColumn": 14, "byteLength": 7 } @@ -5242,9 +6264,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 400, + "startLine": 452, "startColumn": 31, - "endLine": 400, + "endLine": 452, "endColumn": 53, "byteLength": 22 } @@ -5265,9 +6287,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 401, + "startLine": 453, "startColumn": 27, - "endLine": 401, + "endLine": 453, "endColumn": 48, "byteLength": 21 } @@ -5288,9 +6310,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 403, + "startLine": 455, "startColumn": 4, - "endLine": 403, + "endLine": 455, "endColumn": 61, "byteLength": 57 } @@ -5311,9 +6333,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 406, + "startLine": 458, "startColumn": 28, - "endLine": 406, + "endLine": 458, "endColumn": 73, "byteLength": 45 } @@ -5334,9 +6356,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 407, + "startLine": 459, "startColumn": 28, - "endLine": 407, + "endLine": 459, "endColumn": 50, "byteLength": 22 } @@ -5357,9 +6379,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 404, + "startLine": 456, "startColumn": 12, - "endLine": 404, + "endLine": 456, "endColumn": 24, "byteLength": 12 } @@ -5382,9 +6404,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 404, + "startLine": 456, "startColumn": 12, - "endLine": 404, + "endLine": 456, "endColumn": 24, "byteLength": 12 } @@ -5407,9 +6429,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 405, + "startLine": 457, "startColumn": 12, - "endLine": 405, + "endLine": 457, "endColumn": 19, "byteLength": 7 } @@ -5430,9 +6452,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 145, + "startLine": 162, "startColumn": 14, - "endLine": 145, + "endLine": 162, "endColumn": 20, "byteLength": 6 } @@ -5453,9 +6475,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 141, + "startLine": 158, "startColumn": 29, - "endLine": 141, + "endLine": 158, "endColumn": 49, "byteLength": 20 } @@ -5476,9 +6498,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 143, + "startLine": 160, "startColumn": 26, - "endLine": 143, + "endLine": 160, "endColumn": 46, "byteLength": 20 } @@ -5499,9 +6521,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 145, + "startLine": 162, "startColumn": 14, - "endLine": 145, + "endLine": 162, "endColumn": 20, "byteLength": 6 } @@ -5524,9 +6546,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 142, + "startLine": 159, "startColumn": 12, - "endLine": 142, + "endLine": 159, "endColumn": 19, "byteLength": 7 } @@ -5664,9 +6686,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 460, + "startLine": 522, "startColumn": 13, - "endLine": 460, + "endLine": 522, "endColumn": 20, "byteLength": 7 } @@ -5687,9 +6709,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 460, + "startLine": 522, "startColumn": 13, - "endLine": 460, + "endLine": 522, "endColumn": 20, "byteLength": 7 } @@ -5710,9 +6732,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 460, + "startLine": 522, "startColumn": 13, - "endLine": 460, + "endLine": 522, "endColumn": 20, "byteLength": 7 } @@ -5733,10 +6755,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 439, - "startColumn": 32, - "endLine": 439, - "endColumn": 58, + "startLine": 497, + "startColumn": 30, + "endLine": 497, + "endColumn": 56, "byteLength": 26 } } @@ -5756,16 +6778,39 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 440, - "startColumn": 32, - "endLine": 440, - "endColumn": 50, + "startLine": 498, + "startColumn": 30, + "endLine": 498, + "endColumn": 48, "byteLength": 18 } } } ] }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "separation." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 500, + "startColumn": 4, + "endLine": 501, + "endColumn": 40, + "byteLength": 91 + } + } + } + ] + }, { "ruleId": "user-spec", "kind": "pass", @@ -5779,9 +6824,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 446, + "startLine": 507, "startColumn": 26, - "endLine": 446, + "endLine": 507, "endColumn": 74, "byteLength": 48 } @@ -5802,9 +6847,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 454, + "startLine": 514, "startColumn": 26, - "endLine": 454, + "endLine": 514, "endColumn": 64, "byteLength": 38 } @@ -5816,7 +6861,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "valid_string_src_fits." }, + "message": { "text": "src_fits." }, "locations": [ { "physicalLocation": { @@ -5825,11 +6870,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 445, - "startColumn": 35, - "endLine": 445, - "endColumn": 77, - "byteLength": 42 + "startLine": 506, + "startColumn": 22, + "endLine": 506, + "endColumn": 41, + "byteLength": 19 } } } @@ -5839,7 +6884,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "valid_string_src_too_large." }, + "message": { "text": "src_too_large." }, "locations": [ { "physicalLocation": { @@ -5848,11 +6893,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 453, - "startColumn": 4, - "endLine": 453, - "endColumn": 49, - "byteLength": 45 + "startLine": 513, + "startColumn": 27, + "endLine": 513, + "endColumn": 47, + "byteLength": 20 } } } @@ -5871,10 +6916,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 443, - "startColumn": 24, - "endLine": 443, - "endColumn": 39, + "startLine": 504, + "startColumn": 22, + "endLine": 504, + "endColumn": 37, "byteLength": 15 } } @@ -5894,9 +6939,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 450, + "startLine": 511, "startColumn": 28, - "endLine": 450, + "endLine": 511, "endColumn": 76, "byteLength": 48 } @@ -5917,9 +6962,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 458, + "startLine": 518, "startColumn": 36, - "endLine": 458, + "endLine": 518, "endColumn": 74, "byteLength": 38 } @@ -5940,11 +6985,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 447, + "startLine": 508, "startColumn": 12, - "endLine": 447, - "endColumn": 58, - "byteLength": 46 + "endLine": 508, + "endColumn": 60, + "byteLength": 48 } } } @@ -5963,10 +7008,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 441, - "startColumn": 12, - "endLine": 441, - "endColumn": 50, + "startLine": 502, + "startColumn": 10, + "endLine": 502, + "endColumn": 48, "byteLength": 38 } } @@ -5986,11 +7031,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 455, + "startLine": 515, "startColumn": 12, - "endLine": 455, - "endColumn": 48, - "byteLength": 36 + "endLine": 515, + "endColumn": 50, + "byteLength": 38 } } } @@ -6011,11 +7056,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 447, + "startLine": 508, "startColumn": 12, - "endLine": 447, - "endColumn": 58, - "byteLength": 46 + "endLine": 508, + "endColumn": 60, + "byteLength": 48 } } } @@ -6036,9 +7081,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 449, + "startLine": 510, "startColumn": 12, - "endLine": 449, + "endLine": 510, "endColumn": 19, "byteLength": 7 } @@ -6061,10 +7106,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 441, - "startColumn": 12, - "endLine": 441, - "endColumn": 50, + "startLine": 502, + "startColumn": 10, + "endLine": 502, + "endColumn": 48, "byteLength": 38 } } @@ -6086,10 +7131,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 442, - "startColumn": 12, - "endLine": 442, - "endColumn": 19, + "startLine": 503, + "startColumn": 10, + "endLine": 503, + "endColumn": 17, "byteLength": 7 } } @@ -6111,11 +7156,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 455, + "startLine": 515, "startColumn": 12, - "endLine": 455, - "endColumn": 48, - "byteLength": 36 + "endLine": 515, + "endColumn": 50, + "byteLength": 38 } } } @@ -6136,9 +7181,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 457, + "startLine": 517, "startColumn": 12, - "endLine": 457, + "endLine": 517, "endColumn": 19, "byteLength": 7 } @@ -6146,6 +7191,52 @@ } ] }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "complete clause in function strncat." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 522, + "startColumn": 13, + "endLine": 522, + "endColumn": 20, + "byteLength": 7 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "disjoint clause in function strncat." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 522, + "startColumn": 13, + "endLine": 522, + "endColumn": 20, + "byteLength": 7 + } + } + } + ] + }, { "ruleId": "user-spec", "kind": "pass", @@ -6159,9 +7250,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 165, + "startLine": 183, "startColumn": 11, - "endLine": 165, + "endLine": 183, "endColumn": 18, "byteLength": 7 } @@ -6182,9 +7273,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 160, + "startLine": 178, "startColumn": 30, - "endLine": 160, + "endLine": 178, "endColumn": 55, "byteLength": 25 } @@ -6205,9 +7296,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 161, + "startLine": 179, "startColumn": 30, - "endLine": 161, + "endLine": 179, "endColumn": 55, "byteLength": 25 } @@ -6228,9 +7319,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 163, + "startLine": 181, "startColumn": 26, - "endLine": 163, + "endLine": 181, "endColumn": 53, "byteLength": 27 } @@ -6251,9 +7342,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 165, + "startLine": 183, "startColumn": 11, - "endLine": 165, + "endLine": 183, "endColumn": 18, "byteLength": 7 } @@ -6276,9 +7367,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 162, + "startLine": 180, "startColumn": 12, - "endLine": 162, + "endLine": 180, "endColumn": 19, "byteLength": 7 } @@ -6299,9 +7390,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 394, + "startLine": 446, "startColumn": 13, - "endLine": 394, + "endLine": 446, "endColumn": 20, "byteLength": 7 } @@ -6322,9 +7413,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 394, + "startLine": 446, "startColumn": 13, - "endLine": 394, + "endLine": 446, "endColumn": 20, "byteLength": 7 } @@ -6345,9 +7436,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 394, + "startLine": 446, "startColumn": 13, - "endLine": 394, + "endLine": 446, "endColumn": 20, "byteLength": 7 } @@ -6368,9 +7459,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 379, + "startLine": 431, "startColumn": 32, - "endLine": 379, + "endLine": 431, "endColumn": 58, "byteLength": 26 } @@ -6391,9 +7482,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 380, + "startLine": 432, "startColumn": 27, - "endLine": 380, + "endLine": 432, "endColumn": 50, "byteLength": 23 } @@ -6414,9 +7505,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 382, + "startLine": 434, "startColumn": 4, - "endLine": 382, + "endLine": 434, "endColumn": 43, "byteLength": 39 } @@ -6437,9 +7528,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 388, + "startLine": 440, "startColumn": 22, - "endLine": 388, + "endLine": 440, "endColumn": 37, "byteLength": 15 } @@ -6460,9 +7551,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 391, + "startLine": 443, "startColumn": 26, - "endLine": 391, + "endLine": 443, "endColumn": 42, "byteLength": 16 } @@ -6483,9 +7574,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 385, + "startLine": 437, "startColumn": 24, - "endLine": 385, + "endLine": 437, "endColumn": 39, "byteLength": 15 } @@ -6506,9 +7597,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 386, + "startLine": 438, "startColumn": 28, - "endLine": 386, + "endLine": 438, "endColumn": 57, "byteLength": 29 } @@ -6529,9 +7620,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 389, + "startLine": 441, "startColumn": 30, - "endLine": 389, + "endLine": 441, "endColumn": 51, "byteLength": 21 } @@ -6552,9 +7643,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 392, + "startLine": 444, "startColumn": 26, - "endLine": 392, + "endLine": 444, "endColumn": 60, "byteLength": 34 } @@ -6575,9 +7666,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 383, + "startLine": 435, "startColumn": 12, - "endLine": 383, + "endLine": 435, "endColumn": 26, "byteLength": 14 } @@ -6600,9 +7691,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 383, + "startLine": 435, "startColumn": 12, - "endLine": 383, + "endLine": 435, "endColumn": 26, "byteLength": 14 } @@ -6625,9 +7716,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 384, + "startLine": 436, "startColumn": 12, - "endLine": 384, + "endLine": 436, "endColumn": 19, "byteLength": 7 } @@ -6648,9 +7739,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 522, + "startLine": 608, "startColumn": 13, - "endLine": 522, + "endLine": 608, "endColumn": 20, "byteLength": 7 } @@ -6671,9 +7762,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 522, + "startLine": 608, "startColumn": 13, - "endLine": 522, + "endLine": 608, "endColumn": 20, "byteLength": 7 } @@ -6696,9 +7787,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 522, + "startLine": 608, "startColumn": 13, - "endLine": 522, + "endLine": 608, "endColumn": 20, "byteLength": 7 } @@ -6719,10 +7810,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 502, - "startColumn": 29, - "endLine": 502, - "endColumn": 49, + "startLine": 588, + "startColumn": 27, + "endLine": 588, + "endColumn": 47, "byteLength": 20 } } @@ -6742,11 +7833,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 507, + "startLine": 593, "startColumn": 26, - "endLine": 507, - "endColumn": 60, - "byteLength": 34 + "endLine": 593, + "endColumn": 57, + "byteLength": 31 } } } @@ -6765,11 +7856,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 517, + "startLine": 603, "startColumn": 29, - "endLine": 517, - "endColumn": 64, - "byteLength": 35 + "endLine": 603, + "endColumn": 61, + "byteLength": 32 } } } @@ -6788,11 +7879,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 511, + "startLine": 597, "startColumn": 24, - "endLine": 511, - "endColumn": 60, - "byteLength": 36 + "endLine": 597, + "endColumn": 58, + "byteLength": 34 } } } @@ -6813,11 +7904,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 513, - "startColumn": 4, - "endLine": 515, - "endColumn": 29, - "byteLength": 124 + "startLine": 599, + "startColumn": 6, + "endLine": 601, + "endColumn": 31, + "byteLength": 125 } } } @@ -6836,9 +7927,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 520, + "startLine": 606, "startColumn": 25, - "endLine": 520, + "endLine": 606, "endColumn": 41, "byteLength": 16 } @@ -6859,9 +7950,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 508, + "startLine": 594, "startColumn": 12, - "endLine": 508, + "endLine": 594, "endColumn": 28, "byteLength": 16 } @@ -6882,9 +7973,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 522, + "startLine": 608, "startColumn": 13, - "endLine": 522, + "endLine": 608, "endColumn": 20, "byteLength": 7 } @@ -6905,9 +7996,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 522, + "startLine": 608, "startColumn": 13, - "endLine": 522, + "endLine": 608, "endColumn": 20, "byteLength": 7 } @@ -6930,9 +8021,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 508, + "startLine": 594, "startColumn": 12, - "endLine": 508, + "endLine": 594, "endColumn": 28, "byteLength": 16 } @@ -6955,9 +8046,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 509, + "startLine": 595, "startColumn": 12, - "endLine": 509, + "endLine": 595, "endColumn": 19, "byteLength": 7 } @@ -6980,10 +8071,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 504, - "startColumn": 12, - "endLine": 504, - "endColumn": 19, + "startLine": 590, + "startColumn": 10, + "endLine": 590, + "endColumn": 17, "byteLength": 7 } } @@ -7005,9 +8096,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 518, + "startLine": 605, "startColumn": 12, - "endLine": 518, + "endLine": 605, "endColumn": 19, "byteLength": 7 } @@ -7030,10 +8121,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 503, - "startColumn": 14, - "endLine": 503, - "endColumn": 21, + "startLine": 589, + "startColumn": 12, + "endLine": 589, + "endColumn": 19, "byteLength": 7 } } @@ -7055,9 +8146,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 522, + "startLine": 608, "startColumn": 13, - "endLine": 522, + "endLine": 608, "endColumn": 20, "byteLength": 7 } @@ -7078,9 +8169,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 151, + "startLine": 168, "startColumn": 14, - "endLine": 151, + "endLine": 168, "endColumn": 21, "byteLength": 7 } @@ -7101,9 +8192,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 147, + "startLine": 164, "startColumn": 29, - "endLine": 147, + "endLine": 164, "endColumn": 53, "byteLength": 24 } @@ -7124,9 +8215,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 149, + "startLine": 166, "startColumn": 28, - "endLine": 149, + "endLine": 166, "endColumn": 64, "byteLength": 36 } @@ -7147,9 +8238,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 151, + "startLine": 168, "startColumn": 14, - "endLine": 151, + "endLine": 168, "endColumn": 21, "byteLength": 7 } @@ -7172,9 +8263,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 148, + "startLine": 165, "startColumn": 12, - "endLine": 148, + "endLine": 165, "endColumn": 19, "byteLength": 7 } @@ -7195,9 +8286,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 234, + "startLine": 255, "startColumn": 13, - "endLine": 234, + "endLine": 255, "endColumn": 20, "byteLength": 7 } @@ -7218,10 +8309,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 228, - "startColumn": 29, - "endLine": 228, - "endColumn": 49, + "startLine": 247, + "startColumn": 27, + "endLine": 247, + "endColumn": 47, "byteLength": 20 } } @@ -7241,10 +8332,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 229, - "startColumn": 34, - "endLine": 229, - "endColumn": 59, + "startLine": 248, + "startColumn": 32, + "endLine": 248, + "endColumn": 57, "byteLength": 25 } } @@ -7264,11 +8355,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 232, + "startLine": 252, "startColumn": 4, - "endLine": 232, - "endColumn": 60, - "byteLength": 56 + "endLine": 253, + "endColumn": 72, + "byteLength": 92 } } } @@ -7287,9 +8378,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 234, + "startLine": 255, "startColumn": 13, - "endLine": 234, + "endLine": 255, "endColumn": 20, "byteLength": 7 } @@ -7312,33 +8403,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 230, - "startColumn": 12, - "endLine": 230, - "endColumn": 19, - "byteLength": 7 - } - } - } - ] - }, - { - "ruleId": "user-spec", - "kind": "pass", - "level": "none", - "message": { "text": "behavior default in function strrchr." }, - "locations": [ - { - "physicalLocation": { - "artifactLocation": { - "uri": "libc/string.h", - "uriBaseId": "FRAMAC_SHARE" - }, - "region": { - "startLine": 211, - "startColumn": 13, - "endLine": 211, - "endColumn": 20, + "startLine": 249, + "startColumn": 10, + "endLine": 249, + "endColumn": 17, "byteLength": 7 } } @@ -7358,55 +8426,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 211, - "startColumn": 13, - "endLine": 211, - "endColumn": 20, - "byteLength": 7 - } - } - } - ] - }, - { - "ruleId": "user-spec", - "kind": "pass", - "level": "none", - "message": { "text": "behavior found in function strrchr." }, - "locations": [ - { - "physicalLocation": { - "artifactLocation": { - "uri": "libc/string.h", - "uriBaseId": "FRAMAC_SHARE" - }, - "region": { - "startLine": 211, - "startColumn": 13, - "endLine": 211, - "endColumn": 20, - "byteLength": 7 - } - } - } - ] - }, - { - "ruleId": "user-spec", - "kind": "pass", - "level": "none", - "message": { "text": "behavior not_found in function strrchr." }, - "locations": [ - { - "physicalLocation": { - "artifactLocation": { - "uri": "libc/string.h", - "uriBaseId": "FRAMAC_SHARE" - }, - "region": { - "startLine": 211, + "startLine": 226, "startColumn": 13, - "endLine": 211, + "endLine": 226, "endColumn": 20, "byteLength": 7 } @@ -7427,10 +8449,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 197, - "startColumn": 29, - "endLine": 197, - "endColumn": 49, + "startLine": 220, + "startColumn": 27, + "endLine": 220, + "endColumn": 47, "byteLength": 20 } } @@ -7441,7 +8463,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "char_found." }, + "message": { "text": "result_null_or_same_base." }, "locations": [ { "physicalLocation": { @@ -7450,11 +8472,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 200, - "startColumn": 24, - "endLine": 200, - "endColumn": 35, - "byteLength": 11 + "startLine": 223, + "startColumn": 4, + "endLine": 224, + "endColumn": 72, + "byteLength": 92 } } } @@ -7464,7 +8486,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "char_not_found." }, + "message": { "text": "assigns clause in function strrchr." }, "locations": [ { "physicalLocation": { @@ -7473,11 +8495,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 205, - "startColumn": 28, - "endLine": 205, - "endColumn": 40, - "byteLength": 12 + "startLine": 226, + "startColumn": 13, + "endLine": 226, + "endColumn": 20, + "byteLength": 7 } } } @@ -7487,7 +8509,9 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_char." }, + "message": { + "text": "from clause of term \\result in function strrchr." + }, "locations": [ { "physicalLocation": { @@ -7496,11 +8520,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 201, - "startColumn": 25, - "endLine": 201, - "endColumn": 38, - "byteLength": 13 + "startLine": 221, + "startColumn": 10, + "endLine": 221, + "endColumn": 17, + "byteLength": 7 } } } @@ -7510,7 +8534,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_same_base." }, + "message": { "text": "behavior default! in function strsep." }, "locations": [ { "physicalLocation": { @@ -7518,12 +8542,12 @@ "uri": "libc/string.h", "uriBaseId": "FRAMAC_SHARE" }, - "region": { - "startLine": 202, - "startColumn": 30, - "endLine": 202, - "endColumn": 66, - "byteLength": 36 + "region": { + "startLine": 402, + "startColumn": 13, + "endLine": 402, + "endColumn": 19, + "byteLength": 6 } } } @@ -7533,7 +8557,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_valid_string." }, + "message": { "text": "behavior no_stringp in function strsep." }, "locations": [ { "physicalLocation": { @@ -7542,11 +8566,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 203, - "startColumn": 33, - "endLine": 203, - "endColumn": 59, - "byteLength": 26 + "startLine": 402, + "startColumn": 13, + "endLine": 402, + "endColumn": 19, + "byteLength": 6 } } } @@ -7556,7 +8580,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_null." }, + "message": { "text": "behavior valid_stringp in function strsep." }, "locations": [ { "physicalLocation": { @@ -7565,11 +8589,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 206, - "startColumn": 25, - "endLine": 206, - "endColumn": 41, - "byteLength": 16 + "startLine": 402, + "startColumn": 13, + "endLine": 402, + "endColumn": 19, + "byteLength": 6 } } } @@ -7579,7 +8603,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_null_or_same_base." }, + "message": { "text": "valid_stringp." }, "locations": [ { "physicalLocation": { @@ -7588,11 +8612,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 209, - "startColumn": 4, - "endLine": 209, - "endColumn": 60, - "byteLength": 56 + "startLine": 390, + "startColumn": 26, + "endLine": 390, + "endColumn": 41, + "byteLength": 15 } } } @@ -7602,7 +8626,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "assigns clause in function strrchr." }, + "message": { "text": "valid_string_stringp." }, "locations": [ { "physicalLocation": { @@ -7611,11 +8635,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 211, - "startColumn": 13, - "endLine": 211, - "endColumn": 20, - "byteLength": 7 + "startLine": 398, + "startColumn": 35, + "endLine": 398, + "endColumn": 57, + "byteLength": 22 } } } @@ -7625,9 +8649,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { - "text": "from clause of term \\result in function strrchr." - }, + "message": { "text": "stringp_null." }, "locations": [ { "physicalLocation": { @@ -7636,11 +8658,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 198, - "startColumn": 12, - "endLine": 198, - "endColumn": 19, - "byteLength": 7 + "startLine": 394, + "startColumn": 26, + "endLine": 394, + "endColumn": 43, + "byteLength": 17 } } } @@ -7650,7 +8672,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "behavior default! in function strsep." }, + "message": { "text": "stringp_not_null." }, "locations": [ { "physicalLocation": { @@ -7659,11 +8681,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 350, - "startColumn": 13, - "endLine": 350, - "endColumn": 19, - "byteLength": 6 + "startLine": 397, + "startColumn": 30, + "endLine": 397, + "endColumn": 47, + "byteLength": 17 } } } @@ -7673,7 +8695,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "valid_string_stringp." }, + "message": { "text": "result_null." }, "locations": [ { "physicalLocation": { @@ -7682,11 +8704,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 345, - "startColumn": 35, - "endLine": 345, - "endColumn": 76, - "byteLength": 41 + "startLine": 395, + "startColumn": 25, + "endLine": 395, + "endColumn": 41, + "byteLength": 16 } } } @@ -7696,7 +8718,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "valid_string_delim." }, + "message": { "text": "valid_result." }, "locations": [ { "physicalLocation": { @@ -7705,11 +8727,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 346, - "startColumn": 33, - "endLine": 346, - "endColumn": 57, - "byteLength": 24 + "startLine": 399, + "startColumn": 26, + "endLine": 400, + "endColumn": 69, + "byteLength": 94 } } } @@ -7728,11 +8750,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 347, - "startColumn": 12, - "endLine": 347, - "endColumn": 20, - "byteLength": 8 + "startLine": 391, + "startColumn": 10, + "endLine": 391, + "endColumn": 23, + "byteLength": 13 } } } @@ -7743,7 +8765,7 @@ "kind": "pass", "level": "none", "message": { - "text": "from clause of term *stringp in function strsep." + "text": "from clause of term *(*(stringp + (0 ..))) in function strsep." }, "locations": [ { @@ -7753,11 +8775,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 347, - "startColumn": 12, - "endLine": 347, - "endColumn": 20, - "byteLength": 8 + "startLine": 391, + "startColumn": 10, + "endLine": 391, + "endColumn": 23, + "byteLength": 13 } } } @@ -7778,10 +8800,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 348, - "startColumn": 12, - "endLine": 348, - "endColumn": 19, + "startLine": 392, + "startColumn": 10, + "endLine": 392, + "endColumn": 17, "byteLength": 7 } } @@ -7801,9 +8823,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 539, + "startLine": 647, "startColumn": 13, - "endLine": 539, + "endLine": 647, "endColumn": 22, "byteLength": 9 } @@ -7824,9 +8846,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 535, + "startLine": 643, "startColumn": 33, - "endLine": 535, + "endLine": 643, "endColumn": 60, "byteLength": 27 } @@ -7847,9 +8869,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 536, + "startLine": 644, "startColumn": 35, - "endLine": 536, + "endLine": 644, "endColumn": 51, "byteLength": 16 } @@ -7870,9 +8892,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 537, + "startLine": 645, "startColumn": 33, - "endLine": 537, + "endLine": 645, "endColumn": 59, "byteLength": 26 } @@ -7893,9 +8915,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 539, + "startLine": 647, "startColumn": 13, - "endLine": 539, + "endLine": 647, "endColumn": 22, "byteLength": 9 } @@ -7918,9 +8940,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 534, + "startLine": 642, "startColumn": 12, - "endLine": 534, + "endLine": 642, "endColumn": 19, "byteLength": 7 } @@ -7941,9 +8963,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 226, + "startLine": 244, "startColumn": 14, - "endLine": 226, + "endLine": 244, "endColumn": 20, "byteLength": 6 } @@ -7964,10 +8986,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 220, - "startColumn": 29, - "endLine": 220, - "endColumn": 49, + "startLine": 238, + "startColumn": 27, + "endLine": 238, + "endColumn": 47, "byteLength": 20 } } @@ -7987,10 +9009,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 221, - "startColumn": 34, - "endLine": 221, - "endColumn": 59, + "startLine": 239, + "startColumn": 32, + "endLine": 239, + "endColumn": 57, "byteLength": 25 } } @@ -8010,10 +9032,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 224, - "startColumn": 28, - "endLine": 224, - "endColumn": 53, + "startLine": 242, + "startColumn": 26, + "endLine": 242, + "endColumn": 51, "byteLength": 25 } } @@ -8033,36 +9055,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 222, - "startColumn": 12, - "endLine": 222, - "endColumn": 19, - "byteLength": 7 - } - } - } - ] - }, - { - "ruleId": "user-spec", - "kind": "pass", - "level": "none", - "message": { - "text": "from clause of term \\result in function strspn." - }, - "locations": [ - { - "physicalLocation": { - "artifactLocation": { - "uri": "libc/string.h", - "uriBaseId": "FRAMAC_SHARE" - }, - "region": { - "startLine": 222, - "startColumn": 12, - "endLine": 222, - "endColumn": 19, - "byteLength": 7 + "startLine": 244, + "startColumn": 14, + "endLine": 244, + "endColumn": 20, + "byteLength": 6 } } } @@ -8083,10 +9080,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 223, - "startColumn": 12, - "endLine": 223, - "endColumn": 19, + "startLine": 240, + "startColumn": 10, + "endLine": 240, + "endColumn": 17, "byteLength": 7 } } @@ -8106,9 +9103,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 245, + "startLine": 268, "startColumn": 13, - "endLine": 245, + "endLine": 268, "endColumn": 19, "byteLength": 6 } @@ -8129,10 +9126,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 236, - "startColumn": 36, - "endLine": 236, - "endColumn": 63, + "startLine": 258, + "startColumn": 34, + "endLine": 258, + "endColumn": 61, "byteLength": 27 } } @@ -8152,10 +9149,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 237, - "startColumn": 34, - "endLine": 237, - "endColumn": 59, + "startLine": 259, + "startColumn": 32, + "endLine": 259, + "endColumn": 57, "byteLength": 25 } } @@ -8175,11 +9172,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 241, + "startLine": 263, "startColumn": 4, - "endLine": 243, - "endColumn": 59, - "byteLength": 141 + "endLine": 266, + "endColumn": 57, + "byteLength": 164 } } } @@ -8198,9 +9195,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 245, + "startLine": 268, "startColumn": 13, - "endLine": 245, + "endLine": 268, "endColumn": 19, "byteLength": 6 } @@ -8223,10 +9220,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 238, - "startColumn": 12, - "endLine": 238, - "endColumn": 19, + "startLine": 260, + "startColumn": 10, + "endLine": 260, + "endColumn": 17, "byteLength": 7 } } @@ -8246,9 +9243,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 299, + "startLine": 334, "startColumn": 13, - "endLine": 299, + "endLine": 334, "endColumn": 19, "byteLength": 6 } @@ -8269,9 +9266,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 299, + "startLine": 334, "startColumn": 13, - "endLine": 299, + "endLine": 334, "endColumn": 19, "byteLength": 6 } @@ -8292,9 +9289,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 299, + "startLine": 334, "startColumn": 13, - "endLine": 299, + "endLine": 334, "endColumn": 19, "byteLength": 6 } @@ -8315,9 +9312,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 261, + "startLine": 287, "startColumn": 31, - "endLine": 261, + "endLine": 287, "endColumn": 55, "byteLength": 24 } @@ -8325,6 +9322,29 @@ } ] }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "separation." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 288, + "startColumn": 23, + "endLine": 288, + "endColumn": 77, + "byteLength": 54 + } + } + } + ] + }, { "ruleId": "user-spec", "kind": "pass", @@ -8338,9 +9358,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 274, + "startLine": 301, "startColumn": 6, - "endLine": 276, + "endLine": 303, "endColumn": 70, "byteLength": 120 } @@ -8361,11 +9381,57 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 284, - "startColumn": 29, - "endLine": 284, - "endColumn": 53, - "byteLength": 24 + "startLine": 315, + "startColumn": 29, + "endLine": 315, + "endColumn": 53, + "byteLength": 24 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "s_not_null." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 299, + "startColumn": 24, + "endLine": 299, + "endColumn": 34, + "byteLength": 10 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "s_null." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 314, + "startColumn": 20, + "endLine": 314, + "endColumn": 30, + "byteLength": 10 } } } @@ -8375,7 +9441,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "s_not_null." }, + "message": { "text": "result_same_base." }, "locations": [ { "physicalLocation": { @@ -8384,11 +9450,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 272, - "startColumn": 24, - "endLine": 272, - "endColumn": 34, - "byteLength": 10 + "startLine": 309, + "startColumn": 6, + "endLine": 310, + "endColumn": 74, + "byteLength": 94 } } } @@ -8398,7 +9464,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "s_null." }, + "message": { "text": "ptr_valid_string." }, "locations": [ { "physicalLocation": { @@ -8407,11 +9473,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 283, - "startColumn": 20, - "endLine": 283, - "endColumn": 30, - "byteLength": 10 + "startLine": 311, + "startColumn": 30, + "endLine": 311, + "endColumn": 64, + "byteLength": 34 } } } @@ -8421,7 +9487,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_subset." }, + "message": { "text": "ptr_same_base." }, "locations": [ { "physicalLocation": { @@ -8430,11 +9496,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 280, + "startLine": 312, "startColumn": 27, - "endLine": 280, - "endColumn": 72, - "byteLength": 45 + "endLine": 312, + "endColumn": 71, + "byteLength": 44 } } } @@ -8444,7 +9510,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "ptr_subset." }, + "message": { "text": "result_same_base." }, "locations": [ { "physicalLocation": { @@ -8453,11 +9519,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 281, - "startColumn": 24, - "endLine": 281, - "endColumn": 57, - "byteLength": 33 + "startLine": 325, + "startColumn": 6, + "endLine": 327, + "endColumn": 65, + "byteLength": 122 } } } @@ -8467,7 +9533,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_subset." }, + "message": { "text": "ptr_valid_string." }, "locations": [ { "physicalLocation": { @@ -8476,11 +9542,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 293, - "startColumn": 27, - "endLine": 294, - "endColumn": 72, - "byteLength": 92 + "startLine": 328, + "startColumn": 30, + "endLine": 328, + "endColumn": 64, + "byteLength": 34 } } } @@ -8490,7 +9556,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "ptr_subset." }, + "message": { "text": "ptr_same_base." }, "locations": [ { "physicalLocation": { @@ -8499,11 +9565,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 295, - "startColumn": 24, - "endLine": 295, - "endColumn": 77, - "byteLength": 53 + "startLine": 330, + "startColumn": 6, + "endLine": 330, + "endColumn": 70, + "byteLength": 64 } } } @@ -8522,9 +9588,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 262, + "startLine": 289, "startColumn": 10, - "endLine": 262, + "endLine": 289, "endColumn": 16, "byteLength": 6 } @@ -8545,9 +9611,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 277, + "startLine": 304, "startColumn": 12, - "endLine": 277, + "endLine": 304, "endColumn": 27, "byteLength": 15 } @@ -8568,9 +9634,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 285, + "startLine": 316, "startColumn": 12, - "endLine": 285, + "endLine": 316, "endColumn": 32, "byteLength": 20 } @@ -8593,9 +9659,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 262, + "startLine": 289, "startColumn": 10, - "endLine": 262, + "endLine": 289, "endColumn": 16, "byteLength": 6 } @@ -8618,9 +9684,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 264, + "startLine": 291, "startColumn": 10, - "endLine": 264, + "endLine": 291, "endColumn": 30, "byteLength": 20 } @@ -8643,9 +9709,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 266, + "startLine": 293, "startColumn": 10, - "endLine": 266, + "endLine": 293, "endColumn": 17, "byteLength": 7 } @@ -8668,9 +9734,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 268, + "startLine": 295, "startColumn": 10, - "endLine": 268, + "endLine": 295, "endColumn": 25, "byteLength": 15 } @@ -8693,9 +9759,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 277, + "startLine": 304, "startColumn": 12, - "endLine": 277, + "endLine": 304, "endColumn": 27, "byteLength": 15 } @@ -8718,9 +9784,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 278, + "startLine": 306, "startColumn": 12, - "endLine": 278, + "endLine": 306, "endColumn": 18, "byteLength": 6 } @@ -8743,9 +9809,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 279, + "startLine": 307, "startColumn": 12, - "endLine": 279, + "endLine": 307, "endColumn": 19, "byteLength": 7 } @@ -8768,9 +9834,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 285, + "startLine": 316, "startColumn": 12, - "endLine": 285, + "endLine": 316, "endColumn": 32, "byteLength": 20 } @@ -8793,9 +9859,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 288, + "startLine": 319, "startColumn": 12, - "endLine": 288, + "endLine": 319, "endColumn": 27, "byteLength": 15 } @@ -8818,9 +9884,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 291, + "startLine": 322, "startColumn": 12, - "endLine": 291, + "endLine": 322, "endColumn": 19, "byteLength": 7 } @@ -8841,9 +9907,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 299, + "startLine": 334, "startColumn": 13, - "endLine": 299, + "endLine": 334, "endColumn": 19, "byteLength": 6 } @@ -8864,9 +9930,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 299, + "startLine": 334, "startColumn": 13, - "endLine": 299, + "endLine": 334, "endColumn": 19, "byteLength": 6 } @@ -8887,9 +9953,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 343, + "startLine": 387, "startColumn": 13, - "endLine": 343, + "endLine": 387, "endColumn": 21, "byteLength": 8 } @@ -8910,9 +9976,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 343, + "startLine": 387, "startColumn": 13, - "endLine": 343, + "endLine": 387, "endColumn": 21, "byteLength": 8 } @@ -8933,9 +9999,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 343, + "startLine": 387, "startColumn": 13, - "endLine": 343, + "endLine": 387, "endColumn": 21, "byteLength": 8 } @@ -8956,9 +10022,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 302, + "startLine": 337, "startColumn": 31, - "endLine": 302, + "endLine": 337, "endColumn": 55, "byteLength": 24 } @@ -8966,6 +10032,29 @@ } ] }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "separation." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 338, + "startColumn": 23, + "endLine": 339, + "endColumn": 49, + "byteLength": 104 + } + } + } + ] + }, { "ruleId": "user-spec", "kind": "pass", @@ -8979,9 +10068,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 303, + "startLine": 340, "startColumn": 26, - "endLine": 303, + "endLine": 340, "endColumn": 41, "byteLength": 15 } @@ -9002,9 +10091,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 316, + "startLine": 353, "startColumn": 6, - "endLine": 318, + "endLine": 355, "endColumn": 70, "byteLength": 120 } @@ -9025,9 +10114,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 327, + "startLine": 367, "startColumn": 29, - "endLine": 327, + "endLine": 367, "endColumn": 46, "byteLength": 17 } @@ -9048,9 +10137,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 328, + "startLine": 368, "startColumn": 37, - "endLine": 328, + "endLine": 368, "endColumn": 58, "byteLength": 21 } @@ -9071,9 +10160,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 314, + "startLine": 351, "startColumn": 24, - "endLine": 314, + "endLine": 351, "endColumn": 34, "byteLength": 10 } @@ -9094,9 +10183,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 326, + "startLine": 366, "startColumn": 20, - "endLine": 326, + "endLine": 366, "endColumn": 30, "byteLength": 10 } @@ -9108,7 +10197,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_subset." }, + "message": { "text": "result_same_base." }, "locations": [ { "physicalLocation": { @@ -9117,11 +10206,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 322, - "startColumn": 27, - "endLine": 322, - "endColumn": 72, - "byteLength": 45 + "startLine": 361, + "startColumn": 6, + "endLine": 362, + "endColumn": 74, + "byteLength": 94 } } } @@ -9131,7 +10220,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "initialization." }, + "message": { "text": "saveptr_valid_string." }, "locations": [ { "physicalLocation": { @@ -9140,11 +10229,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 323, - "startColumn": 28, - "endLine": 323, - "endColumn": 49, - "byteLength": 21 + "startLine": 363, + "startColumn": 34, + "endLine": 363, + "endColumn": 61, + "byteLength": 27 } } } @@ -9154,7 +10243,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "saveptr_subset." }, + "message": { "text": "saveptr_same_base." }, "locations": [ { "physicalLocation": { @@ -9163,11 +10252,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 324, - "startColumn": 28, - "endLine": 324, - "endColumn": 54, - "byteLength": 26 + "startLine": 364, + "startColumn": 31, + "endLine": 364, + "endColumn": 68, + "byteLength": 37 } } } @@ -9177,7 +10266,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "result_subset." }, + "message": { "text": "result_same_base." }, "locations": [ { "physicalLocation": { @@ -9186,11 +10275,11 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 337, - "startColumn": 27, - "endLine": 338, - "endColumn": 65, - "byteLength": 85 + "startLine": 378, + "startColumn": 6, + "endLine": 380, + "endColumn": 58, + "byteLength": 115 } } } @@ -9200,7 +10289,7 @@ "ruleId": "user-spec", "kind": "pass", "level": "none", - "message": { "text": "saveptr_subset." }, + "message": { "text": "saveptr_valid_string." }, "locations": [ { "physicalLocation": { @@ -9209,11 +10298,34 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 339, - "startColumn": 28, - "endLine": 339, - "endColumn": 67, - "byteLength": 39 + "startLine": 381, + "startColumn": 34, + "endLine": 381, + "endColumn": 61, + "byteLength": 27 + } + } + } + ] + }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "saveptr_same_base." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 383, + "startColumn": 6, + "endLine": 383, + "endColumn": 56, + "byteLength": 50 } } } @@ -9232,9 +10344,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 304, + "startLine": 341, "startColumn": 10, - "endLine": 304, + "endLine": 341, "endColumn": 16, "byteLength": 6 } @@ -9255,9 +10367,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 319, + "startLine": 356, "startColumn": 12, - "endLine": 319, + "endLine": 356, "endColumn": 20, "byteLength": 8 } @@ -9278,9 +10390,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 329, + "startLine": 369, "startColumn": 12, - "endLine": 329, + "endLine": 369, "endColumn": 27, "byteLength": 15 } @@ -9303,9 +10415,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 304, + "startLine": 341, "startColumn": 10, - "endLine": 304, + "endLine": 341, "endColumn": 16, "byteLength": 6 } @@ -9328,9 +10440,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 306, + "startLine": 343, "startColumn": 10, - "endLine": 306, + "endLine": 343, "endColumn": 25, "byteLength": 15 } @@ -9353,9 +10465,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 308, + "startLine": 345, "startColumn": 10, - "endLine": 308, + "endLine": 345, "endColumn": 17, "byteLength": 7 } @@ -9378,9 +10490,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 310, + "startLine": 347, "startColumn": 10, - "endLine": 310, + "endLine": 347, "endColumn": 18, "byteLength": 8 } @@ -9403,9 +10515,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 319, + "startLine": 356, "startColumn": 12, - "endLine": 319, + "endLine": 356, "endColumn": 20, "byteLength": 8 } @@ -9428,9 +10540,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 320, + "startLine": 358, "startColumn": 12, - "endLine": 320, + "endLine": 358, "endColumn": 18, "byteLength": 6 } @@ -9453,9 +10565,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 321, + "startLine": 359, "startColumn": 12, - "endLine": 321, + "endLine": 359, "endColumn": 19, "byteLength": 7 } @@ -9478,9 +10590,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 329, + "startLine": 369, "startColumn": 12, - "endLine": 329, + "endLine": 369, "endColumn": 27, "byteLength": 15 } @@ -9503,9 +10615,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 332, + "startLine": 372, "startColumn": 12, - "endLine": 332, + "endLine": 372, "endColumn": 20, "byteLength": 8 } @@ -9528,9 +10640,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 335, + "startLine": 375, "startColumn": 12, - "endLine": 335, + "endLine": 375, "endColumn": 19, "byteLength": 7 } @@ -9551,9 +10663,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 343, + "startLine": 387, "startColumn": 13, - "endLine": 343, + "endLine": 387, "endColumn": 21, "byteLength": 8 } @@ -9574,9 +10686,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 343, + "startLine": 387, "startColumn": 13, - "endLine": 343, + "endLine": 387, "endColumn": 21, "byteLength": 8 } @@ -9597,9 +10709,9 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 479, + "startLine": 545, "startColumn": 14, - "endLine": 479, + "endLine": 545, "endColumn": 21, "byteLength": 7 } @@ -9620,10 +10732,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 474, - "startColumn": 25, - "endLine": 474, - "endColumn": 48, + "startLine": 539, + "startColumn": 23, + "endLine": 539, + "endColumn": 46, "byteLength": 23 } } @@ -9643,16 +10755,39 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 475, - "startColumn": 31, - "endLine": 475, - "endColumn": 53, + "startLine": 540, + "startColumn": 29, + "endLine": 540, + "endColumn": 51, "byteLength": 22 } } } ] }, + { + "ruleId": "user-spec", + "kind": "pass", + "level": "none", + "message": { "text": "separation." }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "libc/string.h", + "uriBaseId": "FRAMAC_SHARE" + }, + "region": { + "startLine": 541, + "startColumn": 23, + "endLine": 541, + "endColumn": 72, + "byteLength": 49 + } + } + } + ] + }, { "ruleId": "user-spec", "kind": "pass", @@ -9666,10 +10801,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 476, - "startColumn": 12, - "endLine": 476, - "endColumn": 26, + "startLine": 542, + "startColumn": 10, + "endLine": 542, + "endColumn": 24, "byteLength": 14 } } @@ -9691,10 +10826,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 476, - "startColumn": 12, - "endLine": 476, - "endColumn": 26, + "startLine": 542, + "startColumn": 10, + "endLine": 542, + "endColumn": 24, "byteLength": 14 } } @@ -9716,10 +10851,10 @@ "uriBaseId": "FRAMAC_SHARE" }, "region": { - "startLine": 477, - "startColumn": 12, - "endLine": 477, - "endColumn": 19, + "startLine": 543, + "startColumn": 10, + "endLine": 543, + "endColumn": 17, "byteLength": 7 } } diff --git a/src/plugins/nonterm/tests/nonterm/oracle/builtin_with_body.res.oracle b/src/plugins/nonterm/tests/nonterm/oracle/builtin_with_body.res.oracle index 1866eb49d1dd8e5c1ab086ec0c765ef766ad2400..e0fb8cec55ceec779710c8ece757a934d707f16b 100644 --- a/src/plugins/nonterm/tests/nonterm/oracle/builtin_with_body.res.oracle +++ b/src/plugins/nonterm/tests/nonterm/oracle/builtin_with_body.res.oracle @@ -11,7 +11,7 @@ function memcpy: precondition 'valid_src' got status valid. [eva] builtin_with_body.c:13: function memcpy: precondition 'separation' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:101: +[eva] FRAMAC_SHARE/libc/string.h:118: cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp [eva] Recording results for main [eva] Done for function main diff --git a/src/plugins/nonterm/tests/nonterm/oracle/n6.res.oracle b/src/plugins/nonterm/tests/nonterm/oracle/n6.res.oracle index 5b78c301d31e30534c20cc182e2fa6795a6f57c2..dfee7778a152739f0973a6b45f4669ecfc83e52c 100644 --- a/src/plugins/nonterm/tests/nonterm/oracle/n6.res.oracle +++ b/src/plugins/nonterm/tests/nonterm/oracle/n6.res.oracle @@ -8,7 +8,7 @@ [eva] n6.c:9: function memcpy: precondition 'valid_dest' got status valid. [eva] n6.c:9: function memcpy: precondition 'valid_src' got status valid. [eva] n6.c:9: function memcpy: precondition 'separation' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:101: +[eva] FRAMAC_SHARE/libc/string.h:118: cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp [eva] Recording results for main [eva] Done for function main diff --git a/src/plugins/variadic/tests/known/oracle/printf.res.oracle b/src/plugins/variadic/tests/known/oracle/printf.res.oracle index 7b945647be0216ee15d342ea55494da9642fb01b..2dc413e1c2b0772f552ddf056279124588bb262e 100644 --- a/src/plugins/variadic/tests/known/oracle/printf.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/printf.res.oracle @@ -1,14 +1,14 @@ -[variadic] FRAMAC_SHARE/libc/wchar.h:272: +[variadic] FRAMAC_SHARE/libc/wchar.h:292: Declaration of variadic function fwprintf. -[variadic] FRAMAC_SHARE/libc/wchar.h:274: +[variadic] FRAMAC_SHARE/libc/wchar.h:294: Declaration of variadic function swprintf. -[variadic] FRAMAC_SHARE/libc/wchar.h:276: +[variadic] FRAMAC_SHARE/libc/wchar.h:296: Declaration of variadic function wprintf. -[variadic] FRAMAC_SHARE/libc/wchar.h:279: +[variadic] FRAMAC_SHARE/libc/wchar.h:299: Declaration of variadic function wscanf. -[variadic] FRAMAC_SHARE/libc/wchar.h:281: +[variadic] FRAMAC_SHARE/libc/wchar.h:301: Declaration of variadic function fwscanf. -[variadic] FRAMAC_SHARE/libc/wchar.h:283: +[variadic] FRAMAC_SHARE/libc/wchar.h:303: Declaration of variadic function swscanf. [variadic] FRAMAC_SHARE/libc/stdio.h:207: Declaration of variadic function fprintf. diff --git a/src/plugins/variadic/tests/known/oracle/printf_wrong_arity.res.oracle b/src/plugins/variadic/tests/known/oracle/printf_wrong_arity.res.oracle index 4bc1b2c08cd50b61c5c8daf12624e722166eac3b..99fb90220628d73ce5c536af4f37862117360fc0 100644 --- a/src/plugins/variadic/tests/known/oracle/printf_wrong_arity.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/printf_wrong_arity.res.oracle @@ -42,6 +42,7 @@ #include "errno.h" #include "stdarg.h" #include "stddef.h" +#include "stdint.h" #include "stdio.c" #include "stdio.h" #include "stdlib.h" diff --git a/src/plugins/variadic/tests/known/oracle/snprintf.res.oracle b/src/plugins/variadic/tests/known/oracle/snprintf.res.oracle index d02dcac5510941570a258d4eb2a201b8be69f6d4..ed5803742848fec0b861d13f8868bd34fda7bedf 100644 --- a/src/plugins/variadic/tests/known/oracle/snprintf.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/snprintf.res.oracle @@ -21,7 +21,7 @@ [variadic] snprintf.c:15: Translating call to snprintf to a call to the specialized version snprintf_va_2. [eva] Analyzing a complete application starting at main -[eva] FRAMAC_SHARE/libc/string.h:134: +[eva] FRAMAC_SHARE/libc/string.h:151: cannot evaluate ACSL term, unsupported ACSL construct: logic function memset [eva] using specification for function snprintf_va_1 [eva] FRAMAC_SHARE/libc/stdio.h:213: diff --git a/src/plugins/variadic/tests/known/oracle/swprintf.res.oracle b/src/plugins/variadic/tests/known/oracle/swprintf.res.oracle index 346dd2a50c7cf708e909cba481810d818a33ed59..a7437bfcd7ce641e866f72a40da2ed7e4e0e0516 100644 --- a/src/plugins/variadic/tests/known/oracle/swprintf.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/swprintf.res.oracle @@ -1,14 +1,14 @@ -[variadic] FRAMAC_SHARE/libc/wchar.h:272: +[variadic] FRAMAC_SHARE/libc/wchar.h:292: Declaration of variadic function fwprintf. -[variadic] FRAMAC_SHARE/libc/wchar.h:274: +[variadic] FRAMAC_SHARE/libc/wchar.h:294: Declaration of variadic function swprintf. -[variadic] FRAMAC_SHARE/libc/wchar.h:276: +[variadic] FRAMAC_SHARE/libc/wchar.h:296: Declaration of variadic function wprintf. -[variadic] FRAMAC_SHARE/libc/wchar.h:279: +[variadic] FRAMAC_SHARE/libc/wchar.h:299: Declaration of variadic function wscanf. -[variadic] FRAMAC_SHARE/libc/wchar.h:281: +[variadic] FRAMAC_SHARE/libc/wchar.h:301: Declaration of variadic function fwscanf. -[variadic] FRAMAC_SHARE/libc/wchar.h:283: +[variadic] FRAMAC_SHARE/libc/wchar.h:303: Declaration of variadic function swscanf. [variadic] FRAMAC_SHARE/libc/stdio.h:207: Declaration of variadic function fprintf. @@ -35,7 +35,7 @@ [eva] Analyzing a complete application starting at main [eva] using specification for function wmemset [eva] using specification for function swprintf_va_1 -[eva] FRAMAC_SHARE/libc/wchar.h:274: +[eva] FRAMAC_SHARE/libc/wchar.h:294: Cannot evaluate range bound wformat_length(format) - 1 (unsupported ACSL construct: logic function wformat_length). Approximating [eva:alarm] swprintf.c:12: Warning: @@ -55,6 +55,7 @@ #include "errno.h" #include "signal.h" #include "stdarg.h" +#include "stddef.h" #include "stdio.h" #include "string.h" #include "strings.h" diff --git a/src/plugins/variadic/tests/known/oracle/wchar.res.oracle b/src/plugins/variadic/tests/known/oracle/wchar.res.oracle index defbdf84a051614e4391d7148f3ae23bb9116f7d..e0192389ab09f034d7cf9800f641395f7a80ed42 100644 --- a/src/plugins/variadic/tests/known/oracle/wchar.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/wchar.res.oracle @@ -1,14 +1,14 @@ -[variadic] FRAMAC_SHARE/libc/wchar.h:272: +[variadic] FRAMAC_SHARE/libc/wchar.h:292: Declaration of variadic function fwprintf. -[variadic] FRAMAC_SHARE/libc/wchar.h:274: +[variadic] FRAMAC_SHARE/libc/wchar.h:294: Declaration of variadic function swprintf. -[variadic] FRAMAC_SHARE/libc/wchar.h:276: +[variadic] FRAMAC_SHARE/libc/wchar.h:296: Declaration of variadic function wprintf. -[variadic] FRAMAC_SHARE/libc/wchar.h:279: +[variadic] FRAMAC_SHARE/libc/wchar.h:299: Declaration of variadic function wscanf. -[variadic] FRAMAC_SHARE/libc/wchar.h:281: +[variadic] FRAMAC_SHARE/libc/wchar.h:301: Declaration of variadic function fwscanf. -[variadic] FRAMAC_SHARE/libc/wchar.h:283: +[variadic] FRAMAC_SHARE/libc/wchar.h:303: Declaration of variadic function swscanf. [variadic] FRAMAC_SHARE/libc/stdio.h:207: Declaration of variadic function fprintf. @@ -84,6 +84,7 @@ #include "errno.h" #include "signal.h" #include "stdarg.h" +#include "stddef.h" #include "stdio.h" #include "string.h" #include "strings.h" diff --git a/src/plugins/wp/tests/wp_acsl/oracle/terminates_call_options.0.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle/terminates_call_options.0.res.oracle index 0c0e75bda644384e9c87aad58541a0f8a1c7b8bb..abdd33ee5e23d51c3c7fec93aeb1ebfc846a8d24 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle/terminates_call_options.0.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle/terminates_call_options.0.res.oracle @@ -1,10 +1,10 @@ # frama-c -wp [...] [kernel] Parsing terminates_call_options.c (with preprocessing) [wp] Running WP plugin... -[kernel:annot:missing-spec] FRAMAC_SHARE/libc/stdlib.h:511: Warning: +[kernel:annot:missing-spec] FRAMAC_SHARE/libc/stdlib.h:543: Warning: Neither code nor explicit terminates for function exit, generating default clauses. See -generated-spec-* options for more info -[kernel:annot:missing-spec] FRAMAC_SHARE/libc/stdlib.h:642: Warning: +[kernel:annot:missing-spec] FRAMAC_SHARE/libc/stdlib.h:715: Warning: Neither code nor explicit exits and terminates for function div, generating default clauses. See -generated-spec-* options for more info [wp] Warning: Missing RTE guards @@ -46,3 +46,15 @@ Goal Termination-condition (file terminates_call_options.c, line 36) in 'libc_ca Prove: true. ------------------------------------------------------------ + +Goal Instance of 'Pre-condition 'denom_nonzero' in 'div'' in 'libc_call' at call 'div' (file terminates_call_options.c, line 38) +: +Prove: true. + +------------------------------------------------------------ + +Goal Instance of 'Pre-condition 'no_overflow' in 'div'' in 'libc_call' at call 'div' (file terminates_call_options.c, line 38) +: +Prove: true. + +------------------------------------------------------------ diff --git a/src/plugins/wp/tests/wp_acsl/oracle/terminates_call_options.1.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle/terminates_call_options.1.res.oracle index 907d765fcb069c60eb99c128520a688baadd064f..ae3902f932266228373c644afce74f2b8cac2cae 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle/terminates_call_options.1.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle/terminates_call_options.1.res.oracle @@ -4,10 +4,10 @@ [kernel:annot:missing-spec] terminates_call_options.c:17: Warning: Neither code nor explicit exits and terminates for function declaration, generating default clauses. See -generated-spec-* options for more info -[kernel:annot:missing-spec] FRAMAC_SHARE/libc/stdlib.h:511: Warning: +[kernel:annot:missing-spec] FRAMAC_SHARE/libc/stdlib.h:543: Warning: Neither code nor explicit terminates for function exit, generating default clauses. See -generated-spec-* options for more info -[kernel:annot:missing-spec] FRAMAC_SHARE/libc/stdlib.h:642: Warning: +[kernel:annot:missing-spec] FRAMAC_SHARE/libc/stdlib.h:715: Warning: Neither code nor explicit exits and terminates for function div, generating default clauses. See -generated-spec-* options for more info [wp] Warning: Missing RTE guards @@ -62,6 +62,18 @@ Prove: true. Goal Exit-condition (generated) in 'libc_call': Prove: false. +------------------------------------------------------------ + +Goal Instance of 'Pre-condition 'denom_nonzero' in 'div'' in 'libc_call' at call 'div' (file terminates_call_options.c, line 38) +: +Prove: true. + +------------------------------------------------------------ + +Goal Instance of 'Pre-condition 'no_overflow' in 'div'' in 'libc_call' at call 'div' (file terminates_call_options.c, line 38) +: +Prove: true. + ------------------------------------------------------------ ------------------------------------------------------------ Function no_spec_generates_goal diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/terminates_call_options.0.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/terminates_call_options.0.res.oracle index be2f82c65143796f81fa17eb5d906dd11203ebdd..d243e2769233918caa9bdeeddb22f7a827c96e6e 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/terminates_call_options.0.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/terminates_call_options.0.res.oracle @@ -1,10 +1,10 @@ # frama-c -wp [...] [kernel] Parsing terminates_call_options.c (with preprocessing) [wp] Running WP plugin... -[kernel:annot:missing-spec] FRAMAC_SHARE/libc/stdlib.h:511: Warning: +[kernel:annot:missing-spec] FRAMAC_SHARE/libc/stdlib.h:543: Warning: Neither code nor explicit terminates for function exit, generating default clauses. See -generated-spec-* options for more info -[kernel:annot:missing-spec] FRAMAC_SHARE/libc/stdlib.h:642: Warning: +[kernel:annot:missing-spec] FRAMAC_SHARE/libc/stdlib.h:715: Warning: Neither code nor explicit exits and terminates for function div, generating default clauses. See -generated-spec-* options for more info [wp] Warning: Missing RTE guards @@ -12,18 +12,20 @@ Missing terminates clause on call to declaration, defaults to \false [wp] terminates_call_options.c:29: Warning: Missing terminates clause on call to definition, defaults to \false -[wp] 4 goals scheduled +[wp] 6 goals scheduled [wp] [Valid] typed_definition_assigns (Qed) [wp] [Unsuccess] typed_call_declaration_terminates (Alt-Ergo) (Cached) [wp] [Unsuccess] typed_call_definition_terminates (Alt-Ergo) (Cached) [wp] [Valid] typed_libc_call_terminates (Qed) -[wp] Proved goals: 2 / 4 - Qed: 2 +[wp] [Valid] typed_libc_call_call_div_requires_denom_nonzero (Qed) +[wp] [Valid] typed_libc_call_call_div_requires_no_overflow (Qed) +[wp] Proved goals: 4 / 6 + Qed: 4 Unsuccess: 2 ------------------------------------------------------------ Functions WP Alt-Ergo Total Success definition 1 - 1 100% call_declaration - - 1 0.0% call_definition - - 1 0.0% - libc_call 1 - 1 100% + libc_call 3 - 3 100% ------------------------------------------------------------ diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/terminates_call_options.1.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/terminates_call_options.1.res.oracle index c0b8e8f68afae083a33b1559023f7ae97d111f5c..386bd2017c828c017bdcd2008aa7f4108dd86ceb 100644 --- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/terminates_call_options.1.res.oracle +++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/terminates_call_options.1.res.oracle @@ -4,10 +4,10 @@ [kernel:annot:missing-spec] terminates_call_options.c:17: Warning: Neither code nor explicit exits and terminates for function declaration, generating default clauses. See -generated-spec-* options for more info -[kernel:annot:missing-spec] FRAMAC_SHARE/libc/stdlib.h:511: Warning: +[kernel:annot:missing-spec] FRAMAC_SHARE/libc/stdlib.h:543: Warning: Neither code nor explicit terminates for function exit, generating default clauses. See -generated-spec-* options for more info -[kernel:annot:missing-spec] FRAMAC_SHARE/libc/stdlib.h:642: Warning: +[kernel:annot:missing-spec] FRAMAC_SHARE/libc/stdlib.h:715: Warning: Neither code nor explicit exits and terminates for function div, generating default clauses. See -generated-spec-* options for more info [wp] Warning: Missing RTE guards @@ -16,7 +16,7 @@ [wp] [Valid] Goal no_spec_generates_goal_exits (Cfg) (Unreachable) [wp] terminates_call_options.c:33: Warning: Missing assigns clause (assigns 'everything' instead) -[wp] 8 goals scheduled +[wp] 10 goals scheduled [wp] [Valid] typed_definition_assigns (Qed) [wp] [Valid] typed_call_declaration_terminates (Qed) [wp] [Valid] typed_call_declaration_exits (Qed) @@ -25,10 +25,12 @@ [wp] [Unsuccess] typed_no_spec_generates_goal_terminates (Alt-Ergo) (Cached) [wp] [Valid] typed_libc_call_terminates (Qed) [wp] [Unsuccess] typed_libc_call_exits (Alt-Ergo) (Cached) -[wp] Proved goals: 9 / 11 +[wp] [Valid] typed_libc_call_call_div_requires_denom_nonzero (Qed) +[wp] [Valid] typed_libc_call_call_div_requires_no_overflow (Qed) +[wp] Proved goals: 11 / 13 Terminating: 1 Unreachable: 2 - Qed: 6 + Qed: 8 Unsuccess: 2 ------------------------------------------------------------ Functions WP Alt-Ergo Total Success @@ -36,5 +38,5 @@ call_declaration 2 - 2 100% call_definition 2 - 2 100% no_spec_generates_goal - - 1 0.0% - libc_call 1 - 2 50.0% + libc_call 3 - 4 75.0% ------------------------------------------------------------ diff --git a/src/plugins/wp/tests/wp_bts/oracle/issue-684-exit.res.oracle b/src/plugins/wp/tests/wp_bts/oracle/issue-684-exit.res.oracle index 3ffda2bbd573ca3eacf2c0cac5653c23459e01b5..c69d39414c1922c5e4d3bcdb9c8ff9d1f05e98e5 100644 --- a/src/plugins/wp/tests/wp_bts/oracle/issue-684-exit.res.oracle +++ b/src/plugins/wp/tests/wp_bts/oracle/issue-684-exit.res.oracle @@ -1,7 +1,7 @@ # frama-c -wp [...] [kernel] Parsing issue-684-exit.c (with preprocessing) [wp] Running WP plugin... -[kernel:annot:missing-spec] FRAMAC_SHARE/libc/stdlib.h:511: Warning: +[kernel:annot:missing-spec] FRAMAC_SHARE/libc/stdlib.h:543: Warning: Neither code nor explicit terminates for function exit, generating default clauses. See -generated-spec-* options for more info [wp] Warning: Missing RTE guards diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/issue-684-exit.res.oracle b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue-684-exit.res.oracle index 298c37684c6d07ccbcef188616124cb1b7e72528..f78ed5d813b1ab1745fbb6f7e8a2eccd974536a0 100644 --- a/src/plugins/wp/tests/wp_bts/oracle_qualif/issue-684-exit.res.oracle +++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue-684-exit.res.oracle @@ -1,7 +1,7 @@ # frama-c -wp [...] [kernel] Parsing issue-684-exit.c (with preprocessing) [wp] Running WP plugin... -[kernel:annot:missing-spec] FRAMAC_SHARE/libc/stdlib.h:511: Warning: +[kernel:annot:missing-spec] FRAMAC_SHARE/libc/stdlib.h:543: Warning: Neither code nor explicit terminates for function exit, generating default clauses. See -generated-spec-* options for more info [wp] Warning: Missing RTE guards diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/string-compare.res.oracle b/src/plugins/wp/tests/wp_gallery/oracle_qualif/string-compare.res.oracle index 8ed861ca5371cefe0b5ef5db43627884c3a3e96a..230f48f715072f41dbea3f8593e03c2055a37e41 100644 --- a/src/plugins/wp/tests/wp_gallery/oracle_qualif/string-compare.res.oracle +++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/string-compare.res.oracle @@ -53,28 +53,30 @@ [wp] [Valid] typed_stringLength_assigns_part4 (Qed) [wp] [Valid] typed_stringLength_assigns_part5 (Qed) [wp] [Valid] typed_main_terminates (Qed) -[wp] [Valid] typed_main_ensures (Alt-Ergo) (Cached) +[wp] [NoResult] typed_main_ensures (Qed) [wp] [Valid] typed_main_exits_never (Qed) [wp] [Valid] typed_main_assert (Qed) [wp] [Valid] typed_main_assigns_exit (Qed) [wp] [Valid] typed_main_assigns_normal_part1 (Qed) [wp] [Valid] typed_main_assigns_normal_part2 (Qed) -[wp] [Valid] typed_main_call_stringCompare_requires_validStrings (Alt-Ergo) (Cached) -[wp] Proved goals: 57 / 57 +[wp] [NoResult] typed_main_call_stringCompare_requires_validStrings (Qed) +[wp] Proved goals: 55 / 57 Unreachable: 2 Qed: 36 - Alt-Ergo: 19 + Alt-Ergo: 17 + Unsuccess: 2 + Missing: 2 ------------------------------------------------------------ Functions WP Alt-Ergo Total Success stringCompare 20 13 33 100% stringLength 10 4 14 100% - main 6 2 8 100% + main 6 - 8 75.0% ------------------------------------------------------------ [wp] Running WP plugin... [rte:annot] annotating function main [rte:annot] annotating function stringCompare [rte:annot] annotating function stringLength -[wp] 8 goals scheduled +[wp] 10 goals scheduled [wp] [Valid] typed_stringCompare_assert_rte_mem_access (Alt-Ergo) (Cached) [wp] [Valid] typed_stringCompare_assert_rte_mem_access_2 (Alt-Ergo) (Cached) [wp] [Valid] typed_stringCompare_assert_rte_mem_access_3 (Qed) @@ -83,12 +85,16 @@ [wp] [Valid] typed_stringCompare_assert_rte_signed_overflow (Alt-Ergo) (Cached) [wp] [Valid] typed_stringCompare_assert_rte_signed_overflow_2 (Alt-Ergo) (Cached) [wp] [Valid] typed_stringLength_assert_rte_mem_access (Alt-Ergo) (Cached) -[wp] Proved goals: 8 / 8 +[wp] [NoResult] typed_main_ensures (Qed) +[wp] [NoResult] typed_main_call_stringCompare_requires_validStrings (Qed) +[wp] Proved goals: 8 / 10 Qed: 2 Alt-Ergo: 6 + Unsuccess: 2 + Missing: 2 ------------------------------------------------------------ Functions WP Alt-Ergo Total Success stringCompare 22 18 40 100% stringLength 10 5 15 100% - main 6 2 8 100% + main 6 - 8 75.0% ------------------------------------------------------------ diff --git a/src/plugins/wp/tests/wp_plugin/oracle/string_c.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle/string_c.res.oracle index 5eb6eecbfbe6c40a6167a94a08c4399f2bc80b66..c445f32f58a06110307a70680b95d96d15723a13 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle/string_c.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle/string_c.res.oracle @@ -161,7 +161,7 @@ Prove: included(a_2, 1, a, n). ------------------------------------------------------------ -Goal Assigns (file FRAMAC_SHARE/libc/string.h, line 99) in 'memcpy': +Goal Assigns (file FRAMAC_SHARE/libc/string.h, line 116) in 'memcpy': Effect at line 38 Prove: true. @@ -793,47 +793,47 @@ Prove: included(a_2, 1, a, n). ------------------------------------------------------------ -Goal Assigns (file FRAMAC_SHARE/libc/string.h, line 122) in 'memmove': +Goal Assigns (file FRAMAC_SHARE/libc/string.h, line 139) in 'memmove': Prove: true. ------------------------------------------------------------ -Goal Assigns (file FRAMAC_SHARE/libc/string.h, line 122) in 'memmove' (1/7): +Goal Assigns (file FRAMAC_SHARE/libc/string.h, line 139) in 'memmove' (1/7): Prove: true. ------------------------------------------------------------ -Goal Assigns (file FRAMAC_SHARE/libc/string.h, line 122) in 'memmove' (2/7): +Goal Assigns (file FRAMAC_SHARE/libc/string.h, line 139) in 'memmove' (2/7): Effect at line 90 Prove: true. ------------------------------------------------------------ -Goal Assigns (file FRAMAC_SHARE/libc/string.h, line 122) in 'memmove' (3/7): +Goal Assigns (file FRAMAC_SHARE/libc/string.h, line 139) in 'memmove' (3/7): Call Result at line 93 Prove: true. ------------------------------------------------------------ -Goal Assigns (file FRAMAC_SHARE/libc/string.h, line 122) in 'memmove' (4/7): +Goal Assigns (file FRAMAC_SHARE/libc/string.h, line 139) in 'memmove' (4/7): Effect at line 101 Prove: true. ------------------------------------------------------------ -Goal Assigns (file FRAMAC_SHARE/libc/string.h, line 122) in 'memmove' (5/7): +Goal Assigns (file FRAMAC_SHARE/libc/string.h, line 139) in 'memmove' (5/7): Effect at line 113 Prove: true. ------------------------------------------------------------ -Goal Assigns (file FRAMAC_SHARE/libc/string.h, line 122) in 'memmove' (6/7): +Goal Assigns (file FRAMAC_SHARE/libc/string.h, line 139) in 'memmove' (6/7): Effect at line 115 Prove: true. ------------------------------------------------------------ -Goal Assigns (file FRAMAC_SHARE/libc/string.h, line 122) in 'memmove' (7/7): +Goal Assigns (file FRAMAC_SHARE/libc/string.h, line 139) in 'memmove' (7/7): Effect at line 117 Prove: true. diff --git a/tests/builtins/oracle/alloc_weak.res.oracle b/tests/builtins/oracle/alloc_weak.res.oracle index 9c58bc9c1889b90ba1a5adfe21c98784a6c897d8..6be26b1b41e70edb1802c589c4c5b3355fe08492 100644 --- a/tests/builtins/oracle/alloc_weak.res.oracle +++ b/tests/builtins/oracle/alloc_weak.res.oracle @@ -21,7 +21,7 @@ function memcpy: precondition 'valid_src' got status valid. [eva] alloc_weak.c:14: function memcpy: precondition 'separation' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:101: +[eva] FRAMAC_SHARE/libc/string.h:118: cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp [eva] Recording results for copy [eva] Done for function copy diff --git a/tests/builtins/oracle/fam.res.oracle b/tests/builtins/oracle/fam.res.oracle index 844fc35e98c896e9b18baa5ebfd38aec3d207566..a729605f74daa3292d2046ca7804ee924529356e 100644 --- a/tests/builtins/oracle/fam.res.oracle +++ b/tests/builtins/oracle/fam.res.oracle @@ -9,7 +9,7 @@ [eva] fam.c:16: function memcpy: precondition 'valid_dest' got status valid. [eva] fam.c:16: function memcpy: precondition 'valid_src' got status valid. [eva] fam.c:16: function memcpy: precondition 'separation' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:101: +[eva] FRAMAC_SHARE/libc/string.h:118: cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp [eva] Recording results for main [eva] Done for function main diff --git a/tests/builtins/oracle/imprecise.res.oracle b/tests/builtins/oracle/imprecise.res.oracle index 9c3b0de6adf1e40daacaf0ac128c6b426c165ecf..e9a2b40bda7a15f15e13d336e0fafcc3fa849d96 100644 --- a/tests/builtins/oracle/imprecise.res.oracle +++ b/tests/builtins/oracle/imprecise.res.oracle @@ -99,7 +99,7 @@ [eva] imprecise.c:51: Call to builtin memset [eva:alarm] imprecise.c:51: Warning: function memset: precondition 'valid_s' got status unknown. -[eva] FRAMAC_SHARE/libc/string.h:134: +[eva] FRAMAC_SHARE/libc/string.h:151: cannot evaluate ACSL term, unsupported ACSL construct: logic function memset [eva:alarm] imprecise.c:53: Warning: out of bounds write. assert \valid(p2); [eva:alarm] imprecise.c:53: Warning: diff --git a/tests/builtins/oracle/linked_list.0.res.oracle b/tests/builtins/oracle/linked_list.0.res.oracle index 45987fd11dcf676e5b53cafd650180b2d135d280..46862a2655e4a39732bfc305d8f565ee8716e9df 100644 --- a/tests/builtins/oracle/linked_list.0.res.oracle +++ b/tests/builtins/oracle/linked_list.0.res.oracle @@ -44,7 +44,7 @@ ==END OF DUMP== [eva] computing for function malloc <- main. Called from linked_list.c:41. -[eva:alarm] FRAMAC_SHARE/libc/stdlib.h:395: Warning: +[eva:alarm] FRAMAC_SHARE/libc/stdlib.h:427: Warning: function malloc, behavior allocation: postcondition 'allocation' got status unknown. [eva] Recording results for malloc [eva] Done for function malloc diff --git a/tests/builtins/oracle/linked_list.1.res.oracle b/tests/builtins/oracle/linked_list.1.res.oracle index 488273ab10d70800ebcb23b96d034502714116f9..b51e860fb2cc9d319d8dc588d68e517a18573841 100644 --- a/tests/builtins/oracle/linked_list.1.res.oracle +++ b/tests/builtins/oracle/linked_list.1.res.oracle @@ -44,7 +44,7 @@ ==END OF DUMP== [eva] computing for function malloc <- main. Called from linked_list.c:41. -[eva:alarm] FRAMAC_SHARE/libc/stdlib.h:395: Warning: +[eva:alarm] FRAMAC_SHARE/libc/stdlib.h:427: Warning: function malloc, behavior allocation: postcondition 'allocation' got status unknown. [eva] Recording results for malloc [eva] Done for function malloc diff --git a/tests/builtins/oracle/linked_list.2.res.oracle b/tests/builtins/oracle/linked_list.2.res.oracle index ae7d0058ec1f75eec94c984ff2ce8a5d06214dc6..cb6c771649a7abe82835280f67ccf0516a2cd706 100644 --- a/tests/builtins/oracle/linked_list.2.res.oracle +++ b/tests/builtins/oracle/linked_list.2.res.oracle @@ -44,7 +44,7 @@ ==END OF DUMP== [eva] computing for function malloc <- main. Called from linked_list.c:41. -[eva:alarm] FRAMAC_SHARE/libc/stdlib.h:395: Warning: +[eva:alarm] FRAMAC_SHARE/libc/stdlib.h:427: Warning: function malloc, behavior allocation: postcondition 'allocation' got status unknown. [eva] Recording results for malloc [eva] Done for function malloc diff --git a/tests/builtins/oracle/malloc_bug_tr.res.oracle b/tests/builtins/oracle/malloc_bug_tr.res.oracle index c78b9bb05b71a8123d942d78568856f31f1a9eb2..809a48dc1f7c1e10a2e3061f8d7adb7c30c8f302 100644 --- a/tests/builtins/oracle/malloc_bug_tr.res.oracle +++ b/tests/builtins/oracle/malloc_bug_tr.res.oracle @@ -19,7 +19,7 @@ function memcpy: precondition 'valid_src' got status valid. [eva] malloc_bug_tr.c:13: function memcpy: precondition 'separation' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:101: +[eva] FRAMAC_SHARE/libc/string.h:118: cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp [eva] malloc_bug_tr.c:14: Call to builtin memcpy [eva:alarm] malloc_bug_tr.c:14: Warning: diff --git a/tests/builtins/oracle/memchr.res.oracle b/tests/builtins/oracle/memchr.res.oracle index 8fff0338008ea33210bd476ef4e1d436a7d1cd63..0a694b9d8f482db1843a769ae3ee1da8270363c3 100644 --- a/tests/builtins/oracle/memchr.res.oracle +++ b/tests/builtins/oracle/memchr.res.oracle @@ -29,7 +29,7 @@ function memchr: precondition 'danglingness' got status unknown. [eva] FRAMAC_SHARE/libc/string.h:78: cannot evaluate ACSL term, unsupported ACSL construct: logic function memchr -[eva] FRAMAC_SHARE/libc/string.h:85: +[eva] FRAMAC_SHARE/libc/string.h:86: cannot evaluate ACSL term, unsupported ACSL construct: logic function memchr [eva] memchr.c:90: Frama_C_show_each_mymemchr: {3} [eva] memchr.c:91: assertion got status valid. @@ -141,7 +141,7 @@ Called from memchr.c:201. [eva] memchr.c:193: Call to builtin memset [eva] memchr.c:193: function memset: precondition 'valid_s' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:134: +[eva] FRAMAC_SHARE/libc/string.h:151: cannot evaluate ACSL term, unsupported ACSL construct: logic function memset [eva] Recording results for init_array_nondet [eva] Done for function init_array_nondet diff --git a/tests/builtins/oracle/memcpy.res.oracle b/tests/builtins/oracle/memcpy.res.oracle index 2d5891583c8722e65411a6358aaac05cd5295ef9..7d949b4911c4732f7bc7a8206a5ebdb5aaf85692 100644 --- a/tests/builtins/oracle/memcpy.res.oracle +++ b/tests/builtins/oracle/memcpy.res.oracle @@ -30,7 +30,7 @@ function memcpy: precondition 'valid_dest' got status unknown. [eva] memcpy.c:28: function memcpy: precondition 'valid_src' got status valid. [eva] memcpy.c:28: function memcpy: precondition 'separation' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:101: +[eva] FRAMAC_SHARE/libc/string.h:118: cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp [eva] Recording results for buggy [from] Computing for function buggy @@ -1029,6 +1029,8 @@ --- Properties of Function 'memchr' -------------------------------------------------------------------------------- +[ Extern ] Post-condition for 'found' 'result_valid_read' + Unverifiable but considered Valid. [ Extern ] Post-condition for 'found' 'result_same_base' Unverifiable but considered Valid. [ Extern ] Post-condition for 'found' 'result_char' @@ -1048,6 +1050,27 @@ [ Valid ] Behavior 'not_found' by Frama-C kernel. +-------------------------------------------------------------------------------- +--- Properties of Function 'memrchr' +-------------------------------------------------------------------------------- + +[ Extern ] Post-condition for 'found' 'result_valid_read' + Unverifiable but considered Valid. +[ Extern ] Post-condition for 'found' 'result_same_base' + Unverifiable but considered Valid. +[ Extern ] Post-condition for 'not_found' 'result_null' + Unverifiable but considered Valid. +[ Extern ] Assigns nothing + Unverifiable but considered Valid. +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 97) + Unverifiable but considered Valid. +[ Valid ] Default behavior + by Frama-C kernel. +[ Valid ] Behavior 'found' + by Frama-C kernel. +[ Valid ] Behavior 'not_found' + by Frama-C kernel. + -------------------------------------------------------------------------------- --- Properties of Function 'memcpy' -------------------------------------------------------------------------------- @@ -1100,11 +1123,11 @@ Unverifiable but considered Valid. [ Extern ] Post-condition 'result_ptr' Unverifiable but considered Valid. -[ Extern ] Assigns (file FRAMAC_SHARE/libc/string.h, line 99) +[ Extern ] Assigns (file FRAMAC_SHARE/libc/string.h, line 116) Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 99) +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 116) Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 100) +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 117) Unverifiable but considered Valid. [ Valid ] Default behavior by Frama-C kernel. @@ -1117,11 +1140,11 @@ Unverifiable but considered Valid. [ Extern ] Post-condition 'result_next_byte' Unverifiable but considered Valid. -[ Extern ] Assigns (file FRAMAC_SHARE/libc/string.h, line 112) +[ Extern ] Assigns (file FRAMAC_SHARE/libc/string.h, line 129) Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 112) +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 129) Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 113) +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 130) Unverifiable but considered Valid. [ Valid ] Default behavior by Frama-C kernel. @@ -1134,11 +1157,11 @@ Unverifiable but considered Valid. [ Extern ] Post-condition 'result_ptr' Unverifiable but considered Valid. -[ Extern ] Assigns (file FRAMAC_SHARE/libc/string.h, line 122) +[ Extern ] Assigns (file FRAMAC_SHARE/libc/string.h, line 139) Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 122) +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 139) Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 123) +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 140) Unverifiable but considered Valid. [ Valid ] Default behavior by Frama-C kernel. @@ -1151,11 +1174,11 @@ Unverifiable but considered Valid. [ Extern ] Post-condition 'result_ptr' Unverifiable but considered Valid. -[ Extern ] Assigns (file FRAMAC_SHARE/libc/string.h, line 132) +[ Extern ] Assigns (file FRAMAC_SHARE/libc/string.h, line 149) Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 132) +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 149) Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 133) +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 150) Unverifiable but considered Valid. [ Valid ] Default behavior by Frama-C kernel. @@ -1168,7 +1191,7 @@ Unverifiable but considered Valid. [ Extern ] Assigns nothing Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 142) +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 159) Unverifiable but considered Valid. [ Valid ] Default behavior by Frama-C kernel. @@ -1181,7 +1204,7 @@ Unverifiable but considered Valid. [ Extern ] Assigns nothing Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 148) +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 165) Unverifiable but considered Valid. [ Valid ] Default behavior by Frama-C kernel. @@ -1194,7 +1217,7 @@ Unverifiable but considered Valid. [ Extern ] Assigns nothing Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 155) +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 172) Unverifiable but considered Valid. [ Valid ] Default behavior by Frama-C kernel. @@ -1207,7 +1230,7 @@ Unverifiable but considered Valid. [ Extern ] Assigns nothing Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 162) +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 180) Unverifiable but considered Valid. [ Valid ] Default behavior by Frama-C kernel. @@ -1218,7 +1241,7 @@ [ Extern ] Assigns nothing Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 169) +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 187) Unverifiable but considered Valid. [ Valid ] Default behavior by Frama-C kernel. @@ -1227,26 +1250,22 @@ --- Properties of Function 'strchr' -------------------------------------------------------------------------------- +[ Extern ] Post-condition for 'found' 'result_valid_string' + Unverifiable but considered Valid. [ Extern ] Post-condition for 'found' 'result_char' Unverifiable but considered Valid. [ Extern ] Post-condition for 'found' 'result_same_base' Unverifiable but considered Valid. [ Extern ] Post-condition for 'found' 'result_in_length' Unverifiable but considered Valid. -[ Extern ] Post-condition for 'found' 'result_valid_string' - Unverifiable but considered Valid. -[ Extern ] Post-condition for 'found' 'result_first_occur' +[ Extern ] Post-condition for 'found' 'result_first_occurrence' Unverifiable but considered Valid. [ Extern ] Post-condition for 'not_found' 'result_null' Unverifiable but considered Valid. -[ Extern ] Post-condition for 'default' 'result_null_or_same_base' - Unverifiable but considered Valid. [ Extern ] Assigns nothing Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 174) +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 194) Unverifiable but considered Valid. -[ Valid ] Behavior 'default' - by Frama-C kernel. [ Valid ] Default behavior by Frama-C kernel. [ Valid ] Behavior 'found' @@ -1258,11 +1277,13 @@ --- Properties of Function 'strchrnul' -------------------------------------------------------------------------------- +[ Extern ] Post-condition 'result_valid_string' + Unverifiable but considered Valid. [ Extern ] Post-condition 'result_same_base' Unverifiable but considered Valid. [ Extern ] Assigns nothing Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 192) +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 213) Unverifiable but considered Valid. [ Valid ] Default behavior by Frama-C kernel. @@ -1271,28 +1292,14 @@ --- Properties of Function 'strrchr' -------------------------------------------------------------------------------- -[ Extern ] Post-condition for 'found' 'result_char' - Unverifiable but considered Valid. -[ Extern ] Post-condition for 'found' 'result_same_base' - Unverifiable but considered Valid. -[ Extern ] Post-condition for 'found' 'result_valid_string' - Unverifiable but considered Valid. -[ Extern ] Post-condition for 'not_found' 'result_null' - Unverifiable but considered Valid. -[ Extern ] Post-condition for 'default' 'result_null_or_same_base' +[ Extern ] Post-condition 'result_null_or_same_base' Unverifiable but considered Valid. [ Extern ] Assigns nothing Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 198) +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 221) Unverifiable but considered Valid. -[ Valid ] Behavior 'default' - by Frama-C kernel. [ Valid ] Default behavior by Frama-C kernel. -[ Valid ] Behavior 'found' - by Frama-C kernel. -[ Valid ] Behavior 'not_found' - by Frama-C kernel. -------------------------------------------------------------------------------- --- Properties of Function 'strcspn' @@ -1302,7 +1309,7 @@ Unverifiable but considered Valid. [ Extern ] Assigns nothing Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 215) +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 231) Unverifiable but considered Valid. [ Valid ] Default behavior by Frama-C kernel. @@ -1313,11 +1320,9 @@ [ Extern ] Post-condition 'result_bounded' Unverifiable but considered Valid. -[ Extern ] Assigns (file FRAMAC_SHARE/libc/string.h, line 222) - Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 222) +[ Extern ] Assigns nothing Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 223) +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 240) Unverifiable but considered Valid. [ Valid ] Default behavior by Frama-C kernel. @@ -1330,7 +1335,7 @@ Unverifiable but considered Valid. [ Extern ] Assigns nothing Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 230) +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 249) Unverifiable but considered Valid. [ Valid ] Default behavior by Frama-C kernel. @@ -1343,7 +1348,7 @@ Unverifiable but considered Valid. [ Extern ] Assigns nothing Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 238) +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 260) Unverifiable but considered Valid. [ Valid ] Default behavior by Frama-C kernel. @@ -1356,7 +1361,7 @@ Unverifiable but considered Valid. [ Extern ] Assigns nothing Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 249) +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 273) Unverifiable but considered Valid. [ Valid ] Default behavior by Frama-C kernel. @@ -1365,39 +1370,43 @@ --- Properties of Function 'strtok' -------------------------------------------------------------------------------- -[ Extern ] Post-condition for 'new_str' 'result_subset' +[ Extern ] Post-condition for 'new_str' 'result_same_base' + Unverifiable but considered Valid. +[ Extern ] Post-condition for 'new_str' 'ptr_valid_string' + Unverifiable but considered Valid. +[ Extern ] Post-condition for 'new_str' 'ptr_same_base' Unverifiable but considered Valid. -[ Extern ] Post-condition for 'new_str' 'ptr_subset' +[ Extern ] Post-condition for 'resume_str' 'result_same_base' Unverifiable but considered Valid. -[ Extern ] Post-condition for 'resume_str' 'result_subset' +[ Extern ] Post-condition for 'resume_str' 'ptr_valid_string' Unverifiable but considered Valid. -[ Extern ] Post-condition for 'resume_str' 'ptr_subset' +[ Extern ] Post-condition for 'resume_str' 'ptr_same_base' Unverifiable but considered Valid. -[ Extern ] Assigns (file FRAMAC_SHARE/libc/string.h, line 262) +[ Extern ] Assigns (file FRAMAC_SHARE/libc/string.h, line 289) Unverifiable but considered Valid. -[ Extern ] Assigns for 'new_str' (file FRAMAC_SHARE/libc/string.h, line 277) +[ Extern ] Assigns for 'new_str' (file FRAMAC_SHARE/libc/string.h, line 304) Unverifiable but considered Valid. -[ Extern ] Assigns for 'resume_str' (file FRAMAC_SHARE/libc/string.h, line 285) +[ Extern ] Assigns for 'resume_str' (file FRAMAC_SHARE/libc/string.h, line 316) Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 262) +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 289) Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 264) +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 291) Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 266) +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 293) Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 268) +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 295) Unverifiable but considered Valid. -[ Extern ] Froms for 'new_str' (file FRAMAC_SHARE/libc/string.h, line 277) +[ Extern ] Froms for 'new_str' (file FRAMAC_SHARE/libc/string.h, line 304) Unverifiable but considered Valid. -[ Extern ] Froms for 'new_str' (file FRAMAC_SHARE/libc/string.h, line 278) +[ Extern ] Froms for 'new_str' (file FRAMAC_SHARE/libc/string.h, line 306) Unverifiable but considered Valid. -[ Extern ] Froms for 'new_str' (file FRAMAC_SHARE/libc/string.h, line 279) +[ Extern ] Froms for 'new_str' (file FRAMAC_SHARE/libc/string.h, line 307) Unverifiable but considered Valid. -[ Extern ] Froms for 'resume_str' (file FRAMAC_SHARE/libc/string.h, line 285) +[ Extern ] Froms for 'resume_str' (file FRAMAC_SHARE/libc/string.h, line 316) Unverifiable but considered Valid. -[ Extern ] Froms for 'resume_str' (file FRAMAC_SHARE/libc/string.h, line 288) +[ Extern ] Froms for 'resume_str' (file FRAMAC_SHARE/libc/string.h, line 319) Unverifiable but considered Valid. -[ Extern ] Froms for 'resume_str' (file FRAMAC_SHARE/libc/string.h, line 291) +[ Extern ] Froms for 'resume_str' (file FRAMAC_SHARE/libc/string.h, line 322) Unverifiable but considered Valid. [ Valid ] Default behavior by Frama-C kernel. @@ -1410,41 +1419,43 @@ --- Properties of Function 'strtok_r' -------------------------------------------------------------------------------- -[ Extern ] Post-condition for 'new_str' 'result_subset' +[ Extern ] Post-condition for 'new_str' 'result_same_base' Unverifiable but considered Valid. -[ Extern ] Post-condition for 'new_str' 'initialization' +[ Extern ] Post-condition for 'new_str' 'saveptr_valid_string' Unverifiable but considered Valid. -[ Extern ] Post-condition for 'new_str' 'saveptr_subset' +[ Extern ] Post-condition for 'new_str' 'saveptr_same_base' Unverifiable but considered Valid. -[ Extern ] Post-condition for 'resume_str' 'result_subset' +[ Extern ] Post-condition for 'resume_str' 'result_same_base' Unverifiable but considered Valid. -[ Extern ] Post-condition for 'resume_str' 'saveptr_subset' +[ Extern ] Post-condition for 'resume_str' 'saveptr_valid_string' Unverifiable but considered Valid. -[ Extern ] Assigns (file FRAMAC_SHARE/libc/string.h, line 304) +[ Extern ] Post-condition for 'resume_str' 'saveptr_same_base' Unverifiable but considered Valid. -[ Extern ] Assigns for 'new_str' (file FRAMAC_SHARE/libc/string.h, line 319) +[ Extern ] Assigns (file FRAMAC_SHARE/libc/string.h, line 341) Unverifiable but considered Valid. -[ Extern ] Assigns for 'resume_str' (file FRAMAC_SHARE/libc/string.h, line 329) +[ Extern ] Assigns for 'new_str' (file FRAMAC_SHARE/libc/string.h, line 356) Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 304) +[ Extern ] Assigns for 'resume_str' (file FRAMAC_SHARE/libc/string.h, line 369) Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 306) +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 341) Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 308) +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 343) Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 310) +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 345) Unverifiable but considered Valid. -[ Extern ] Froms for 'new_str' (file FRAMAC_SHARE/libc/string.h, line 319) +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 347) + Unverifiable but considered Valid. +[ Extern ] Froms for 'new_str' (file FRAMAC_SHARE/libc/string.h, line 356) Unverifiable but considered Valid. -[ Extern ] Froms for 'new_str' (file FRAMAC_SHARE/libc/string.h, line 320) +[ Extern ] Froms for 'new_str' (file FRAMAC_SHARE/libc/string.h, line 358) Unverifiable but considered Valid. -[ Extern ] Froms for 'new_str' (file FRAMAC_SHARE/libc/string.h, line 321) +[ Extern ] Froms for 'new_str' (file FRAMAC_SHARE/libc/string.h, line 359) Unverifiable but considered Valid. -[ Extern ] Froms for 'resume_str' (file FRAMAC_SHARE/libc/string.h, line 329) +[ Extern ] Froms for 'resume_str' (file FRAMAC_SHARE/libc/string.h, line 369) Unverifiable but considered Valid. -[ Extern ] Froms for 'resume_str' (file FRAMAC_SHARE/libc/string.h, line 332) +[ Extern ] Froms for 'resume_str' (file FRAMAC_SHARE/libc/string.h, line 372) Unverifiable but considered Valid. -[ Extern ] Froms for 'resume_str' (file FRAMAC_SHARE/libc/string.h, line 335) +[ Extern ] Froms for 'resume_str' (file FRAMAC_SHARE/libc/string.h, line 375) Unverifiable but considered Valid. [ Valid ] Default behavior by Frama-C kernel. @@ -1457,14 +1468,22 @@ --- Properties of Function 'strsep' -------------------------------------------------------------------------------- -[ Extern ] Assigns (file FRAMAC_SHARE/libc/string.h, line 347) +[ Extern ] Post-condition for 'no_stringp' 'result_null' Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 347) +[ Extern ] Post-condition for 'valid_stringp' 'valid_result' Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 348) +[ Extern ] Assigns (file FRAMAC_SHARE/libc/string.h, line 391) + Unverifiable but considered Valid. +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 391) + Unverifiable but considered Valid. +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 392) Unverifiable but considered Valid. [ Valid ] Default behavior by Frama-C kernel. +[ Valid ] Behavior 'no_stringp' + by Frama-C kernel. +[ Valid ] Behavior 'valid_stringp' + by Frama-C kernel. -------------------------------------------------------------------------------- --- Properties of Function 'strerror' @@ -1478,7 +1497,7 @@ Unverifiable but considered Valid. [ Extern ] Assigns nothing Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 358) +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 410) Unverifiable but considered Valid. [ Valid ] Default behavior by Frama-C kernel. @@ -1491,11 +1510,11 @@ Unverifiable but considered Valid. [ Extern ] Post-condition 'result_ptr' Unverifiable but considered Valid. -[ Extern ] Assigns (file FRAMAC_SHARE/libc/string.h, line 371) +[ Extern ] Assigns (file FRAMAC_SHARE/libc/string.h, line 423) Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 371) +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 423) Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 372) +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 424) Unverifiable but considered Valid. [ Valid ] Default behavior by Frama-C kernel. @@ -1512,11 +1531,11 @@ Unverifiable but considered Valid. [ Extern ] Post-condition for 'partial' 'equal_prefix' Unverifiable but considered Valid. -[ Extern ] Assigns (file FRAMAC_SHARE/libc/string.h, line 383) +[ Extern ] Assigns (file FRAMAC_SHARE/libc/string.h, line 435) Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 383) +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 435) Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 384) +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 436) Unverifiable but considered Valid. [ Valid ] Behavior 'complete' by Frama-C kernel. @@ -1533,11 +1552,11 @@ Unverifiable but considered Valid. [ Extern ] Post-condition 'bounded_result' Unverifiable but considered Valid. -[ Extern ] Assigns (file FRAMAC_SHARE/libc/string.h, line 404) +[ Extern ] Assigns (file FRAMAC_SHARE/libc/string.h, line 456) Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 404) +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 456) Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 405) +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 457) Unverifiable but considered Valid. [ Valid ] Default behavior by Frama-C kernel. @@ -1550,11 +1569,11 @@ Unverifiable but considered Valid. [ Extern ] Post-condition 'points_to_end' Unverifiable but considered Valid. -[ Extern ] Assigns (file FRAMAC_SHARE/libc/string.h, line 416) +[ Extern ] Assigns (file FRAMAC_SHARE/libc/string.h, line 468) Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 416) +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 468) Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 417) +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 469) Unverifiable but considered Valid. [ Valid ] Default behavior by Frama-C kernel. @@ -1571,11 +1590,11 @@ Unverifiable but considered Valid. [ Extern ] Post-condition 'result_ptr' Unverifiable but considered Valid. -[ Extern ] Assigns (file FRAMAC_SHARE/libc/string.h, line 427) +[ Extern ] Assigns (file FRAMAC_SHARE/libc/string.h, line 481) Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 427) +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 481) Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 430) +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 484) Unverifiable but considered Valid. [ Valid ] Default behavior by Frama-C kernel. @@ -1590,23 +1609,23 @@ Unverifiable but considered Valid. [ Extern ] Post-condition for 'partial' 'sum_of_bounded_lengths' Unverifiable but considered Valid. -[ Extern ] Assigns for 'complete' (file FRAMAC_SHARE/libc/string.h, line 447) +[ Extern ] Assigns for 'complete' (file FRAMAC_SHARE/libc/string.h, line 508) Unverifiable but considered Valid. -[ Extern ] Assigns (file FRAMAC_SHARE/libc/string.h, line 441) +[ Extern ] Assigns (file FRAMAC_SHARE/libc/string.h, line 502) Unverifiable but considered Valid. -[ Extern ] Assigns for 'partial' (file FRAMAC_SHARE/libc/string.h, line 455) +[ Extern ] Assigns for 'partial' (file FRAMAC_SHARE/libc/string.h, line 515) Unverifiable but considered Valid. -[ Extern ] Froms for 'complete' (file FRAMAC_SHARE/libc/string.h, line 447) +[ Extern ] Froms for 'complete' (file FRAMAC_SHARE/libc/string.h, line 508) Unverifiable but considered Valid. -[ Extern ] Froms for 'complete' (file FRAMAC_SHARE/libc/string.h, line 449) +[ Extern ] Froms for 'complete' (file FRAMAC_SHARE/libc/string.h, line 510) Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 441) +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 502) Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 442) +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 503) Unverifiable but considered Valid. -[ Extern ] Froms for 'partial' (file FRAMAC_SHARE/libc/string.h, line 455) +[ Extern ] Froms for 'partial' (file FRAMAC_SHARE/libc/string.h, line 515) Unverifiable but considered Valid. -[ Extern ] Froms for 'partial' (file FRAMAC_SHARE/libc/string.h, line 457) +[ Extern ] Froms for 'partial' (file FRAMAC_SHARE/libc/string.h, line 517) Unverifiable but considered Valid. [ Valid ] Behavior 'complete' by Frama-C kernel. @@ -1621,11 +1640,11 @@ [ Extern ] Post-condition 'bounded_result' Unverifiable but considered Valid. -[ Extern ] Assigns (file FRAMAC_SHARE/libc/string.h, line 467) +[ Extern ] Assigns (file FRAMAC_SHARE/libc/string.h, line 532) Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 467) +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 532) Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 468) +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 533) Unverifiable but considered Valid. [ Valid ] Default behavior by Frama-C kernel. @@ -1634,11 +1653,26 @@ --- Properties of Function 'strxfrm' -------------------------------------------------------------------------------- -[ Extern ] Assigns (file FRAMAC_SHARE/libc/string.h, line 476) +[ Extern ] Assigns (file FRAMAC_SHARE/libc/string.h, line 542) Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 476) +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 542) Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 477) +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 543) + Unverifiable but considered Valid. +[ Valid ] Default behavior + by Frama-C kernel. + +-------------------------------------------------------------------------------- +--- Properties of Function 'memmem' +-------------------------------------------------------------------------------- + +[ Extern ] Post-condition 'result_null_or_valid' + Unverifiable but considered Valid. +[ Extern ] Post-condition 'result_null_or_same_base' + Unverifiable but considered Valid. +[ Extern ] Assigns nothing + Unverifiable but considered Valid. +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 551) Unverifiable but considered Valid. [ Valid ] Default behavior by Frama-C kernel. @@ -1653,19 +1687,19 @@ Unverifiable but considered Valid. [ Extern ] Post-condition for 'no_allocation' 'result_null' Unverifiable but considered Valid. -[ Extern ] Assigns for 'allocation' (file FRAMAC_SHARE/libc/string.h, line 489) +[ Extern ] Assigns for 'allocation' (file FRAMAC_SHARE/libc/string.h, line 570) Unverifiable but considered Valid. [ Extern ] Assigns nothing Unverifiable but considered Valid. [ Extern ] Assigns for 'no_allocation' nothing Unverifiable but considered Valid. -[ Extern ] Froms for 'allocation' (file FRAMAC_SHARE/libc/string.h, line 489) +[ Extern ] Froms for 'allocation' (file FRAMAC_SHARE/libc/string.h, line 570) Unverifiable but considered Valid. -[ Extern ] Froms for 'allocation' (file FRAMAC_SHARE/libc/string.h, line 490) +[ Extern ] Froms for 'allocation' (file FRAMAC_SHARE/libc/string.h, line 572) Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 486) +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 567) Unverifiable but considered Valid. -[ Extern ] Froms for 'no_allocation' (file FRAMAC_SHARE/libc/string.h, line 496) +[ Extern ] Froms for 'no_allocation' (file FRAMAC_SHARE/libc/string.h, line 579) Unverifiable but considered Valid. [ Valid ] Behavior 'allocation' by Frama-C kernel. @@ -1673,7 +1707,7 @@ by Frama-C kernel. [ Valid ] Behavior 'no_allocation' by Frama-C kernel. -[ Extern ] Frees/Allocates nothing/(file FRAMAC_SHARE/libc/string.h, line 485) +[ Extern ] Frees/Allocates nothing/(file FRAMAC_SHARE/libc/string.h, line 566) Unverifiable but considered Valid. [ Extern ] Frees/Allocates for 'no_allocation' nothing/nothing Unverifiable but considered Valid. @@ -1688,19 +1722,19 @@ Unverifiable but considered Valid. [ Extern ] Post-condition for 'no_allocation' 'result_null' Unverifiable but considered Valid. -[ Extern ] Assigns for 'allocation' (file FRAMAC_SHARE/libc/string.h, line 508) +[ Extern ] Assigns for 'allocation' (file FRAMAC_SHARE/libc/string.h, line 594) Unverifiable but considered Valid. [ Extern ] Assigns nothing Unverifiable but considered Valid. [ Extern ] Assigns for 'no_allocation' nothing Unverifiable but considered Valid. -[ Extern ] Froms for 'allocation' (file FRAMAC_SHARE/libc/string.h, line 508) +[ Extern ] Froms for 'allocation' (file FRAMAC_SHARE/libc/string.h, line 594) Unverifiable but considered Valid. -[ Extern ] Froms for 'allocation' (file FRAMAC_SHARE/libc/string.h, line 509) +[ Extern ] Froms for 'allocation' (file FRAMAC_SHARE/libc/string.h, line 595) Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 504) +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 590) Unverifiable but considered Valid. -[ Extern ] Froms for 'no_allocation' (file FRAMAC_SHARE/libc/string.h, line 518) +[ Extern ] Froms for 'no_allocation' (file FRAMAC_SHARE/libc/string.h, line 605) Unverifiable but considered Valid. [ Valid ] Behavior 'allocation' by Frama-C kernel. @@ -1708,11 +1742,42 @@ by Frama-C kernel. [ Valid ] Behavior 'no_allocation' by Frama-C kernel. -[ Extern ] Frees/Allocates nothing/(file FRAMAC_SHARE/libc/string.h, line 503) +[ Extern ] Frees/Allocates nothing/(file FRAMAC_SHARE/libc/string.h, line 589) Unverifiable but considered Valid. [ Extern ] Frees/Allocates for 'no_allocation' nothing/nothing Unverifiable but considered Valid. +-------------------------------------------------------------------------------- +--- Properties of Function 'stpncpy' +-------------------------------------------------------------------------------- + +[ Extern ] Post-condition 'initialization' + Unverifiable but considered Valid. +[ Extern ] Post-condition for 'src_is_a_string' 'valid_string_dest' + Unverifiable but considered Valid. +[ Extern ] Post-condition for 'src_is_a_string' 'same_contents' + Unverifiable but considered Valid. +[ Extern ] Post-condition for 'src_is_a_string' 'dest_nul_padded' + Unverifiable but considered Valid. +[ Extern ] Post-condition for 'src_is_a_string' 'result_points_to_nul' + Unverifiable but considered Valid. +[ Extern ] Post-condition for 'src_too_long' 'same_partial_contents' + Unverifiable but considered Valid. +[ Extern ] Post-condition for 'src_too_long' 'result_points_to_end' + Unverifiable but considered Valid. +[ Extern ] Assigns (file FRAMAC_SHARE/libc/string.h, line 615) + Unverifiable but considered Valid. +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 615) + Unverifiable but considered Valid. +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 616) + Unverifiable but considered Valid. +[ Valid ] Default behavior + by Frama-C kernel. +[ Valid ] Behavior 'src_is_a_string' + by Frama-C kernel. +[ Valid ] Behavior 'src_too_long' + by Frama-C kernel. + -------------------------------------------------------------------------------- --- Properties of Function 'strsignal' -------------------------------------------------------------------------------- @@ -1725,7 +1790,7 @@ Unverifiable but considered Valid. [ Extern ] Assigns nothing Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 534) +[ Extern ] Froms (file FRAMAC_SHARE/libc/string.h, line 642) Unverifiable but considered Valid. [ Valid ] Default behavior by Frama-C kernel. @@ -2187,10 +2252,10 @@ -------------------------------------------------------------------------------- --- Status Report Summary -------------------------------------------------------------------------------- - 164 Completely validated + 169 Completely validated 1 Locally validated - 247 Considered valid + 267 Considered valid 32 To be validated 4 Alarms emitted - 448 Total + 473 Total -------------------------------------------------------------------------------- diff --git a/tests/builtins/oracle/memcpy2.res.oracle b/tests/builtins/oracle/memcpy2.res.oracle index d72a3ed46ed6d5c6578a06f007b32c315bd6b56f..7a2e4458ddb0a4d4f593fa1d0a5256214685d97b 100644 --- a/tests/builtins/oracle/memcpy2.res.oracle +++ b/tests/builtins/oracle/memcpy2.res.oracle @@ -14,13 +14,13 @@ [eva] memcpy2.c:10: function memcpy: precondition 'valid_dest' got status valid. [eva] memcpy2.c:10: function memcpy: precondition 'valid_src' got status valid. [eva] memcpy2.c:10: function memcpy: precondition 'separation' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:101: +[eva] FRAMAC_SHARE/libc/string.h:118: cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp [eva] memcpy2.c:12: Frama_C_dump_each: # cvalue: - Frama_C_entropy_source ∈ [--..--] __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_strtok_ptr ∈ {0} __fc_strerror[0..63] ∈ [--..--] __fc_p_strerror ∈ {{ &__fc_strerror[0] }} diff --git a/tests/builtins/oracle/memcpy_invalid.res.oracle b/tests/builtins/oracle/memcpy_invalid.res.oracle index a1bb6e91bf1d45eb090a4ec7c0fb1765af51f91b..3f5a13b66c9273271fbc71b688a62613c4e69fd1 100644 --- a/tests/builtins/oracle/memcpy_invalid.res.oracle +++ b/tests/builtins/oracle/memcpy_invalid.res.oracle @@ -17,7 +17,7 @@ function memcpy: precondition 'valid_src' got status unknown. [eva] memcpy_invalid.c:17: function memcpy: precondition 'separation' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:101: +[eva] FRAMAC_SHARE/libc/string.h:118: cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp [eva] Recording results for test [from] Computing for function test diff --git a/tests/builtins/oracle/memset.res.oracle b/tests/builtins/oracle/memset.res.oracle index f8bbb7519d819bd62c5c137bd158eadb4393d62a..81ad7400cbf0cce906879475122cb6216e196365 100644 --- a/tests/builtins/oracle/memset.res.oracle +++ b/tests/builtins/oracle/memset.res.oracle @@ -33,7 +33,7 @@ Called from memset.c:93. [eva] memset.c:33: Call to builtin memset [eva] memset.c:33: function memset: precondition 'valid_s' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:134: +[eva] FRAMAC_SHARE/libc/string.h:151: cannot evaluate ACSL term, unsupported ACSL construct: logic function memset [eva:alarm] memset.c:34: Warning: pointer downcast. assert (unsigned int)((int *)t2) ≤ 2147483647; diff --git a/tests/builtins/oracle/memset_malloc_0.res.oracle b/tests/builtins/oracle/memset_malloc_0.res.oracle index 3afa0b65a29ef763ba0924c82c44d6ef863279b3..f397248b81e2c8e0af63cfc8dfa48c7da96eb17d 100644 --- a/tests/builtins/oracle/memset_malloc_0.res.oracle +++ b/tests/builtins/oracle/memset_malloc_0.res.oracle @@ -9,7 +9,7 @@ [eva] memset_malloc_0.c:18: Call to builtin memset [eva] memset_malloc_0.c:18: function memset: precondition 'valid_s' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:134: +[eva] FRAMAC_SHARE/libc/string.h:151: cannot evaluate ACSL term, unsupported ACSL construct: logic function memset [eva] Recording results for main [eva] Done for function main diff --git a/tests/builtins/oracle/precise_memset.res.oracle b/tests/builtins/oracle/precise_memset.res.oracle index b02ac470c631262bbd86438efe066d2c039d917b..323e1f8213bf8c88a2a0230b709f435f46a07b9b 100644 --- a/tests/builtins/oracle/precise_memset.res.oracle +++ b/tests/builtins/oracle/precise_memset.res.oracle @@ -22,7 +22,7 @@ [eva] precise_memset.c:72: Call to builtin memset [eva] precise_memset.c:72: function memset: precondition 'valid_s' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:134: +[eva] FRAMAC_SHARE/libc/string.h:151: cannot evaluate ACSL term, unsupported ACSL construct: logic function memset [eva] precise_memset.c:73: Call to builtin memset [eva] precise_memset.c:73: diff --git a/tests/builtins/oracle/str_allocated.res.oracle b/tests/builtins/oracle/str_allocated.res.oracle index e4448f41539d45b1ccf9d48abb53abff92e2f45a..cdd369361befe66a55caf18165d58ad4b5219c15 100644 --- a/tests/builtins/oracle/str_allocated.res.oracle +++ b/tests/builtins/oracle/str_allocated.res.oracle @@ -26,7 +26,7 @@ function memchr: precondition 'danglingness' got status unknown. [eva] FRAMAC_SHARE/libc/string.h:78: cannot evaluate ACSL term, unsupported ACSL construct: logic function memchr -[eva] FRAMAC_SHARE/libc/string.h:85: +[eva] FRAMAC_SHARE/libc/string.h:86: cannot evaluate ACSL term, unsupported ACSL construct: logic function memchr [eva] Recording results for memchr_bug [eva] Done for function memchr_bug diff --git a/tests/builtins/oracle/strchr.res.oracle b/tests/builtins/oracle/strchr.res.oracle index 28d8bac402b60642a6f46a399abd794616a4f0f9..924eddff1f52b8041adf37a6be4f29c7986b08f8 100644 --- a/tests/builtins/oracle/strchr.res.oracle +++ b/tests/builtins/oracle/strchr.res.oracle @@ -23,7 +23,7 @@ [eva] strchr.c:88: Call to builtin strchr [eva] strchr.c:88: function strchr: precondition 'valid_string_s' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:181: +[eva] FRAMAC_SHARE/libc/string.h:202: cannot evaluate ACSL term, unsupported logic var p [eva] strchr.c:88: Frama_C_show_each_mystrchr: {3} [eva] strchr.c:89: assertion got status valid. @@ -92,7 +92,7 @@ Called from strchr.c:197. [eva] strchr.c:189: Call to builtin memset [eva] strchr.c:189: function memset: precondition 'valid_s' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:134: +[eva] FRAMAC_SHARE/libc/string.h:151: cannot evaluate ACSL term, unsupported ACSL construct: logic function memset [eva] Recording results for init_array_nondet [eva] Done for function init_array_nondet diff --git a/tests/builtins/oracle/strlen.res.oracle b/tests/builtins/oracle/strlen.res.oracle index 1998d07eb2c5d4eb738d3b6dcb21612791eb8072..0cbb3fda54f7f1e7fdf61be9e0926bbe60be9fdd 100644 --- a/tests/builtins/oracle/strlen.res.oracle +++ b/tests/builtins/oracle/strlen.res.oracle @@ -93,7 +93,7 @@ Called from strlen.c:168. [eva] strlen.c:161: Call to builtin memset [eva] strlen.c:161: function memset: precondition 'valid_s' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:134: +[eva] FRAMAC_SHARE/libc/string.h:151: cannot evaluate ACSL term, unsupported ACSL construct: logic function memset [eva] Recording results for init_array_nondet [eva] Done for function init_array_nondet diff --git a/tests/builtins/oracle/strnlen2.res.oracle b/tests/builtins/oracle/strnlen2.res.oracle index f554968beef79c411e521f9b290838822ce89bd9..9b3f015bc35df7a058cf381f88f2d0eb5cba6393 100644 --- a/tests/builtins/oracle/strnlen2.res.oracle +++ b/tests/builtins/oracle/strnlen2.res.oracle @@ -93,7 +93,7 @@ Called from strnlen2.c:144. [eva] strnlen2.c:138: Call to builtin memset [eva] strnlen2.c:138: function memset: precondition 'valid_s' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:134: +[eva] FRAMAC_SHARE/libc/string.h:151: cannot evaluate ACSL term, unsupported ACSL construct: logic function memset [eva] Recording results for init_array_nondet [eva] Done for function init_array_nondet diff --git a/tests/builtins/oracle/wcslen.res.oracle b/tests/builtins/oracle/wcslen.res.oracle index a5de0cd779733ac1419fd06657318b8832524640..9faaf9d02317bd2408bd494e9db29c182b804c24 100644 --- a/tests/builtins/oracle/wcslen.res.oracle +++ b/tests/builtins/oracle/wcslen.res.oracle @@ -93,7 +93,7 @@ Called from wcslen.c:168. [eva] wcslen.c:161: Call to builtin memset [eva] wcslen.c:161: function memset: precondition 'valid_s' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:134: +[eva] FRAMAC_SHARE/libc/string.h:151: cannot evaluate ACSL term, unsupported ACSL construct: logic function memset [eva] Recording results for init_array_nondet [eva] Done for function init_array_nondet diff --git a/tests/builtins/oracle/write-const.res.oracle b/tests/builtins/oracle/write-const.res.oracle index 3c166ff90399758c31f8a4337cd8e0f318d7f3e2..eab4ebd123367102f38196750281397fd5071bd6 100644 --- a/tests/builtins/oracle/write-const.res.oracle +++ b/tests/builtins/oracle/write-const.res.oracle @@ -15,7 +15,7 @@ function memcpy: precondition 'valid_src' got status valid. [eva] write-const.c:18: function memcpy: precondition 'separation' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:101: +[eva] FRAMAC_SHARE/libc/string.h:118: cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp [eva] write-const.c:19: Frama_C_dump_each: @@ -42,7 +42,7 @@ [eva] write-const.c:25: Call to builtin memset [eva:alarm] write-const.c:25: Warning: function memset: precondition 'valid_s' got status unknown. -[eva] FRAMAC_SHARE/libc/string.h:134: +[eva] FRAMAC_SHARE/libc/string.h:151: cannot evaluate ACSL term, unsupported ACSL construct: logic function memset [eva] write-const.c:26: Frama_C_dump_each: diff --git a/tests/float/oracle/builtins.res.oracle b/tests/float/oracle/builtins.res.oracle index 5039c250f6b7711f4c2d73630e0df5ae8926e78d..0314e931b5a92f9bc007ab7731e4456550165500 100644 --- a/tests/float/oracle/builtins.res.oracle +++ b/tests/float/oracle/builtins.res.oracle @@ -11,17 +11,13 @@ Called from builtins.c:12. [eva] using specification for function Frama_C_float_interval [eva] builtins.c:12: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] builtins.c:12: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva] computing for function Frama_C_double_interval <- main. Called from builtins.c:13. [eva] using specification for function Frama_C_double_interval [eva] builtins.c:13: - function Frama_C_double_interval: precondition 'finite' got status valid. -[eva] builtins.c:13: - function Frama_C_double_interval: precondition 'order' got status valid. + function Frama_C_double_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_double_interval [eva] Recording results for main [eva] Done for function main diff --git a/tests/float/oracle/cond.res.oracle b/tests/float/oracle/cond.res.oracle index 27e81d6dc944d269ef634354776c90bd54ee1940..80dde9ff11713507b42eaff929c50c759a3dce37 100644 --- a/tests/float/oracle/cond.res.oracle +++ b/tests/float/oracle/cond.res.oracle @@ -16,24 +16,18 @@ Called from cond.c:12. [eva] using specification for function Frama_C_float_interval [eva] cond.c:12: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] cond.c:12: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva] computing for function Frama_C_float_interval <- main. Called from cond.c:15. [eva] cond.c:15: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] cond.c:15: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva:alarm] cond.c:18: Warning: assertion got status unknown. [eva] computing for function Frama_C_float_interval <- main. Called from cond.c:20. [eva] cond.c:20: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] cond.c:20: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva] Recording results for main [eva] Done for function main diff --git a/tests/float/oracle/nonlin.0.res.oracle b/tests/float/oracle/nonlin.0.res.oracle index f1e3762e46998e127a7fa8f744e42cd1eac9675b..42d729351cb63c8b12f12002bdfb07ae97d06d53 100644 --- a/tests/float/oracle/nonlin.0.res.oracle +++ b/tests/float/oracle/nonlin.0.res.oracle @@ -42,16 +42,12 @@ Called from nonlin.c:18. [eva] using specification for function Frama_C_float_interval [eva] nonlin.c:18: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:18: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva] computing for function Frama_C_float_interval <- nonlin_f <- main. Called from nonlin.c:19. [eva] nonlin.c:19: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:19: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva] nonlin.c:22: assertion got status valid. [eva] nonlin.c:26: assertion got status valid. @@ -158,16 +154,12 @@ [eva] computing for function Frama_C_float_interval <- other <- main. Called from nonlin.c:61. [eva] nonlin.c:61: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:61: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva] computing for function Frama_C_float_interval <- other <- main. Called from nonlin.c:62. [eva] nonlin.c:62: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:62: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva:alarm] nonlin.c:63: Warning: accessing out of bounds index. @@ -206,16 +198,12 @@ [eva] computing for function Frama_C_float_interval <- norm <- main. Called from nonlin.c:84. [eva] nonlin.c:84: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:84: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva] computing for function Frama_C_float_interval <- norm <- main. Called from nonlin.c:85. [eva] nonlin.c:85: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:85: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva:alarm] nonlin.c:92: Warning: non-finite float value. assert \is_finite(\mul_float(v1, v1)); @@ -249,9 +237,7 @@ [eva] computing for function Frama_C_float_interval <- around_zeros <- main. Called from nonlin.c:108. [eva] nonlin.c:108: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:108: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva:alarm] nonlin.c:113: Warning: non-finite float value. @@ -264,9 +250,7 @@ [eva] computing for function Frama_C_float_interval <- subdivide_strategy <- main. Called from nonlin.c:126. [eva] nonlin.c:126: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:126: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva:alarm] nonlin.c:131: Warning: non-finite double value. assert \is_finite(nondet); @@ -276,9 +260,7 @@ [eva] computing for function Frama_C_float_interval <- subdivide_strategy <- main. Called from nonlin.c:136. [eva] nonlin.c:136: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:136: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva] Recording results for subdivide_strategy [eva] Done for function subdivide_strategy diff --git a/tests/float/oracle/nonlin.1.res.oracle b/tests/float/oracle/nonlin.1.res.oracle index 244530720993a3a7e052fc2c7c6f87e33eac1545..c5dac9ca707683e6969cfce971489611bb88f9dd 100644 --- a/tests/float/oracle/nonlin.1.res.oracle +++ b/tests/float/oracle/nonlin.1.res.oracle @@ -42,16 +42,12 @@ Called from nonlin.c:18. [eva] using specification for function Frama_C_float_interval [eva] nonlin.c:18: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:18: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva] computing for function Frama_C_float_interval <- nonlin_f <- main. Called from nonlin.c:19. [eva] nonlin.c:19: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:19: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva] nonlin.c:22: assertion got status valid. [eva:nonlin] nonlin.c:24: non-linear 'a + b * (c - a)', lv 'a' @@ -162,16 +158,12 @@ [eva] computing for function Frama_C_float_interval <- other <- main. Called from nonlin.c:61. [eva] nonlin.c:61: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:61: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva] computing for function Frama_C_float_interval <- other <- main. Called from nonlin.c:62. [eva] nonlin.c:62: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:62: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva:nonlin] nonlin.c:63: non-linear 'i * i', lv 'i' [eva:nonlin] nonlin.c:63: subdividing on i @@ -221,16 +213,12 @@ [eva] computing for function Frama_C_float_interval <- norm <- main. Called from nonlin.c:84. [eva] nonlin.c:84: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:84: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva] computing for function Frama_C_float_interval <- norm <- main. Called from nonlin.c:85. [eva] nonlin.c:85: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:85: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva:nonlin] nonlin.c:92: non-linear 'v1 * v1', lv 'v1' [eva:nonlin] nonlin.c:92: non-linear 'v2 * v2', lv 'v2' @@ -268,9 +256,7 @@ [eva] computing for function Frama_C_float_interval <- around_zeros <- main. Called from nonlin.c:108. [eva] nonlin.c:108: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:108: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva:nonlin] nonlin.c:113: non-linear '(f + f) - f', lv 'f' [eva:nonlin] nonlin.c:113: non-linear 'f1 / (((f + f) - f) - f1)', lv 'f1' @@ -286,9 +272,7 @@ [eva] computing for function Frama_C_float_interval <- subdivide_strategy <- main. Called from nonlin.c:126. [eva] nonlin.c:126: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:126: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva:nonlin] nonlin.c:130: non-linear 'x_0 * x_0', lv 'x_0' [eva:nonlin] nonlin.c:130: subdividing on x_0 @@ -302,9 +286,7 @@ [eva] computing for function Frama_C_float_interval <- subdivide_strategy <- main. Called from nonlin.c:136. [eva] nonlin.c:136: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:136: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva:nonlin] nonlin.c:140: subdividing on x_0 [eva] Recording results for subdivide_strategy diff --git a/tests/float/oracle/nonlin.2.res.oracle b/tests/float/oracle/nonlin.2.res.oracle index c34017d84d4a9ae84d71a2e2f54072c4703619fd..352093e03bcf77a2ec63db5bfad0780f2b9de997 100644 --- a/tests/float/oracle/nonlin.2.res.oracle +++ b/tests/float/oracle/nonlin.2.res.oracle @@ -42,16 +42,12 @@ Called from nonlin.c:18. [eva] using specification for function Frama_C_float_interval [eva] nonlin.c:18: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:18: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva] computing for function Frama_C_float_interval <- nonlin_f <- main. Called from nonlin.c:19. [eva] nonlin.c:19: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:19: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva] nonlin.c:22: assertion got status valid. [eva:nonlin] nonlin.c:24: non-linear 'a + b * (c - a)', lv 'a' @@ -162,16 +158,12 @@ [eva] computing for function Frama_C_float_interval <- other <- main. Called from nonlin.c:61. [eva] nonlin.c:61: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:61: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva] computing for function Frama_C_float_interval <- other <- main. Called from nonlin.c:62. [eva] nonlin.c:62: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:62: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva:nonlin] nonlin.c:63: non-linear 'i * i', lv 'i' [eva:nonlin] nonlin.c:63: subdividing on i @@ -218,16 +210,12 @@ [eva] computing for function Frama_C_float_interval <- norm <- main. Called from nonlin.c:84. [eva] nonlin.c:84: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:84: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva] computing for function Frama_C_float_interval <- norm <- main. Called from nonlin.c:85. [eva] nonlin.c:85: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:85: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva:nonlin] nonlin.c:92: non-linear 'v1 * v1', lv 'v1' [eva:nonlin] nonlin.c:92: non-linear 'v2 * v2', lv 'v2' @@ -251,9 +239,7 @@ [eva] computing for function Frama_C_float_interval <- around_zeros <- main. Called from nonlin.c:108. [eva] nonlin.c:108: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:108: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva:nonlin] nonlin.c:113: non-linear '(f + f) - f', lv 'f' [eva:nonlin] nonlin.c:113: non-linear 'f1 / (((f + f) - f) - f1)', lv 'f1' @@ -265,9 +251,7 @@ [eva] computing for function Frama_C_float_interval <- subdivide_strategy <- main. Called from nonlin.c:126. [eva] nonlin.c:126: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:126: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva:nonlin] nonlin.c:130: non-linear 'x_0 * x_0', lv 'x_0' [eva:nonlin] nonlin.c:130: subdividing on x_0 @@ -276,9 +260,7 @@ [eva] computing for function Frama_C_float_interval <- subdivide_strategy <- main. Called from nonlin.c:136. [eva] nonlin.c:136: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:136: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva:nonlin] nonlin.c:140: subdividing on x_0 [eva] Recording results for subdivide_strategy diff --git a/tests/float/oracle/nonlin.3.res.oracle b/tests/float/oracle/nonlin.3.res.oracle index d23a6174a0cadc609bb5457dd506babb182eb65d..d2e06be00ee2be37e5019e5d0183e1d7301e8a6d 100644 --- a/tests/float/oracle/nonlin.3.res.oracle +++ b/tests/float/oracle/nonlin.3.res.oracle @@ -42,16 +42,12 @@ Called from nonlin.c:18. [eva] using specification for function Frama_C_float_interval [eva] nonlin.c:18: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:18: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva] computing for function Frama_C_float_interval <- nonlin_f <- main. Called from nonlin.c:19. [eva] nonlin.c:19: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:19: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva] nonlin.c:22: assertion got status valid. [eva] nonlin.c:26: assertion got status valid. @@ -158,16 +154,12 @@ [eva] computing for function Frama_C_float_interval <- other <- main. Called from nonlin.c:61. [eva] nonlin.c:61: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:61: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva] computing for function Frama_C_float_interval <- other <- main. Called from nonlin.c:62. [eva] nonlin.c:62: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:62: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva:alarm] nonlin.c:63: Warning: accessing out of bounds index. @@ -206,16 +198,12 @@ [eva] computing for function Frama_C_float_interval <- norm <- main. Called from nonlin.c:84. [eva] nonlin.c:84: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:84: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva] computing for function Frama_C_float_interval <- norm <- main. Called from nonlin.c:85. [eva] nonlin.c:85: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:85: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva:alarm] nonlin.c:92: Warning: non-finite float value. assert \is_finite(\mul_float(v1, v1)); @@ -249,9 +237,7 @@ [eva] computing for function Frama_C_float_interval <- around_zeros <- main. Called from nonlin.c:108. [eva] nonlin.c:108: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:108: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva:alarm] nonlin.c:113: Warning: non-finite float value. @@ -264,9 +250,7 @@ [eva] computing for function Frama_C_float_interval <- subdivide_strategy <- main. Called from nonlin.c:126. [eva] nonlin.c:126: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:126: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva:alarm] nonlin.c:131: Warning: non-finite float value. assert \is_finite(nondet); @@ -276,9 +260,7 @@ [eva] computing for function Frama_C_float_interval <- subdivide_strategy <- main. Called from nonlin.c:136. [eva] nonlin.c:136: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:136: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva] Recording results for subdivide_strategy [eva] Done for function subdivide_strategy diff --git a/tests/float/oracle/nonlin.4.res.oracle b/tests/float/oracle/nonlin.4.res.oracle index 20a680fb4f8c999495bd8c39d38b551737bbc1a4..b21a406a3b430d71f61d4bdec248136f1a8fcd7f 100644 --- a/tests/float/oracle/nonlin.4.res.oracle +++ b/tests/float/oracle/nonlin.4.res.oracle @@ -42,16 +42,12 @@ Called from nonlin.c:18. [eva] using specification for function Frama_C_float_interval [eva] nonlin.c:18: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:18: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva] computing for function Frama_C_float_interval <- nonlin_f <- main. Called from nonlin.c:19. [eva] nonlin.c:19: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:19: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva] nonlin.c:22: assertion got status valid. [eva:nonlin] nonlin.c:24: non-linear 'a + b * (c - a)', lv 'a' @@ -162,16 +158,12 @@ [eva] computing for function Frama_C_float_interval <- other <- main. Called from nonlin.c:61. [eva] nonlin.c:61: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:61: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva] computing for function Frama_C_float_interval <- other <- main. Called from nonlin.c:62. [eva] nonlin.c:62: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:62: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva:nonlin] nonlin.c:63: non-linear 'i * i', lv 'i' [eva:nonlin] nonlin.c:63: subdividing on i @@ -221,16 +213,12 @@ [eva] computing for function Frama_C_float_interval <- norm <- main. Called from nonlin.c:84. [eva] nonlin.c:84: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:84: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva] computing for function Frama_C_float_interval <- norm <- main. Called from nonlin.c:85. [eva] nonlin.c:85: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:85: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva:nonlin] nonlin.c:92: non-linear 'v1 * v1', lv 'v1' [eva:nonlin] nonlin.c:92: non-linear 'v2 * v2', lv 'v2' @@ -268,9 +256,7 @@ [eva] computing for function Frama_C_float_interval <- around_zeros <- main. Called from nonlin.c:108. [eva] nonlin.c:108: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:108: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva:nonlin] nonlin.c:113: non-linear '(f + f) - f', lv 'f' [eva:nonlin] nonlin.c:113: non-linear 'f1 / (((f + f) - f) - f1)', lv 'f1' @@ -286,9 +272,7 @@ [eva] computing for function Frama_C_float_interval <- subdivide_strategy <- main. Called from nonlin.c:126. [eva] nonlin.c:126: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:126: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva:nonlin] nonlin.c:130: non-linear 'x_0 * x_0', lv 'x_0' [eva:nonlin] nonlin.c:130: subdividing on x_0 @@ -302,9 +286,7 @@ [eva] computing for function Frama_C_float_interval <- subdivide_strategy <- main. Called from nonlin.c:136. [eva] nonlin.c:136: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:136: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva:nonlin] nonlin.c:140: subdividing on x_0 [eva] Recording results for subdivide_strategy diff --git a/tests/float/oracle/nonlin.5.res.oracle b/tests/float/oracle/nonlin.5.res.oracle index 5a90665f5e4c99e945c480c7c69d501d54c561e8..0b7e0cad33be8205b342c70de1fd48d93f645367 100644 --- a/tests/float/oracle/nonlin.5.res.oracle +++ b/tests/float/oracle/nonlin.5.res.oracle @@ -42,16 +42,12 @@ Called from nonlin.c:18. [eva] using specification for function Frama_C_float_interval [eva] nonlin.c:18: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:18: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva] computing for function Frama_C_float_interval <- nonlin_f <- main. Called from nonlin.c:19. [eva] nonlin.c:19: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:19: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva] nonlin.c:22: assertion got status valid. [eva:nonlin] nonlin.c:24: non-linear 'a + b * (c - a)', lv 'a' @@ -162,16 +158,12 @@ [eva] computing for function Frama_C_float_interval <- other <- main. Called from nonlin.c:61. [eva] nonlin.c:61: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:61: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva] computing for function Frama_C_float_interval <- other <- main. Called from nonlin.c:62. [eva] nonlin.c:62: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:62: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva:nonlin] nonlin.c:63: non-linear 'i * i', lv 'i' [eva:nonlin] nonlin.c:63: subdividing on i @@ -218,16 +210,12 @@ [eva] computing for function Frama_C_float_interval <- norm <- main. Called from nonlin.c:84. [eva] nonlin.c:84: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:84: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva] computing for function Frama_C_float_interval <- norm <- main. Called from nonlin.c:85. [eva] nonlin.c:85: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:85: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva:nonlin] nonlin.c:92: non-linear 'v1 * v1', lv 'v1' [eva:nonlin] nonlin.c:92: non-linear 'v2 * v2', lv 'v2' @@ -251,9 +239,7 @@ [eva] computing for function Frama_C_float_interval <- around_zeros <- main. Called from nonlin.c:108. [eva] nonlin.c:108: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:108: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva:nonlin] nonlin.c:113: non-linear '(f + f) - f', lv 'f' [eva:nonlin] nonlin.c:113: non-linear 'f1 / (((f + f) - f) - f1)', lv 'f1' @@ -265,9 +251,7 @@ [eva] computing for function Frama_C_float_interval <- subdivide_strategy <- main. Called from nonlin.c:126. [eva] nonlin.c:126: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:126: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva:nonlin] nonlin.c:130: non-linear 'x_0 * x_0', lv 'x_0' [eva:nonlin] nonlin.c:130: subdividing on x_0 @@ -276,9 +260,7 @@ [eva] computing for function Frama_C_float_interval <- subdivide_strategy <- main. Called from nonlin.c:136. [eva] nonlin.c:136: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] nonlin.c:136: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva:nonlin] nonlin.c:140: subdividing on x_0 [eva] Recording results for subdivide_strategy diff --git a/tests/float/oracle/precise_cos_sin.res.oracle b/tests/float/oracle/precise_cos_sin.res.oracle index ceaed12dc7a422f635a570f5fea4df483107e6ef..10a6b7fae42104936583a8201dae47a8e436b936 100644 --- a/tests/float/oracle/precise_cos_sin.res.oracle +++ b/tests/float/oracle/precise_cos_sin.res.oracle @@ -8,9 +8,7 @@ Called from precise_cos_sin.c:12. [eva] using specification for function Frama_C_float_interval [eva] precise_cos_sin.c:12: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] precise_cos_sin.c:12: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva] precise_cos_sin.c:15: Call to builtin sin [eva] precise_cos_sin.c:15: diff --git a/tests/float/oracle_equality/cond.res.oracle b/tests/float/oracle_equality/cond.res.oracle index 4cd8c3819bdb64f63d5e9a5ad88e1e7fa18fadeb..3af1cb44d15c34f17c0bceeedf4b3451fa35edd5 100644 --- a/tests/float/oracle_equality/cond.res.oracle +++ b/tests/float/oracle_equality/cond.res.oracle @@ -1,4 +1,4 @@ -45,46c45,46 +39,40c39,40 < dz ∈ [0x1.0000000000001p0 .. 0x1.4000000000000p3] < dt ∈ [-0x1.4000000000000p3 .. 0x1.fffffffffffffp-1] --- diff --git a/tests/float/oracle_equality/nonlin.1.res.oracle b/tests/float/oracle_equality/nonlin.1.res.oracle index 219fb5edaa60ceb558e2ae210ac981f0d144e48a..a2da22e4c93e104dac96393c8d404c2e109f517d 100644 --- a/tests/float/oracle_equality/nonlin.1.res.oracle +++ b/tests/float/oracle_equality/nonlin.1.res.oracle @@ -1,2 +1,2 @@ -61a62 +57a58 > [eva:nonlin] nonlin.c:44: subdividing on a diff --git a/tests/float/oracle_equality/nonlin.2.res.oracle b/tests/float/oracle_equality/nonlin.2.res.oracle index 219fb5edaa60ceb558e2ae210ac981f0d144e48a..a2da22e4c93e104dac96393c8d404c2e109f517d 100644 --- a/tests/float/oracle_equality/nonlin.2.res.oracle +++ b/tests/float/oracle_equality/nonlin.2.res.oracle @@ -1,2 +1,2 @@ -61a62 +57a58 > [eva:nonlin] nonlin.c:44: subdividing on a diff --git a/tests/float/oracle_equality/nonlin.4.res.oracle b/tests/float/oracle_equality/nonlin.4.res.oracle index 219fb5edaa60ceb558e2ae210ac981f0d144e48a..a2da22e4c93e104dac96393c8d404c2e109f517d 100644 --- a/tests/float/oracle_equality/nonlin.4.res.oracle +++ b/tests/float/oracle_equality/nonlin.4.res.oracle @@ -1,2 +1,2 @@ -61a62 +57a58 > [eva:nonlin] nonlin.c:44: subdividing on a diff --git a/tests/float/oracle_equality/nonlin.5.res.oracle b/tests/float/oracle_equality/nonlin.5.res.oracle index 219fb5edaa60ceb558e2ae210ac981f0d144e48a..a2da22e4c93e104dac96393c8d404c2e109f517d 100644 --- a/tests/float/oracle_equality/nonlin.5.res.oracle +++ b/tests/float/oracle_equality/nonlin.5.res.oracle @@ -1,2 +1,2 @@ -61a62 +57a58 > [eva:nonlin] nonlin.c:44: subdividing on a diff --git a/tests/float/oracle_octagon/nonlin.1.res.oracle b/tests/float/oracle_octagon/nonlin.1.res.oracle index 6eefc1b9fe0c8e2bfb44c95f71f61bc9f761dcf4..32ee5946f24c027cb7bf9fbb4f5475f1efd4b0a9 100644 --- a/tests/float/oracle_octagon/nonlin.1.res.oracle +++ b/tests/float/oracle_octagon/nonlin.1.res.oracle @@ -1,5 +1,5 @@ -274a275,276 +260a261,262 > [eva:nonlin] nonlin.c:113: non-linear 'f + f', lv 'f' > [eva:nonlin] nonlin.c:113: subdividing on f -277d278 +263d264 < [eva:nonlin] nonlin.c:113: subdividing on f diff --git a/tests/float/oracle_octagon/nonlin.2.res.oracle b/tests/float/oracle_octagon/nonlin.2.res.oracle index af64eb11946572bd8f9d116a6d6731adf1112bcb..012ad84c26fdedd40b52a9415821dc093e6e5493 100644 --- a/tests/float/oracle_octagon/nonlin.2.res.oracle +++ b/tests/float/oracle_octagon/nonlin.2.res.oracle @@ -1,5 +1,5 @@ -257a258,259 +243a244,245 > [eva:nonlin] nonlin.c:113: non-linear 'f + f', lv 'f' > [eva:nonlin] nonlin.c:113: subdividing on f -260d261 +246d247 < [eva:nonlin] nonlin.c:113: subdividing on f diff --git a/tests/float/oracle_octagon/nonlin.4.res.oracle b/tests/float/oracle_octagon/nonlin.4.res.oracle index 6eefc1b9fe0c8e2bfb44c95f71f61bc9f761dcf4..32ee5946f24c027cb7bf9fbb4f5475f1efd4b0a9 100644 --- a/tests/float/oracle_octagon/nonlin.4.res.oracle +++ b/tests/float/oracle_octagon/nonlin.4.res.oracle @@ -1,5 +1,5 @@ -274a275,276 +260a261,262 > [eva:nonlin] nonlin.c:113: non-linear 'f + f', lv 'f' > [eva:nonlin] nonlin.c:113: subdividing on f -277d278 +263d264 < [eva:nonlin] nonlin.c:113: subdividing on f diff --git a/tests/float/oracle_octagon/nonlin.5.res.oracle b/tests/float/oracle_octagon/nonlin.5.res.oracle index af64eb11946572bd8f9d116a6d6731adf1112bcb..012ad84c26fdedd40b52a9415821dc093e6e5493 100644 --- a/tests/float/oracle_octagon/nonlin.5.res.oracle +++ b/tests/float/oracle_octagon/nonlin.5.res.oracle @@ -1,5 +1,5 @@ -257a258,259 +243a244,245 > [eva:nonlin] nonlin.c:113: non-linear 'f + f', lv 'f' > [eva:nonlin] nonlin.c:113: subdividing on f -260d261 +246d247 < [eva:nonlin] nonlin.c:113: subdividing on f diff --git a/tests/idct/oracle/ieee_1180_1990.res.oracle b/tests/idct/oracle/ieee_1180_1990.res.oracle index b29a4a707c40c6ccb368ad80e34cce3c990f63ff..32e6e21539e6842e33fc3ff8bf5cc4521b059b1e 100644 --- a/tests/idct/oracle/ieee_1180_1990.res.oracle +++ b/tests/idct/oracle/ieee_1180_1990.res.oracle @@ -2146,6 +2146,29 @@ default behavior by Frama-C kernel. +-------------------------------------------------------------------------------- +--- Properties of Function 'getline' +-------------------------------------------------------------------------------- + +[ Extern ] Assigns (file FRAMAC_SHARE/libc/stdio.h, line 584) + assigns *(*lineptr + (0 .. *n - 1)), *n, *stream, \result; + Unverifiable but considered Valid. +[ Extern ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 584) + assigns *(*lineptr + (0 .. *n - 1)) \from *stream; + Unverifiable but considered Valid. +[ Extern ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 584) + assigns *n \from *stream; + Unverifiable but considered Valid. +[ Extern ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 584) + assigns *stream \from *stream; + Unverifiable but considered Valid. +[ Extern ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 584) + assigns \result \from *stream; + Unverifiable but considered Valid. +[ Valid ] Default behavior + default behavior + by Frama-C kernel. + -------------------------------------------------------------------------------- --- Properties of Function 'fmemopen' -------------------------------------------------------------------------------- @@ -2160,15 +2183,15 @@ errno_set: __fc_errno ≡ \old(__fc_errno) ∨ __fc_errno ∈ {22, 24, 12} Unverifiable but considered Valid. -[ Extern ] Assigns (file FRAMAC_SHARE/libc/stdio.h, line 592) +[ Extern ] Assigns (file FRAMAC_SHARE/libc/stdio.h, line 593) assigns __fc_errno, \result; Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 592) +[ Extern ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 593) assigns __fc_errno \from (indirect: buf), (indirect: size), (indirect: *(mode + (0 .. strlen{Old}(mode)))); Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 594) +[ Extern ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 595) assigns \result \from __fc_p_fopen, (indirect: buf), (indirect: size), (indirect: *(mode + (0 .. strlen{Old}(mode)))); @@ -2176,7 +2199,7 @@ [ Valid ] Default behavior default behavior by Frama-C kernel. -[ Extern ] Frees/Allocates nothing/(file FRAMAC_SHARE/libc/stdio.h, line 601) +[ Extern ] Frees/Allocates nothing/(file FRAMAC_SHARE/libc/stdio.h, line 592) allocates \old(buf); Unverifiable but considered Valid. @@ -2184,29 +2207,60 @@ --- Properties of Function 'asprintf' -------------------------------------------------------------------------------- -[ Extern ] Post-condition 'result_error_or_written_byes' +[ Extern ] Post-condition 'result_error_or_written_bytes' ensures - result_error_or_written_byes: \result ≡ -1 ∨ \result ≥ 0 + result_error_or_written_bytes: \result ≡ -1 ∨ \result ≥ 0 Unverifiable but considered Valid. -[ Extern ] Assigns (file FRAMAC_SHARE/libc/stdio.h, line 613) +[ Extern ] Assigns (file FRAMAC_SHARE/libc/stdio.h, line 614) assigns __fc_heap_status, \result, *strp; Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 613) +[ Extern ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 614) assigns __fc_heap_status \from (indirect: *(fmt + (0 ..))), __fc_heap_status; Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 614) +[ Extern ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 615) assigns \result \from (indirect: *(fmt + (0 ..))), (indirect: __fc_heap_status); Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 615) +[ Extern ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 616) assigns *strp \from *(fmt + (0 ..)), (indirect: __fc_heap_status); Unverifiable but considered Valid. [ Valid ] Default behavior default behavior by Frama-C kernel. -[ Extern ] Frees/Allocates nothing/(file FRAMAC_SHARE/libc/stdio.h, line 618) +[ Extern ] Frees/Allocates nothing/(file FRAMAC_SHARE/libc/stdio.h, line 613) + allocates *\old(strp); + Unverifiable but considered Valid. + +-------------------------------------------------------------------------------- +--- Properties of Function 'vasprintf' +-------------------------------------------------------------------------------- + +[ Extern ] Post-condition 'result_error_or_written_bytes' + ensures + result_error_or_written_bytes: \result ≡ -1 ∨ \result ≥ 0 + Unverifiable but considered Valid. +[ Extern ] Assigns (file FRAMAC_SHARE/libc/stdio.h, line 627) + assigns __fc_heap_status, \result, *strp; + Unverifiable but considered Valid. +[ Extern ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 627) + assigns __fc_heap_status + \from (indirect: *(fmt + (0 ..))), (indirect: ap), + __fc_heap_status; + Unverifiable but considered Valid. +[ Extern ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 629) + assigns \result + \from (indirect: *(fmt + (0 ..))), (indirect: __fc_heap_status); + Unverifiable but considered Valid. +[ Extern ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 630) + assigns *strp + \from *(fmt + (0 ..)), ap, (indirect: __fc_heap_status); + Unverifiable but considered Valid. +[ Valid ] Default behavior + default behavior + by Frama-C kernel. +[ Extern ] Frees/Allocates nothing/(file FRAMAC_SHARE/libc/stdio.h, line 626) allocates *\old(strp); Unverifiable but considered Valid. @@ -4257,9 +4311,9 @@ -------------------------------------------------------------------------------- --- Status Report Summary -------------------------------------------------------------------------------- - 194 Completely validated + 196 Completely validated 16 Locally validated - 570 Considered valid + 581 Considered valid 56 To be validated - 836 Total + 849 Total -------------------------------------------------------------------------------- diff --git a/tests/idct/oracle_multidim/ieee_1180_1990.res.oracle b/tests/idct/oracle_multidim/ieee_1180_1990.res.oracle index 47aa5d3e5dd20d6f1977724377123cb11af05543..e69b1bce17cf37606daa135221c9c880a23f0a59 100644 --- a/tests/idct/oracle_multidim/ieee_1180_1990.res.oracle +++ b/tests/idct/oracle_multidim/ieee_1180_1990.res.oracle @@ -265,7 +265,7 @@ < "output.\n"[bits 0 to 71] --- > idct_init; idct_mc1[0..7][0..7]; idct_mc2[0..7][0..7] -3909,3931d3743 +3963,3985d3797 < [ - ] Assertion 'Eva,initialization' (file idct.c, line 129) < assert Eva: initialization: \initialized(&tmp1[i][j]); < tried with Eva. @@ -289,7 +289,7 @@ < assert Eva: initialization: \initialized(&tmp1[i][j]); < By RedundantAlarms, with pending: < - Assertion 'Eva,initialization' (file idct.c, line 145) -3935,3957d3746 +3989,4011d3800 < [ - ] Assertion 'Eva,initialization' (file idct.c, line 163) < assert Eva: initialization: \initialized(&tmp1[i][j]); < tried with Eva. @@ -313,11 +313,11 @@ < assert Eva: initialization: \initialized(&tmp1[i][j]); < By RedundantAlarms, with pending: < - Assertion 'Eva,initialization' (file idct.c, line 180) -3979,3981d3767 +4033,4035d3821 < [ - ] Assertion 'Eva,initialization' (file ieee_1180_1990.c, line 109) < assert Eva: initialization: \initialized(&tmp1[i][j]); < tried with Eva. -3985,4018d3770 +4039,4072d3824 < [ - ] Assertion 'Eva,initialization' (file ieee_1180_1990.c, line 116) < assert Eva: initialization: \initialized(&tmp2[i][j]); < tried with Eva. @@ -352,11 +352,11 @@ < [ - ] Assertion 'Eva,float_to_int' (file ieee_1180_1990.c, line 124) < assert Eva: float_to_int: tmp2[i][j] - 0.5 < 2147483648; < tried with Eva. -4039,4041d3790 +4093,4095d3844 < [ - ] Assertion 'Eva,initialization' (file ieee_1180_1990.c, line 150) < assert Eva: initialization: \initialized(&tmp1[i][j]); < tried with Eva. -4045,4078d3793 +4099,4132d3847 < [ - ] Assertion 'Eva,initialization' (file ieee_1180_1990.c, line 157) < assert Eva: initialization: \initialized(&tmp2[i][j]); < tried with Eva. @@ -391,7 +391,7 @@ < [ - ] Assertion 'Eva,float_to_int' (file ieee_1180_1990.c, line 165) < assert Eva: float_to_int: tmp2[i][j] - 0.5 < 2147483648; < tried with Eva. -4178,4194c3893,3899 +4232,4248c3947,3953 < [ Partial ] Assertion 'Eva,initialization' (file ieee_1180_1990.c, line 358) < assert Eva: initialization: \initialized(&res[i].pmse[j][k]); < By RedundantAlarms, with pending: @@ -417,7 +417,7 @@ > reachability of stmt line 196 in main > by Eva. > [ Dead ] Instance of 'Pre-condition (file FRAMAC_SHARE/libc/stdio.h, line 211)' at call 'printf_va_1' (file ieee_1180_1990.c, line 195) -4198,4199c3903,3906 +4252,4253c3957,3960 < by Eva. < [ Valid ] Instance of 'Pre-condition (file FRAMAC_SHARE/libc/stdio.h, line 211)' at call 'printf_va_2' (file ieee_1180_1990.c, line 196) --- @@ -425,22 +425,22 @@ > By Eva because: > - Unreachable call 'printf_va_1' (file ieee_1180_1990.c, line 195) > [ Dead ] Instance of 'Pre-condition (file FRAMAC_SHARE/libc/stdio.h, line 211)' at call 'printf_va_2' (file ieee_1180_1990.c, line 196) -4203c3910,3912 +4257c3964,3966 < by Eva. --- > Locally valid, but unreachable. > By Eva because: > - Unreachable call 'printf_va_2' (file ieee_1180_1990.c, line 196) -4260,4261c3969 -< 194 Completely validated +4314,4315c4023 +< 196 Completely validated < 16 Locally validated --- -> 192 Completely validated -4263,4264c3971,3974 +> 194 Completely validated +4317,4318c4025,4028 < 56 To be validated -< 836 Total +< 849 Total --- > 32 To be validated > 2 Dead properties > 2 Unreachable -> 798 Total +> 811 Total diff --git a/tests/libc/oracle/argz_c.res.oracle b/tests/libc/oracle/argz_c.res.oracle index 38884838a6fe0a2ad80311c8f255521d860e08fc..5351b22e36e6ed43c5e5350e2450c2ffd276e69b 100644 --- a/tests/libc/oracle/argz_c.res.oracle +++ b/tests/libc/oracle/argz_c.res.oracle @@ -22,6 +22,7 @@ \return(getenv) == 0 (auto) \return(bsearch) == 0 (auto) \return(realpath) == 0 (auto) + \return(canonicalize_file_name) == 0 (auto) \return(memchr) == 0 (auto) \return(memrchr) == 0 (auto) \return(memcpy) == 0 (auto) @@ -43,8 +44,10 @@ \return(stpcpy) == 0 (auto) \return(strcat) == 0 (auto) \return(strncat) == 0 (auto) + \return(memmem) == 0 (auto) \return(strdup) == 0 (auto) \return(strndup) == 0 (auto) + \return(stpncpy) == 0 (auto) \return(strsignal) == 0 (auto) \return(argz_count) == 0, 6 (auto) \return(argz_append) == 0, 6 (auto) @@ -62,24 +65,24 @@ [eva] computing for function argz_create <- main. Called from argz_c.c:20. -[eva] FRAMAC_SHARE/libc/argz.c:240: Call to builtin strlen -[eva] FRAMAC_SHARE/libc/argz.c:240: +[eva] FRAMAC_SHARE/libc/argz.c:241: Call to builtin strlen +[eva] FRAMAC_SHARE/libc/argz.c:241: function strlen: precondition 'valid_string_s' got status valid. -[eva] FRAMAC_SHARE/libc/argz.c:240: Call to builtin strlen -[eva] FRAMAC_SHARE/libc/argz.c:240: Call to builtin strlen -[eva] FRAMAC_SHARE/libc/argz.c:245: Call to builtin malloc -[eva] FRAMAC_SHARE/libc/argz.c:245: - allocating variable __malloc_argz_create_l245 +[eva] FRAMAC_SHARE/libc/argz.c:241: Call to builtin strlen +[eva] FRAMAC_SHARE/libc/argz.c:241: Call to builtin strlen +[eva] FRAMAC_SHARE/libc/argz.c:246: Call to builtin malloc +[eva] FRAMAC_SHARE/libc/argz.c:246: + allocating variable __malloc_argz_create_l246 [eva] computing for function stpcpy <- argz_create <- main. - Called from FRAMAC_SHARE/libc/argz.c:250. + Called from FRAMAC_SHARE/libc/argz.c:251. [eva] Recording results for stpcpy [eva] Done for function stpcpy [eva] computing for function stpcpy <- argz_create <- main. - Called from FRAMAC_SHARE/libc/argz.c:250. + Called from FRAMAC_SHARE/libc/argz.c:251. [eva] Recording results for stpcpy [eva] Done for function stpcpy [eva] computing for function stpcpy <- argz_create <- main. - Called from FRAMAC_SHARE/libc/argz.c:250. + Called from FRAMAC_SHARE/libc/argz.c:251. [eva] Recording results for stpcpy [eva] Done for function stpcpy [eva] Recording results for argz_create @@ -93,12 +96,12 @@ [eva] argz_c.c:23: function free: precondition 'freeable' got status valid. [eva] computing for function argz_create_sep <- main. Called from argz_c.c:25. -[eva] FRAMAC_SHARE/libc/argz.c:196: Call to builtin strlen -[eva] FRAMAC_SHARE/libc/argz.c:196: +[eva] FRAMAC_SHARE/libc/argz.c:197: Call to builtin strlen +[eva] FRAMAC_SHARE/libc/argz.c:197: function strlen: precondition 'valid_string_s' got status valid. -[eva] FRAMAC_SHARE/libc/argz.c:202: Call to builtin malloc -[eva] FRAMAC_SHARE/libc/argz.c:202: - allocating variable __malloc_argz_create_sep_l202 +[eva] FRAMAC_SHARE/libc/argz.c:203: Call to builtin malloc +[eva] FRAMAC_SHARE/libc/argz.c:203: + allocating variable __malloc_argz_create_sep_l203 [eva] Recording results for argz_create_sep [eva] Done for function argz_create_sep [eva] computing for function exit <- main. @@ -112,11 +115,11 @@ [eva] Done for function __FC_assert [eva] computing for function argz_count <- main. Called from argz_c.c:28. -[eva] FRAMAC_SHARE/libc/argz.c:260: Call to builtin strlen -[eva] FRAMAC_SHARE/libc/argz.c:260: +[eva] FRAMAC_SHARE/libc/argz.c:261: Call to builtin strlen +[eva] FRAMAC_SHARE/libc/argz.c:261: function strlen: precondition 'valid_string_s' got status valid. -[eva] FRAMAC_SHARE/libc/argz.c:260: Call to builtin strlen -[eva] FRAMAC_SHARE/libc/argz.c:260: Call to builtin strlen +[eva] FRAMAC_SHARE/libc/argz.c:261: Call to builtin strlen +[eva] FRAMAC_SHARE/libc/argz.c:261: Call to builtin strlen [eva] Recording results for argz_count [eva] Done for function argz_count [eva] computing for function __FC_assert <- main. @@ -126,24 +129,24 @@ [eva] Done for function __FC_assert [eva] computing for function argz_add <- main. Called from argz_c.c:30. -[eva] FRAMAC_SHARE/libc/argz.c:282: Call to builtin strlen -[eva] FRAMAC_SHARE/libc/argz.c:282: +[eva] FRAMAC_SHARE/libc/argz.c:283: Call to builtin strlen +[eva] FRAMAC_SHARE/libc/argz.c:283: function strlen: precondition 'valid_string_s' got status valid. [eva] computing for function argz_append <- argz_add <- main. - Called from FRAMAC_SHARE/libc/argz.c:282. -[eva] FRAMAC_SHARE/libc/argz.c:271: Call to builtin realloc -[eva] FRAMAC_SHARE/libc/argz.c:271: + Called from FRAMAC_SHARE/libc/argz.c:283. +[eva] FRAMAC_SHARE/libc/argz.c:272: Call to builtin realloc +[eva] FRAMAC_SHARE/libc/argz.c:272: function realloc: precondition 'freeable' got status valid. -[eva] FRAMAC_SHARE/libc/argz.c:271: - allocating variable __realloc_argz_append_l271 -[eva] FRAMAC_SHARE/libc/argz.c:273: Call to builtin memcpy -[eva] FRAMAC_SHARE/libc/argz.c:273: +[eva] FRAMAC_SHARE/libc/argz.c:272: + allocating variable __realloc_argz_append_l272 +[eva] FRAMAC_SHARE/libc/argz.c:274: Call to builtin memcpy +[eva] FRAMAC_SHARE/libc/argz.c:274: function memcpy: precondition 'valid_dest' got status valid. -[eva] FRAMAC_SHARE/libc/argz.c:273: +[eva] FRAMAC_SHARE/libc/argz.c:274: function memcpy: precondition 'valid_src' got status valid. -[eva] FRAMAC_SHARE/libc/argz.c:273: +[eva] FRAMAC_SHARE/libc/argz.c:274: function memcpy: precondition 'separation' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:101: +[eva] FRAMAC_SHARE/libc/string.h:118: cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp [eva] Recording results for argz_append [eva] Done for function argz_append @@ -159,14 +162,14 @@ [eva] Done for function __FC_assert [eva] computing for function argz_add_sep <- main. Called from argz_c.c:33. -[eva] FRAMAC_SHARE/libc/argz.c:287: Call to builtin strlen -[eva] FRAMAC_SHARE/libc/argz.c:287: +[eva] FRAMAC_SHARE/libc/argz.c:288: Call to builtin strlen +[eva] FRAMAC_SHARE/libc/argz.c:288: function strlen: precondition 'valid_string_s' got status valid. -[eva] FRAMAC_SHARE/libc/argz.c:293: Call to builtin realloc -[eva] FRAMAC_SHARE/libc/argz.c:293: +[eva] FRAMAC_SHARE/libc/argz.c:294: Call to builtin realloc +[eva] FRAMAC_SHARE/libc/argz.c:294: function realloc: precondition 'freeable' got status valid. -[eva] FRAMAC_SHARE/libc/argz.c:293: - allocating variable __realloc_argz_add_sep_l293 +[eva] FRAMAC_SHARE/libc/argz.c:294: + allocating variable __realloc_argz_add_sep_l294 [eva] Recording results for argz_add_sep [eva] Done for function argz_add_sep [eva] computing for function exit <- main. @@ -179,12 +182,12 @@ [eva] Done for function __FC_assert [eva] computing for function argz_count <- main. Called from argz_c.c:36. -[eva] FRAMAC_SHARE/libc/argz.c:260: Call to builtin strlen -[eva] FRAMAC_SHARE/libc/argz.c:260: Call to builtin strlen -[eva] FRAMAC_SHARE/libc/argz.c:260: Call to builtin strlen -[eva] FRAMAC_SHARE/libc/argz.c:260: Call to builtin strlen -[eva] FRAMAC_SHARE/libc/argz.c:260: Call to builtin strlen -[eva] FRAMAC_SHARE/libc/argz.c:260: Call to builtin strlen +[eva] FRAMAC_SHARE/libc/argz.c:261: Call to builtin strlen +[eva] FRAMAC_SHARE/libc/argz.c:261: Call to builtin strlen +[eva] FRAMAC_SHARE/libc/argz.c:261: Call to builtin strlen +[eva] FRAMAC_SHARE/libc/argz.c:261: Call to builtin strlen +[eva] FRAMAC_SHARE/libc/argz.c:261: Call to builtin strlen +[eva] FRAMAC_SHARE/libc/argz.c:261: Call to builtin strlen [eva] Recording results for argz_count [eva] Done for function argz_count [eva] computing for function __FC_assert <- main. @@ -194,10 +197,10 @@ [eva] Done for function __FC_assert [eva] computing for function argz_append <- main. Called from argz_c.c:38. -[eva] FRAMAC_SHARE/libc/argz.c:271: Call to builtin realloc -[eva] FRAMAC_SHARE/libc/argz.c:271: - allocating variable __realloc_argz_append_l271_0 -[eva] FRAMAC_SHARE/libc/argz.c:273: Call to builtin memcpy +[eva] FRAMAC_SHARE/libc/argz.c:272: Call to builtin realloc +[eva] FRAMAC_SHARE/libc/argz.c:272: + allocating variable __realloc_argz_append_l272_0 +[eva] FRAMAC_SHARE/libc/argz.c:274: Call to builtin memcpy [eva] Recording results for argz_append [eva] Done for function argz_append [eva] computing for function exit <- main. @@ -210,13 +213,13 @@ [eva] Done for function __FC_assert [eva] computing for function argz_add <- main. Called from argz_c.c:41. -[eva] FRAMAC_SHARE/libc/argz.c:282: Call to builtin strlen +[eva] FRAMAC_SHARE/libc/argz.c:283: Call to builtin strlen [eva] computing for function argz_append <- argz_add <- main. - Called from FRAMAC_SHARE/libc/argz.c:282. -[eva] FRAMAC_SHARE/libc/argz.c:271: Call to builtin realloc -[eva] FRAMAC_SHARE/libc/argz.c:271: - allocating variable __realloc_argz_append_l271_1 -[eva] FRAMAC_SHARE/libc/argz.c:273: Call to builtin memcpy + Called from FRAMAC_SHARE/libc/argz.c:283. +[eva] FRAMAC_SHARE/libc/argz.c:272: Call to builtin realloc +[eva] FRAMAC_SHARE/libc/argz.c:272: + allocating variable __realloc_argz_append_l272_1 +[eva] FRAMAC_SHARE/libc/argz.c:274: Call to builtin memcpy [eva] Recording results for argz_append [eva] Done for function argz_append [eva] Recording results for argz_add @@ -231,269 +234,269 @@ [eva] Done for function __FC_assert [eva] computing for function argz_replace <- main. Called from argz_c.c:45. -[eva] FRAMAC_SHARE/libc/argz.c:72: Call to builtin strlen -[eva] FRAMAC_SHARE/libc/argz.c:72: +[eva] FRAMAC_SHARE/libc/argz.c:73: Call to builtin strlen +[eva] FRAMAC_SHARE/libc/argz.c:73: function strlen: precondition 'valid_string_s' got status valid. -[eva] FRAMAC_SHARE/libc/argz.c:72: Call to builtin strlen -[eva] FRAMAC_SHARE/libc/argz.c:72: +[eva] FRAMAC_SHARE/libc/argz.c:73: Call to builtin strlen +[eva] FRAMAC_SHARE/libc/argz.c:73: function strlen: precondition 'valid_string_s' got status valid. [eva] computing for function argz_next <- argz_replace <- main. - Called from FRAMAC_SHARE/libc/argz.c:74. + Called from FRAMAC_SHARE/libc/argz.c:75. [eva] Recording results for argz_next [eva] Done for function argz_next [eva] computing for function strstr <- argz_replace <- main. - Called from FRAMAC_SHARE/libc/argz.c:75. + Called from FRAMAC_SHARE/libc/argz.c:76. [eva] Recording results for strstr [eva] Done for function strstr [eva] computing for function argz_next <- argz_replace <- main. - Called from FRAMAC_SHARE/libc/argz.c:74. -[eva] FRAMAC_SHARE/libc/argz.c:129: Call to builtin strchr -[eva] FRAMAC_SHARE/libc/argz.c:129: + Called from FRAMAC_SHARE/libc/argz.c:75. +[eva] FRAMAC_SHARE/libc/argz.c:130: Call to builtin strchr +[eva] FRAMAC_SHARE/libc/argz.c:130: function strchr: precondition 'valid_string_s' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:181: +[eva] FRAMAC_SHARE/libc/string.h:202: cannot evaluate ACSL term, unsupported logic var p [eva] Recording results for argz_next [eva] Done for function argz_next [eva] computing for function strstr <- argz_replace <- main. - Called from FRAMAC_SHARE/libc/argz.c:75. + Called from FRAMAC_SHARE/libc/argz.c:76. [eva] Recording results for strstr [eva] Done for function strstr [eva] computing for function argz_next <- argz_replace <- main. - Called from FRAMAC_SHARE/libc/argz.c:74. -[eva] FRAMAC_SHARE/libc/argz.c:129: Call to builtin strchr + Called from FRAMAC_SHARE/libc/argz.c:75. +[eva] FRAMAC_SHARE/libc/argz.c:130: Call to builtin strchr [eva] Recording results for argz_next [eva] Done for function argz_next [eva] computing for function strstr <- argz_replace <- main. - Called from FRAMAC_SHARE/libc/argz.c:75. + Called from FRAMAC_SHARE/libc/argz.c:76. [eva] Recording results for strstr [eva] Done for function strstr [eva] computing for function argz_next <- argz_replace <- main. - Called from FRAMAC_SHARE/libc/argz.c:74. -[eva] FRAMAC_SHARE/libc/argz.c:129: Call to builtin strchr + Called from FRAMAC_SHARE/libc/argz.c:75. +[eva] FRAMAC_SHARE/libc/argz.c:130: Call to builtin strchr [eva] Recording results for argz_next [eva] Done for function argz_next [eva] computing for function strstr <- argz_replace <- main. - Called from FRAMAC_SHARE/libc/argz.c:75. + Called from FRAMAC_SHARE/libc/argz.c:76. [eva] Recording results for strstr [eva] Done for function strstr [eva] computing for function strndup <- argz_replace <- main. - Called from FRAMAC_SHARE/libc/argz.c:79. -[eva:loop-unroll:auto] FRAMAC_SHARE/libc/string.c:333: Automatic loop unrolling. -[eva] FRAMAC_SHARE/libc/string.c:336: Call to builtin malloc -[eva] FRAMAC_SHARE/libc/string.c:336: allocating variable __malloc_strndup_l336 -[eva] FRAMAC_SHARE/libc/string.c:341: Call to builtin memcpy -[eva] FRAMAC_SHARE/libc/string.c:341: + Called from FRAMAC_SHARE/libc/argz.c:80. +[eva:loop-unroll:auto] FRAMAC_SHARE/libc/string.c:336: Automatic loop unrolling. +[eva] FRAMAC_SHARE/libc/string.c:339: Call to builtin malloc +[eva] FRAMAC_SHARE/libc/string.c:339: allocating variable __malloc_strndup_l339 +[eva] FRAMAC_SHARE/libc/string.c:344: Call to builtin memcpy +[eva] FRAMAC_SHARE/libc/string.c:344: function memcpy: precondition 'valid_dest' got status valid. -[eva] FRAMAC_SHARE/libc/string.c:341: +[eva] FRAMAC_SHARE/libc/string.c:344: function memcpy: precondition 'valid_src' got status valid. -[eva] FRAMAC_SHARE/libc/string.c:341: +[eva] FRAMAC_SHARE/libc/string.c:344: function memcpy: precondition 'separation' got status valid. [eva] Recording results for strndup [eva] Done for function strndup [eva] computing for function str_append <- argz_replace <- main. - Called from FRAMAC_SHARE/libc/argz.c:82. -[eva] FRAMAC_SHARE/libc/argz.c:49: Call to builtin realloc -[eva] FRAMAC_SHARE/libc/argz.c:49: + Called from FRAMAC_SHARE/libc/argz.c:83. +[eva] FRAMAC_SHARE/libc/argz.c:50: Call to builtin realloc +[eva] FRAMAC_SHARE/libc/argz.c:50: function realloc: precondition 'freeable' got status valid. -[eva] FRAMAC_SHARE/libc/argz.c:49: allocating variable __realloc_str_append_l49 +[eva] FRAMAC_SHARE/libc/argz.c:50: allocating variable __realloc_str_append_l50 [eva] computing for function mempcpy <- str_append <- argz_replace <- main. - Called from FRAMAC_SHARE/libc/argz.c:52. + Called from FRAMAC_SHARE/libc/argz.c:53. [eva:loop-unroll:auto] FRAMAC_SHARE/libc/string.c:54: Automatic loop unrolling. [eva] Recording results for mempcpy [eva] Done for function mempcpy -[eva] FRAMAC_SHARE/libc/argz.c:56: Call to builtin free -[eva] FRAMAC_SHARE/libc/argz.c:56: +[eva] FRAMAC_SHARE/libc/argz.c:57: Call to builtin free +[eva] FRAMAC_SHARE/libc/argz.c:57: function free: precondition 'freeable' got status valid. [eva] Recording results for str_append [eva] Done for function str_append [eva] computing for function strstr <- argz_replace <- main. - Called from FRAMAC_SHARE/libc/argz.c:84. + Called from FRAMAC_SHARE/libc/argz.c:85. [eva] Recording results for strstr [eva] Done for function strstr -[eva] FRAMAC_SHARE/libc/argz.c:89: Call to builtin strlen -[eva] FRAMAC_SHARE/libc/argz.c:89: +[eva] FRAMAC_SHARE/libc/argz.c:90: Call to builtin strlen +[eva] FRAMAC_SHARE/libc/argz.c:90: function strlen: precondition 'valid_string_s' got status valid. [eva] computing for function str_append <- argz_replace <- main. - Called from FRAMAC_SHARE/libc/argz.c:89. -[eva] FRAMAC_SHARE/libc/argz.c:49: Call to builtin realloc -[eva] FRAMAC_SHARE/libc/argz.c:49: - allocating variable __realloc_str_append_l49_0 + Called from FRAMAC_SHARE/libc/argz.c:90. +[eva] FRAMAC_SHARE/libc/argz.c:50: Call to builtin realloc +[eva] FRAMAC_SHARE/libc/argz.c:50: + allocating variable __realloc_str_append_l50_0 [eva] computing for function mempcpy <- str_append <- argz_replace <- main. - Called from FRAMAC_SHARE/libc/argz.c:52. + Called from FRAMAC_SHARE/libc/argz.c:53. [eva] Recording results for mempcpy [eva] Done for function mempcpy -[eva] FRAMAC_SHARE/libc/argz.c:56: Call to builtin free +[eva] FRAMAC_SHARE/libc/argz.c:57: Call to builtin free [eva] Recording results for str_append [eva] Done for function str_append [eva] computing for function argz_append <- argz_replace <- main. - Called from FRAMAC_SHARE/libc/argz.c:98. -[eva] FRAMAC_SHARE/libc/argz.c:271: Call to builtin realloc -[eva] FRAMAC_SHARE/libc/argz.c:271: - allocating variable __realloc_argz_append_l271_2 -[eva] FRAMAC_SHARE/libc/argz.c:273: Call to builtin memcpy + Called from FRAMAC_SHARE/libc/argz.c:99. +[eva] FRAMAC_SHARE/libc/argz.c:272: Call to builtin realloc +[eva] FRAMAC_SHARE/libc/argz.c:272: + allocating variable __realloc_argz_append_l272_2 +[eva] FRAMAC_SHARE/libc/argz.c:274: Call to builtin memcpy [eva] Recording results for argz_append [eva] Done for function argz_append [eva] computing for function argz_add <- argz_replace <- main. - Called from FRAMAC_SHARE/libc/argz.c:102. -[eva] FRAMAC_SHARE/libc/argz.c:282: Call to builtin strlen + Called from FRAMAC_SHARE/libc/argz.c:103. +[eva] FRAMAC_SHARE/libc/argz.c:283: Call to builtin strlen [eva] computing for function argz_append <- argz_add <- argz_replace <- main. - Called from FRAMAC_SHARE/libc/argz.c:282. -[eva] FRAMAC_SHARE/libc/argz.c:271: Call to builtin realloc -[eva] FRAMAC_SHARE/libc/argz.c:271: - allocating variable __realloc_argz_append_l271_3 -[eva] FRAMAC_SHARE/libc/argz.c:273: Call to builtin memcpy + Called from FRAMAC_SHARE/libc/argz.c:283. +[eva] FRAMAC_SHARE/libc/argz.c:272: Call to builtin realloc +[eva] FRAMAC_SHARE/libc/argz.c:272: + allocating variable __realloc_argz_append_l272_3 +[eva] FRAMAC_SHARE/libc/argz.c:274: Call to builtin memcpy [eva] Recording results for argz_append [eva] Done for function argz_append [eva] Recording results for argz_add [eva] Done for function argz_add -[eva] FRAMAC_SHARE/libc/argz.c:103: Call to builtin free -[eva] FRAMAC_SHARE/libc/argz.c:103: +[eva] FRAMAC_SHARE/libc/argz.c:104: Call to builtin free +[eva] FRAMAC_SHARE/libc/argz.c:104: function free: precondition 'freeable' got status valid. -[eva] FRAMAC_SHARE/libc/argz.c:103: Call to builtin free -[eva] FRAMAC_SHARE/libc/argz.c:103: Call to builtin free +[eva] FRAMAC_SHARE/libc/argz.c:104: Call to builtin free +[eva] FRAMAC_SHARE/libc/argz.c:104: Call to builtin free [eva] computing for function argz_next <- argz_replace <- main. - Called from FRAMAC_SHARE/libc/argz.c:74. -[eva] FRAMAC_SHARE/libc/argz.c:129: Call to builtin strchr + Called from FRAMAC_SHARE/libc/argz.c:75. +[eva] FRAMAC_SHARE/libc/argz.c:130: Call to builtin strchr [eva] Recording results for argz_next [eva] Done for function argz_next [eva] computing for function strstr <- argz_replace <- main. - Called from FRAMAC_SHARE/libc/argz.c:75. + Called from FRAMAC_SHARE/libc/argz.c:76. [eva] Recording results for strstr [eva] Done for function strstr [eva] computing for function argz_add <- argz_replace <- main. - Called from FRAMAC_SHARE/libc/argz.c:110. -[eva] FRAMAC_SHARE/libc/argz.c:282: Call to builtin strlen + Called from FRAMAC_SHARE/libc/argz.c:111. +[eva] FRAMAC_SHARE/libc/argz.c:283: Call to builtin strlen [eva] computing for function argz_append <- argz_add <- argz_replace <- main. - Called from FRAMAC_SHARE/libc/argz.c:282. -[eva] FRAMAC_SHARE/libc/argz.c:271: Call to builtin realloc -[eva] FRAMAC_SHARE/libc/argz.c:271: - allocating variable __realloc_argz_append_l271_4 -[eva] FRAMAC_SHARE/libc/argz.c:273: Call to builtin memcpy + Called from FRAMAC_SHARE/libc/argz.c:283. +[eva] FRAMAC_SHARE/libc/argz.c:272: Call to builtin realloc +[eva] FRAMAC_SHARE/libc/argz.c:272: + allocating variable __realloc_argz_append_l272_4 +[eva] FRAMAC_SHARE/libc/argz.c:274: Call to builtin memcpy [eva] Recording results for argz_append [eva] Done for function argz_append [eva] Recording results for argz_add [eva] Done for function argz_add [eva] computing for function argz_next <- argz_replace <- main. - Called from FRAMAC_SHARE/libc/argz.c:74. -[eva] FRAMAC_SHARE/libc/argz.c:129: Call to builtin strchr + Called from FRAMAC_SHARE/libc/argz.c:75. +[eva] FRAMAC_SHARE/libc/argz.c:130: Call to builtin strchr [eva] Recording results for argz_next [eva] Done for function argz_next [eva] computing for function strstr <- argz_replace <- main. - Called from FRAMAC_SHARE/libc/argz.c:75. + Called from FRAMAC_SHARE/libc/argz.c:76. [eva] Recording results for strstr [eva] Done for function strstr [eva] computing for function argz_add <- argz_replace <- main. - Called from FRAMAC_SHARE/libc/argz.c:110. -[eva] FRAMAC_SHARE/libc/argz.c:282: Call to builtin strlen + Called from FRAMAC_SHARE/libc/argz.c:111. +[eva] FRAMAC_SHARE/libc/argz.c:283: Call to builtin strlen [eva] computing for function argz_append <- argz_add <- argz_replace <- main. - Called from FRAMAC_SHARE/libc/argz.c:282. -[eva] FRAMAC_SHARE/libc/argz.c:271: Call to builtin realloc -[eva] FRAMAC_SHARE/libc/argz.c:271: - allocating variable __realloc_argz_append_l271_5 -[eva] FRAMAC_SHARE/libc/argz.c:273: Call to builtin memcpy + Called from FRAMAC_SHARE/libc/argz.c:283. +[eva] FRAMAC_SHARE/libc/argz.c:272: Call to builtin realloc +[eva] FRAMAC_SHARE/libc/argz.c:272: + allocating variable __realloc_argz_append_l272_5 +[eva] FRAMAC_SHARE/libc/argz.c:274: Call to builtin memcpy [eva] Recording results for argz_append [eva] Done for function argz_append [eva] Recording results for argz_add [eva] Done for function argz_add [eva] computing for function argz_next <- argz_replace <- main. - Called from FRAMAC_SHARE/libc/argz.c:74. -[eva] FRAMAC_SHARE/libc/argz.c:129: Call to builtin strchr + Called from FRAMAC_SHARE/libc/argz.c:75. +[eva] FRAMAC_SHARE/libc/argz.c:130: Call to builtin strchr [eva] Recording results for argz_next [eva] Done for function argz_next [eva] computing for function strstr <- argz_replace <- main. - Called from FRAMAC_SHARE/libc/argz.c:75. + Called from FRAMAC_SHARE/libc/argz.c:76. [eva] Recording results for strstr [eva] Done for function strstr [eva] computing for function argz_add <- argz_replace <- main. - Called from FRAMAC_SHARE/libc/argz.c:110. -[eva] FRAMAC_SHARE/libc/argz.c:282: Call to builtin strlen + Called from FRAMAC_SHARE/libc/argz.c:111. +[eva] FRAMAC_SHARE/libc/argz.c:283: Call to builtin strlen [eva] computing for function argz_append <- argz_add <- argz_replace <- main. - Called from FRAMAC_SHARE/libc/argz.c:282. -[eva] FRAMAC_SHARE/libc/argz.c:271: Call to builtin realloc -[eva] FRAMAC_SHARE/libc/argz.c:271: - allocating variable __realloc_argz_append_l271_6 -[eva] FRAMAC_SHARE/libc/argz.c:273: Call to builtin memcpy + Called from FRAMAC_SHARE/libc/argz.c:283. +[eva] FRAMAC_SHARE/libc/argz.c:272: Call to builtin realloc +[eva] FRAMAC_SHARE/libc/argz.c:272: + allocating variable __realloc_argz_append_l272_6 +[eva] FRAMAC_SHARE/libc/argz.c:274: Call to builtin memcpy [eva] Recording results for argz_append [eva] Done for function argz_append [eva] Recording results for argz_add [eva] Done for function argz_add [eva] computing for function argz_next <- argz_replace <- main. - Called from FRAMAC_SHARE/libc/argz.c:74. -[eva] FRAMAC_SHARE/libc/argz.c:129: Call to builtin strchr + Called from FRAMAC_SHARE/libc/argz.c:75. +[eva] FRAMAC_SHARE/libc/argz.c:130: Call to builtin strchr [eva] Recording results for argz_next [eva] Done for function argz_next [eva] computing for function strstr <- argz_replace <- main. - Called from FRAMAC_SHARE/libc/argz.c:75. + Called from FRAMAC_SHARE/libc/argz.c:76. [eva] Recording results for strstr [eva] Done for function strstr [eva] computing for function strndup <- argz_replace <- main. - Called from FRAMAC_SHARE/libc/argz.c:79. -[eva] FRAMAC_SHARE/libc/string.c:336: Call to builtin malloc -[eva] FRAMAC_SHARE/libc/string.c:336: - allocating variable __malloc_strndup_l336_0 -[eva] FRAMAC_SHARE/libc/string.c:341: Call to builtin memcpy + Called from FRAMAC_SHARE/libc/argz.c:80. +[eva] FRAMAC_SHARE/libc/string.c:339: Call to builtin malloc +[eva] FRAMAC_SHARE/libc/string.c:339: + allocating variable __malloc_strndup_l339_0 +[eva] FRAMAC_SHARE/libc/string.c:344: Call to builtin memcpy [eva] Recording results for strndup [eva] Done for function strndup [eva] computing for function str_append <- argz_replace <- main. - Called from FRAMAC_SHARE/libc/argz.c:82. -[eva] FRAMAC_SHARE/libc/argz.c:49: Call to builtin realloc -[eva] FRAMAC_SHARE/libc/argz.c:49: - allocating variable __realloc_str_append_l49_1 + Called from FRAMAC_SHARE/libc/argz.c:83. +[eva] FRAMAC_SHARE/libc/argz.c:50: Call to builtin realloc +[eva] FRAMAC_SHARE/libc/argz.c:50: + allocating variable __realloc_str_append_l50_1 [eva] computing for function mempcpy <- str_append <- argz_replace <- main. - Called from FRAMAC_SHARE/libc/argz.c:52. + Called from FRAMAC_SHARE/libc/argz.c:53. [eva] Recording results for mempcpy [eva] Done for function mempcpy -[eva] FRAMAC_SHARE/libc/argz.c:56: Call to builtin free +[eva] FRAMAC_SHARE/libc/argz.c:57: Call to builtin free [eva] Recording results for str_append [eva] Done for function str_append [eva] computing for function strstr <- argz_replace <- main. - Called from FRAMAC_SHARE/libc/argz.c:84. + Called from FRAMAC_SHARE/libc/argz.c:85. [eva] Recording results for strstr [eva] Done for function strstr -[eva] FRAMAC_SHARE/libc/argz.c:89: Call to builtin strlen +[eva] FRAMAC_SHARE/libc/argz.c:90: Call to builtin strlen [eva] computing for function str_append <- argz_replace <- main. - Called from FRAMAC_SHARE/libc/argz.c:89. -[eva] FRAMAC_SHARE/libc/argz.c:49: Call to builtin realloc -[eva] FRAMAC_SHARE/libc/argz.c:49: - allocating variable __realloc_str_append_l49_2 + Called from FRAMAC_SHARE/libc/argz.c:90. +[eva] FRAMAC_SHARE/libc/argz.c:50: Call to builtin realloc +[eva] FRAMAC_SHARE/libc/argz.c:50: + allocating variable __realloc_str_append_l50_2 [eva] computing for function mempcpy <- str_append <- argz_replace <- main. - Called from FRAMAC_SHARE/libc/argz.c:52. + Called from FRAMAC_SHARE/libc/argz.c:53. [eva] Recording results for mempcpy [eva] Done for function mempcpy -[eva] FRAMAC_SHARE/libc/argz.c:56: Call to builtin free +[eva] FRAMAC_SHARE/libc/argz.c:57: Call to builtin free [eva] Recording results for str_append [eva] Done for function str_append [eva] computing for function argz_add <- argz_replace <- main. - Called from FRAMAC_SHARE/libc/argz.c:102. -[eva] FRAMAC_SHARE/libc/argz.c:282: Call to builtin strlen + Called from FRAMAC_SHARE/libc/argz.c:103. +[eva] FRAMAC_SHARE/libc/argz.c:283: Call to builtin strlen [eva] computing for function argz_append <- argz_add <- argz_replace <- main. - Called from FRAMAC_SHARE/libc/argz.c:282. -[eva] FRAMAC_SHARE/libc/argz.c:271: Call to builtin realloc -[eva] FRAMAC_SHARE/libc/argz.c:271: - allocating variable __realloc_argz_append_l271_7 -[eva] FRAMAC_SHARE/libc/argz.c:273: Call to builtin memcpy + Called from FRAMAC_SHARE/libc/argz.c:283. +[eva] FRAMAC_SHARE/libc/argz.c:272: Call to builtin realloc +[eva] FRAMAC_SHARE/libc/argz.c:272: + allocating variable __realloc_argz_append_l272_7 +[eva] FRAMAC_SHARE/libc/argz.c:274: Call to builtin memcpy [eva] Recording results for argz_append [eva] Done for function argz_append [eva] Recording results for argz_add [eva] Done for function argz_add -[eva] FRAMAC_SHARE/libc/argz.c:103: Call to builtin free -[eva] FRAMAC_SHARE/libc/argz.c:103: Call to builtin free +[eva] FRAMAC_SHARE/libc/argz.c:104: Call to builtin free +[eva] FRAMAC_SHARE/libc/argz.c:104: Call to builtin free [eva] computing for function argz_next <- argz_replace <- main. - Called from FRAMAC_SHARE/libc/argz.c:74. -[eva] FRAMAC_SHARE/libc/argz.c:129: Call to builtin strchr + Called from FRAMAC_SHARE/libc/argz.c:75. +[eva] FRAMAC_SHARE/libc/argz.c:130: Call to builtin strchr [eva] Recording results for argz_next [eva] Done for function argz_next -[eva] FRAMAC_SHARE/libc/argz.c:115: Call to builtin free -[eva] FRAMAC_SHARE/libc/argz.c:115: +[eva] FRAMAC_SHARE/libc/argz.c:116: Call to builtin free +[eva] FRAMAC_SHARE/libc/argz.c:116: function free: precondition 'freeable' got status valid. -[eva] FRAMAC_SHARE/libc/argz.c:120: Call to builtin free -[eva] FRAMAC_SHARE/libc/argz.c:120: +[eva] FRAMAC_SHARE/libc/argz.c:121: Call to builtin free +[eva] FRAMAC_SHARE/libc/argz.c:121: function free: precondition 'freeable' got status valid. -[eva] FRAMAC_SHARE/libc/argz.c:120: Call to builtin free -[eva] FRAMAC_SHARE/libc/argz.c:120: Call to builtin free -[eva] FRAMAC_SHARE/libc/argz.c:120: Call to builtin free -[eva] FRAMAC_SHARE/libc/argz.c:120: Call to builtin free -[eva] FRAMAC_SHARE/libc/argz.c:120: Call to builtin free +[eva] FRAMAC_SHARE/libc/argz.c:121: Call to builtin free +[eva] FRAMAC_SHARE/libc/argz.c:121: Call to builtin free +[eva] FRAMAC_SHARE/libc/argz.c:121: Call to builtin free +[eva] FRAMAC_SHARE/libc/argz.c:121: Call to builtin free +[eva] FRAMAC_SHARE/libc/argz.c:121: Call to builtin free [eva] Recording results for argz_replace [eva] Done for function argz_replace [eva] computing for function exit <- main. @@ -520,20 +523,20 @@ [eva] Done for function __FC_assert [eva] computing for function argz_next <- main. Called from argz_c.c:52. -[eva] FRAMAC_SHARE/libc/argz.c:129: Call to builtin strchr +[eva] FRAMAC_SHARE/libc/argz.c:130: Call to builtin strchr [eva] Recording results for argz_next [eva] Done for function argz_next [eva] computing for function argz_delete <- main. Called from argz_c.c:54. -[eva] FRAMAC_SHARE/libc/argz.c:184: Call to builtin strlen -[eva] FRAMAC_SHARE/libc/argz.c:184: +[eva] FRAMAC_SHARE/libc/argz.c:185: Call to builtin strlen +[eva] FRAMAC_SHARE/libc/argz.c:185: function strlen: precondition 'valid_string_s' got status valid. -[eva] FRAMAC_SHARE/libc/argz.c:186: Call to builtin memmove -[eva] FRAMAC_SHARE/libc/argz.c:186: +[eva] FRAMAC_SHARE/libc/argz.c:187: Call to builtin memmove +[eva] FRAMAC_SHARE/libc/argz.c:187: function memmove: precondition 'valid_dest' got status valid. -[eva] FRAMAC_SHARE/libc/argz.c:186: +[eva] FRAMAC_SHARE/libc/argz.c:187: function memmove: precondition 'valid_src' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:124: +[eva] FRAMAC_SHARE/libc/string.h:141: cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp [eva] Recording results for argz_delete [eva] Done for function argz_delete @@ -548,12 +551,12 @@ [eva] Done for function argz_next [eva] computing for function argz_next <- main. Called from argz_c.c:58. -[eva] FRAMAC_SHARE/libc/argz.c:129: Call to builtin strchr +[eva] FRAMAC_SHARE/libc/argz.c:130: Call to builtin strchr [eva] Recording results for argz_next [eva] Done for function argz_next [eva] computing for function argz_next <- main. Called from argz_c.c:58. -[eva] FRAMAC_SHARE/libc/argz.c:129: Call to builtin strchr +[eva] FRAMAC_SHARE/libc/argz.c:130: Call to builtin strchr [eva] Recording results for argz_next [eva] Done for function argz_next [eva] computing for function __FC_assert <- main. @@ -563,8 +566,8 @@ [eva] Done for function __FC_assert [eva] computing for function argz_delete <- main. Called from argz_c.c:61. -[eva] FRAMAC_SHARE/libc/argz.c:184: Call to builtin strlen -[eva] FRAMAC_SHARE/libc/argz.c:186: Call to builtin memmove +[eva] FRAMAC_SHARE/libc/argz.c:185: Call to builtin strlen +[eva] FRAMAC_SHARE/libc/argz.c:187: Call to builtin memmove [eva] Recording results for argz_delete [eva] Done for function argz_delete [eva] computing for function __FC_assert <- main. @@ -578,24 +581,24 @@ [eva] Done for function argz_next [eva] computing for function argz_insert <- main. Called from argz_c.c:64. -[eva] FRAMAC_SHARE/libc/argz.c:153: Call to builtin strlen -[eva] FRAMAC_SHARE/libc/argz.c:153: +[eva] FRAMAC_SHARE/libc/argz.c:154: Call to builtin strlen +[eva] FRAMAC_SHARE/libc/argz.c:154: function strlen: precondition 'valid_string_s' got status valid. -[eva] FRAMAC_SHARE/libc/argz.c:157: Call to builtin realloc -[eva] FRAMAC_SHARE/libc/argz.c:157: +[eva] FRAMAC_SHARE/libc/argz.c:158: Call to builtin realloc +[eva] FRAMAC_SHARE/libc/argz.c:158: function realloc: precondition 'freeable' got status valid. -[eva] FRAMAC_SHARE/libc/argz.c:157: - allocating variable __realloc_argz_insert_l157 -[eva] FRAMAC_SHARE/libc/argz.c:161: Call to builtin memmove -[eva] FRAMAC_SHARE/libc/argz.c:161: - function memmove: precondition 'valid_dest' got status valid. -[eva] FRAMAC_SHARE/libc/argz.c:161: - function memmove: precondition 'valid_src' got status valid. +[eva] FRAMAC_SHARE/libc/argz.c:158: + allocating variable __realloc_argz_insert_l158 [eva] FRAMAC_SHARE/libc/argz.c:162: Call to builtin memmove [eva] FRAMAC_SHARE/libc/argz.c:162: function memmove: precondition 'valid_dest' got status valid. [eva] FRAMAC_SHARE/libc/argz.c:162: function memmove: precondition 'valid_src' got status valid. +[eva] FRAMAC_SHARE/libc/argz.c:163: Call to builtin memmove +[eva] FRAMAC_SHARE/libc/argz.c:163: + function memmove: precondition 'valid_dest' got status valid. +[eva] FRAMAC_SHARE/libc/argz.c:163: + function memmove: precondition 'valid_src' got status valid. [eva] Recording results for argz_insert [eva] Done for function argz_insert [eva] computing for function exit <- main. @@ -609,14 +612,14 @@ [eva] computing for function argz_insert <- main. Called from argz_c.c:67. [eva] computing for function argz_add <- argz_insert <- main. - Called from FRAMAC_SHARE/libc/argz.c:142. -[eva] FRAMAC_SHARE/libc/argz.c:282: Call to builtin strlen + Called from FRAMAC_SHARE/libc/argz.c:143. +[eva] FRAMAC_SHARE/libc/argz.c:283: Call to builtin strlen [eva] computing for function argz_append <- argz_add <- argz_insert <- main. - Called from FRAMAC_SHARE/libc/argz.c:282. -[eva] FRAMAC_SHARE/libc/argz.c:271: Call to builtin realloc -[eva] FRAMAC_SHARE/libc/argz.c:271: - allocating variable __realloc_argz_append_l271_8 -[eva] FRAMAC_SHARE/libc/argz.c:273: Call to builtin memcpy + Called from FRAMAC_SHARE/libc/argz.c:283. +[eva] FRAMAC_SHARE/libc/argz.c:272: Call to builtin realloc +[eva] FRAMAC_SHARE/libc/argz.c:272: + allocating variable __realloc_argz_append_l272_8 +[eva] FRAMAC_SHARE/libc/argz.c:274: Call to builtin memcpy [eva] Recording results for argz_append [eva] Done for function argz_append [eva] Recording results for argz_add @@ -639,45 +642,45 @@ [eva:final-states] Values at end of function mempcpy: i ∈ {0; 3} __retres ∈ - {{ (void *)&__realloc_str_append_l49[3] ; - (void *)&__realloc_str_append_l49_0[3] ; - (void *)&__realloc_str_append_l49_1[3] ; - (void *)&__realloc_str_append_l49_2[3] }} - __realloc_str_append_l49[0] ∈ {98} + {{ (void *)&__realloc_str_append_l50[3] ; + (void *)&__realloc_str_append_l50_0[3] ; + (void *)&__realloc_str_append_l50_1[3] ; + (void *)&__realloc_str_append_l50_2[3] }} + __realloc_str_append_l50[0] ∈ {98} [1] ∈ {108} [2] ∈ {97} [3] ∈ UNINITIALIZED - __realloc_str_append_l49_1[0] ∈ {98} + __realloc_str_append_l50_1[0] ∈ {98} [1] ∈ {108} [2] ∈ {97} [3] ∈ UNINITIALIZED [eva:final-states] Values at end of function argz_append: dst ∈ - {{ NULL ; &__realloc_argz_append_l271_2[0] ; - &__realloc_argz_append_l271_3[0] ; &__realloc_argz_append_l271_4[0] ; - &__realloc_argz_append_l271_5[0] ; &__realloc_argz_append_l271_6[0] ; - &__realloc_argz_append_l271_7[0] }} + {{ NULL ; &__realloc_argz_append_l272_2[0] ; + &__realloc_argz_append_l272_3[0] ; &__realloc_argz_append_l272_4[0] ; + &__realloc_argz_append_l272_5[0] ; &__realloc_argz_append_l272_6[0] ; + &__realloc_argz_append_l272_7[0] }} dst_len ∈ {0; 7; 11; 14; 17; 19; 23} new_argz_len ∈ {7; 10; 11; 14; 17; 18; 19; 21; 23; 24} new_argz ∈ - {{ NULL ; &__realloc_argz_append_l271[0] ; - &__realloc_argz_append_l271_0[0] ; - &__realloc_argz_append_l271_1[0] ; - &__realloc_argz_append_l271_2[0] ; - &__realloc_argz_append_l271_3[0] ; - &__realloc_argz_append_l271_4[0] ; - &__realloc_argz_append_l271_5[0] ; - &__realloc_argz_append_l271_6[0] ; - &__realloc_argz_append_l271_7[0] ; - &__realloc_argz_append_l271_8[0] }} + {{ NULL ; &__realloc_argz_append_l272[0] ; + &__realloc_argz_append_l272_0[0] ; + &__realloc_argz_append_l272_1[0] ; + &__realloc_argz_append_l272_2[0] ; + &__realloc_argz_append_l272_3[0] ; + &__realloc_argz_append_l272_4[0] ; + &__realloc_argz_append_l272_5[0] ; + &__realloc_argz_append_l272_6[0] ; + &__realloc_argz_append_l272_7[0] ; + &__realloc_argz_append_l272_8[0] }} argz ∈ - {{ &__malloc_argz_create_sep_l202[0] ; &__realloc_argz_append_l271[0] ; - &__realloc_argz_add_sep_l293[0] ; &__realloc_argz_append_l271_0[0] ; - &__realloc_argz_append_l271_1[0] ; &__realloc_argz_insert_l157[0] ; - &__realloc_argz_append_l271_8[0] }} + {{ &__malloc_argz_create_sep_l203[0] ; &__realloc_argz_append_l272[0] ; + &__realloc_argz_add_sep_l294[0] ; &__realloc_argz_append_l272_0[0] ; + &__realloc_argz_append_l272_1[0] ; &__realloc_argz_insert_l158[0] ; + &__realloc_argz_append_l272_8[0] }} len ∈ {7; 10; 16; 18; 21; 24} __retres ∈ {0; 12} - __realloc_argz_append_l271[0] ∈ {97} + __realloc_argz_append_l272[0] ∈ {97} [1] ∈ {0} [2] ∈ {98} [3] ∈ {0} @@ -687,7 +690,7 @@ [7] ∈ {101} [8] ∈ {102} [9] ∈ {0} - __realloc_argz_append_l271_0[0] ∈ {97} + __realloc_argz_append_l272_0[0] ∈ {97} [1] ∈ {0} [2] ∈ {98} [3] ∈ {0} @@ -705,7 +708,7 @@ [15] ∈ {0} [16] ∈ {107} [17] ∈ {0} - __realloc_argz_append_l271_1[0] ∈ {97} + __realloc_argz_append_l272_1[0] ∈ {97} [1] ∈ {0} [2] ∈ {98} [3] ∈ {0} @@ -726,14 +729,14 @@ [18] ∈ {101} [19] ∈ {102} [20] ∈ {0} - __realloc_argz_append_l271_2[0] ∈ {97} + __realloc_argz_append_l272_2[0] ∈ {97} [1] ∈ {0} [2] ∈ {98} [3] ∈ {0} [4] ∈ {99} [5] ∈ {100} [6] ∈ {0} - __realloc_argz_append_l271_3[0] ∈ {97} + __realloc_argz_append_l272_3[0] ∈ {97} [1] ∈ {0} [2] ∈ {98} [3] ∈ {0} @@ -744,7 +747,7 @@ [8] ∈ {108} [9] ∈ {97} [10] ∈ {0} - __realloc_argz_append_l271_4[0] ∈ {97} + __realloc_argz_append_l272_4[0] ∈ {97} [1] ∈ {0} [2] ∈ {98} [3] ∈ {0} @@ -758,7 +761,7 @@ [11] ∈ {103} [12] ∈ {104} [13] ∈ {0} - __realloc_argz_append_l271_5[0] ∈ {97} + __realloc_argz_append_l272_5[0] ∈ {97} [1] ∈ {0} [2] ∈ {98} [3] ∈ {0} @@ -775,7 +778,7 @@ [14] ∈ {105} [15] ∈ {106} [16] ∈ {0} - __realloc_argz_append_l271_6[0] ∈ {97} + __realloc_argz_append_l272_6[0] ∈ {97} [1] ∈ {0} [2] ∈ {98} [3] ∈ {0} @@ -794,7 +797,7 @@ [16] ∈ {0} [17] ∈ {107} [18] ∈ {0} - __realloc_argz_append_l271_7[0] ∈ {97} + __realloc_argz_append_l272_7[0] ∈ {97} [1] ∈ {0} [2] ∈ {98} [3] ∈ {0} @@ -817,7 +820,7 @@ [20] ∈ {108} [21] ∈ {97} [22] ∈ {0} - __realloc_argz_append_l271_8[0] ∈ {109} + __realloc_argz_append_l272_8[0] ∈ {109} [1] ∈ {110} [2] ∈ {111} [3] ∈ {0} @@ -842,8 +845,8 @@ [23] ∈ {0} [eva:final-states] Values at end of function stpcpy: i ∈ {2; 4} - __retres ∈ {{ &__malloc_argz_create_l245{[4], [7], [12]} }} - __malloc_argz_create_l245[0] ∈ {116} + __retres ∈ {{ &__malloc_argz_create_l246{[4], [7], [12]} }} + __malloc_argz_create_l246[0] ∈ {116} [1] ∈ {104} [2] ∈ {105} [3] ∈ {115} @@ -859,54 +862,54 @@ [eva:final-states] Values at end of function str_append: new_len ∈ {3} new_to ∈ - {{ NULL ; &__realloc_str_append_l49[0] ; - &__realloc_str_append_l49_0[0] ; &__realloc_str_append_l49_1[0] ; - &__realloc_str_append_l49_2[0] }} + {{ NULL ; &__realloc_str_append_l50[0] ; + &__realloc_str_append_l50_0[0] ; &__realloc_str_append_l50_1[0] ; + &__realloc_str_append_l50_2[0] }} to_len ∈ {0; 3} to ∈ - {{ NULL ; &__realloc_str_append_l49[0] ; &__realloc_str_append_l49_0[0] ; - &__realloc_str_append_l49_1[0] ; &__realloc_str_append_l49_2[0] }} - __realloc_str_append_l49[0] ∈ {98} + {{ NULL ; &__realloc_str_append_l50[0] ; &__realloc_str_append_l50_0[0] ; + &__realloc_str_append_l50_1[0] ; &__realloc_str_append_l50_2[0] }} + __realloc_str_append_l50[0] ∈ {98} [1] ∈ {108} [2] ∈ {97} [3] ∈ {0} - __realloc_str_append_l49_0[0] ∈ {98} + __realloc_str_append_l50_0[0] ∈ {98} [1] ∈ {108} [2] ∈ {97} [3] ∈ {0} - __realloc_str_append_l49_1[0] ∈ {98} + __realloc_str_append_l50_1[0] ∈ {98} [1] ∈ {108} [2] ∈ {97} [3] ∈ {0} - __realloc_str_append_l49_2[0] ∈ {98} + __realloc_str_append_l50_2[0] ∈ {98} [1] ∈ {108} [2] ∈ {97} [3] ∈ {0} [eva:final-states] Values at end of function argz_next: entry ∈ {{ NULL ; - &__realloc_argz_append_l271_1{[2], [4], [7], [10], [13], [16], + &__realloc_argz_append_l272_1{[2], [4], [7], [10], [13], [16], [18], [21]} ; - &__realloc_argz_append_l271_7{[2], [5]} }} + &__realloc_argz_append_l272_7{[2], [5]} }} __retres ∈ {{ NULL ; - &__realloc_argz_append_l271_1{[0], [2], [4], [7], [10], [13], + &__realloc_argz_append_l272_1{[0], [2], [4], [7], [10], [13], [16], [18]} ; - &__realloc_argz_append_l271_7{[0], [2], [5]} }} + &__realloc_argz_append_l272_7{[0], [2], [5]} }} [eva:final-states] Values at end of function argz_add: dst ∈ - {{ &__realloc_argz_append_l271_2[0] ; &__realloc_argz_append_l271_3[0] ; - &__realloc_argz_append_l271_4[0] ; &__realloc_argz_append_l271_5[0] ; - &__realloc_argz_append_l271_6[0] ; - &__realloc_argz_append_l271_7[0] }} + {{ &__realloc_argz_append_l272_2[0] ; &__realloc_argz_append_l272_3[0] ; + &__realloc_argz_append_l272_4[0] ; &__realloc_argz_append_l272_5[0] ; + &__realloc_argz_append_l272_6[0] ; + &__realloc_argz_append_l272_7[0] }} dst_len ∈ {7; 11; 14; 17; 19; 23} argz ∈ - {{ &__malloc_argz_create_sep_l202[0] ; &__realloc_argz_append_l271[0] ; - &__realloc_argz_append_l271_0[0] ; - &__realloc_argz_append_l271_1[0] ; &__realloc_argz_insert_l157[0] ; - &__realloc_argz_append_l271_8[0] }} + {{ &__malloc_argz_create_sep_l203[0] ; &__realloc_argz_append_l272[0] ; + &__realloc_argz_append_l272_0[0] ; + &__realloc_argz_append_l272_1[0] ; &__realloc_argz_insert_l158[0] ; + &__realloc_argz_append_l272_8[0] }} len ∈ {7; 10; 18; 21; 24} - __realloc_argz_append_l271[0] ∈ {97} + __realloc_argz_append_l272[0] ∈ {97} [1] ∈ {0} [2] ∈ {98} [3] ∈ {0} @@ -916,7 +919,7 @@ [7] ∈ {101} [8] ∈ {102} [9] ∈ {0} - __realloc_argz_append_l271_1[0] ∈ {97} + __realloc_argz_append_l272_1[0] ∈ {97} [1] ∈ {0} [2] ∈ {98} [3] ∈ {0} @@ -937,7 +940,7 @@ [18] ∈ {101} [19] ∈ {102} [20] ∈ {0} - __realloc_argz_append_l271_3[0] ∈ {97} + __realloc_argz_append_l272_3[0] ∈ {97} [1] ∈ {0} [2] ∈ {98} [3] ∈ {0} @@ -948,7 +951,7 @@ [8] ∈ {108} [9] ∈ {97} [10] ∈ {0} - __realloc_argz_append_l271_4[0] ∈ {97} + __realloc_argz_append_l272_4[0] ∈ {97} [1] ∈ {0} [2] ∈ {98} [3] ∈ {0} @@ -962,7 +965,7 @@ [11] ∈ {103} [12] ∈ {104} [13] ∈ {0} - __realloc_argz_append_l271_5[0] ∈ {97} + __realloc_argz_append_l272_5[0] ∈ {97} [1] ∈ {0} [2] ∈ {98} [3] ∈ {0} @@ -979,7 +982,7 @@ [14] ∈ {105} [15] ∈ {106} [16] ∈ {0} - __realloc_argz_append_l271_6[0] ∈ {97} + __realloc_argz_append_l272_6[0] ∈ {97} [1] ∈ {0} [2] ∈ {98} [3] ∈ {0} @@ -998,7 +1001,7 @@ [16] ∈ {0} [17] ∈ {107} [18] ∈ {0} - __realloc_argz_append_l271_7[0] ∈ {97} + __realloc_argz_append_l272_7[0] ∈ {97} [1] ∈ {0} [2] ∈ {98} [3] ∈ {0} @@ -1021,7 +1024,7 @@ [20] ∈ {108} [21] ∈ {97} [22] ∈ {0} - __realloc_argz_append_l271_8[0] ∈ {109} + __realloc_argz_append_l272_8[0] ∈ {109} [1] ∈ {110} [2] ∈ {111} [3] ∈ {0} @@ -1046,10 +1049,10 @@ [23] ∈ {0} [eva:final-states] Values at end of function argz_add_sep: nlen ∈ {6} - argz ∈ {{ NULL ; &__realloc_argz_add_sep_l293[0] }} + argz ∈ {{ NULL ; &__realloc_argz_add_sep_l294[0] }} len ∈ {10; 16} __retres ∈ {0; 12} - __realloc_argz_add_sep_l293[0] ∈ {97} + __realloc_argz_add_sep_l294[0] ∈ {97} [1] ∈ {0} [2] ∈ {98} [3] ∈ {0} @@ -1067,8 +1070,8 @@ [15] ∈ {0} [eva:final-states] Values at end of function argz_count: argz ∈ - {{ &__malloc_argz_create_sep_l202[7] ; - &__realloc_argz_add_sep_l293[16] }} + {{ &__malloc_argz_create_sep_l203[7] ; + &__realloc_argz_add_sep_l294[16] }} len ∈ {0} count ∈ {3; 6} [eva:final-states] Values at end of function argz_create: @@ -1076,11 +1079,11 @@ argc ∈ {3} tlen ∈ {13} ap ∈ {{ &argv[3] }} or UNINITIALIZED - p ∈ {{ &__malloc_argz_create_l245[13] }} or UNINITIALIZED - argz ∈ {{ NULL ; &__malloc_argz_create_l245[0] }} + p ∈ {{ &__malloc_argz_create_l246[13] }} or UNINITIALIZED + argz ∈ {{ NULL ; &__malloc_argz_create_l246[0] }} len ∈ {13} or UNINITIALIZED __retres ∈ {0; 12} - __malloc_argz_create_l245[0] ∈ {116} + __malloc_argz_create_l246[0] ∈ {116} [1] ∈ {104} [2] ∈ {105} [3] ∈ {115} @@ -1096,10 +1099,10 @@ [eva:final-states] Values at end of function argz_create_sep: __fc_heap_status ∈ [--..--] nlen ∈ {7; 8} - argz ∈ {{ NULL ; &__malloc_argz_create_sep_l202[0] }} + argz ∈ {{ NULL ; &__malloc_argz_create_sep_l203[0] }} len ∈ {7; 13} __retres ∈ {0; 12} - __malloc_argz_create_sep_l202[0] ∈ {97} + __malloc_argz_create_sep_l203[0] ∈ {97} [1] ∈ {0} [2] ∈ {98} [3] ∈ {0} @@ -1109,7 +1112,7 @@ [7] ∈ UNINITIALIZED [eva:final-states] Values at end of function argz_delete: len ∈ {17; 21} - __realloc_argz_append_l271_7[0] ∈ {97} + __realloc_argz_append_l272_7[0] ∈ {97} [1] ∈ {0} [2] ∈ {99} [3] ∈ {100} @@ -1134,15 +1137,15 @@ [22] ∈ {0} [eva:final-states] Values at end of function argz_insert: before ∈ - {{ NULL ; &__realloc_argz_append_l271_7[0] ; - &__realloc_argz_insert_l157[0] }} + {{ NULL ; &__realloc_argz_append_l272_7[0] ; + &__realloc_argz_insert_l158[0] }} argz ∈ - {{ &__realloc_argz_append_l271_7[0] ; &__realloc_argz_insert_l157[0] ; - &__realloc_argz_append_l271_8[0] }} + {{ &__realloc_argz_append_l272_7[0] ; &__realloc_argz_insert_l158[0] ; + &__realloc_argz_append_l272_8[0] }} len ∈ {17; 21; 24} - p ∈ {{ &__realloc_argz_append_l271_7[0] }} or ESCAPINGADDR + p ∈ {{ &__realloc_argz_append_l272_7[0] }} or ESCAPINGADDR __retres ∈ {0; 12} - __realloc_argz_insert_l157[0] ∈ {109} + __realloc_argz_insert_l158[0] ∈ {109} [1] ∈ {110} [2] ∈ {111} [3] ∈ {0} @@ -1163,7 +1166,7 @@ [18] ∈ {108} [19] ∈ {97} [20] ∈ {0} - __realloc_argz_append_l271_8[0] ∈ {109} + __realloc_argz_append_l272_8[0] ∈ {109} [1] ∈ {110} [2] ∈ {111} [3] ∈ {0} @@ -1190,22 +1193,22 @@ __fc_errno ∈ [--..--] __fc_heap_status ∈ [--..--] l ∈ {0} - p ∈ {{ NULL ; &__malloc_strndup_l336 ; &__malloc_strndup_l336_0 }} - __retres ∈ {{ NULL ; &__malloc_strndup_l336 ; &__malloc_strndup_l336_0 }} - __malloc_strndup_l336 ∈ {0} - __malloc_strndup_l336_0 ∈ {0} + p ∈ {{ NULL ; &__malloc_strndup_l339 ; &__malloc_strndup_l339_0 }} + __retres ∈ {{ NULL ; &__malloc_strndup_l339 ; &__malloc_strndup_l339_0 }} + __malloc_strndup_l339 ∈ {0} + __malloc_strndup_l339_0 ∈ {0} [eva:final-states] Values at end of function strstr: - __retres ∈ {{ NULL ; &__realloc_argz_append_l271_1{[7], [18]} }} + __retres ∈ {{ NULL ; &__realloc_argz_append_l272_1{[7], [18]} }} [eva:final-states] Values at end of function argz_replace: __fc_errno ∈ [--..--] __fc_heap_status ∈ [--..--] er ∈ {0; 12} argz ∈ - {{ &__realloc_argz_append_l271_1[0] ; - &__realloc_argz_append_l271_7[0] }} + {{ &__realloc_argz_append_l272_1[0] ; + &__realloc_argz_append_l272_7[0] }} len ∈ {21; 23} replace_count ∈ {2; 3} - __realloc_argz_append_l271_7[0] ∈ {97} + __realloc_argz_append_l272_7[0] ∈ {97} [1] ∈ {0} [2] ∈ {98} [3] ∈ {0} diff --git a/tests/libc/oracle/coverage.res.oracle b/tests/libc/oracle/coverage.res.oracle index b53e4177747716d5b42c5a65a0cddd47dcb12058..598ece998e19e5bb6b582592af263a1681fed804 100644 --- a/tests/libc/oracle/coverage.res.oracle +++ b/tests/libc/oracle/coverage.res.oracle @@ -28,7 +28,7 @@ main: 4 stmts out of 4 (100.0%) [metrics] Eva coverage statistics ======================= - Syntactically reachable functions = 2 (out of 99) + Syntactically reachable functions = 2 (out of 102) Semantically reached functions = 2 Coverage estimation = 100.0% [metrics] Statements analyzed by Eva diff --git a/tests/libc/oracle/fc_builtin_c.res.oracle b/tests/libc/oracle/fc_builtin_c.res.oracle index 79f1355c8e22c72b66f9ff2c8d652848fbd4ca5a..e64a6da01dd2bb7919cd7a38465ccde30fd12851 100644 --- a/tests/libc/oracle/fc_builtin_c.res.oracle +++ b/tests/libc/oracle/fc_builtin_c.res.oracle @@ -7,7 +7,7 @@ [eva] computing for function Frama_C_interval <- main. Called from fc_builtin_c.c:8. [eva] computing for function Frama_C_update_entropy <- Frama_C_interval <- main. - Called from FRAMAC_SHARE/libc/__fc_builtin.c:66. + Called from FRAMAC_SHARE/libc/__fc_builtin.c:82. [eva] Recording results for Frama_C_update_entropy [eva] Done for function Frama_C_update_entropy [eva] Recording results for Frama_C_interval @@ -18,8 +18,8 @@ [eva] computing for function Frama_C_char_interval <- main. Called from fc_builtin_c.c:12. [eva] computing for function Frama_C_interval <- Frama_C_char_interval <- main. - Called from FRAMAC_SHARE/libc/__fc_builtin.c:77. -[eva] FRAMAC_SHARE/libc/__fc_builtin.c:66: + Called from FRAMAC_SHARE/libc/__fc_builtin.c:93. +[eva] FRAMAC_SHARE/libc/__fc_builtin.c:82: Reusing old results for call to Frama_C_update_entropy [eva] Recording results for Frama_C_interval [eva] Done for function Frama_C_interval @@ -30,7 +30,7 @@ assertion 'sampling,unknown' got status unknown. [eva] computing for function Frama_C_unsigned_int_interval <- main. Called from fc_builtin_c.c:16. -[eva] FRAMAC_SHARE/libc/__fc_builtin.c:100: +[eva] FRAMAC_SHARE/libc/__fc_builtin.c:133: Reusing old results for call to Frama_C_update_entropy [eva] Recording results for Frama_C_unsigned_int_interval [eva] Done for function Frama_C_unsigned_int_interval @@ -39,7 +39,7 @@ assertion 'sampling,unknown' got status unknown. [eva] computing for function Frama_C_float_interval <- main. Called from fc_builtin_c.c:20. -[eva] FRAMAC_SHARE/libc/__fc_builtin.c:82: +[eva] FRAMAC_SHARE/libc/__fc_builtin.c:103: Reusing old results for call to Frama_C_update_entropy [eva] Recording results for Frama_C_float_interval [eva] Done for function Frama_C_float_interval @@ -48,7 +48,7 @@ assertion 'sampling,unknown' got status unknown. [eva] computing for function Frama_C_double_interval <- main. Called from fc_builtin_c.c:25. -[eva] FRAMAC_SHARE/libc/__fc_builtin.c:88: +[eva] FRAMAC_SHARE/libc/__fc_builtin.c:109: Reusing old results for call to Frama_C_update_entropy [eva] Recording results for Frama_C_double_interval [eva] Done for function Frama_C_double_interval @@ -57,7 +57,7 @@ assertion 'sampling,unknown' got status unknown. [eva] computing for function Frama_C_long_interval <- main. Called from fc_builtin_c.c:29. -[eva] FRAMAC_SHARE/libc/__fc_builtin.c:112: +[eva] FRAMAC_SHARE/libc/__fc_builtin.c:145: Reusing old results for call to Frama_C_update_entropy [eva] Recording results for Frama_C_long_interval [eva] Done for function Frama_C_long_interval @@ -66,7 +66,7 @@ assertion 'sampling,unknown' got status unknown. [eva] computing for function Frama_C_unsigned_long_interval <- main. Called from fc_builtin_c.c:34. -[eva] FRAMAC_SHARE/libc/__fc_builtin.c:124: +[eva] FRAMAC_SHARE/libc/__fc_builtin.c:157: Reusing old results for call to Frama_C_update_entropy [eva] Recording results for Frama_C_unsigned_long_interval [eva] Done for function Frama_C_unsigned_long_interval diff --git a/tests/libc/oracle/fc_libc.0.res.oracle b/tests/libc/oracle/fc_libc.0.res.oracle index f1b5fe1e343d056445dc05e361a8f5f6d73093c9..1c30bf3978c0942907017a876cba68216a01456d 100644 --- a/tests/libc/oracle/fc_libc.0.res.oracle +++ b/tests/libc/oracle/fc_libc.0.res.oracle @@ -16,7 +16,6 @@ /* Generated by Frama-C */ #include "__fc_builtin.c" -#include "__fc_builtin.h" #include "__fc_define_fd_set_t.h" #include "__fc_define_timeval.h" #include "__fc_gcc_builtins.h" diff --git a/tests/libc/oracle/fc_libc.1.res.oracle b/tests/libc/oracle/fc_libc.1.res.oracle index b5874f1ef25baa4b60527857038a1a5052e3bc20..825d7c5ddf07f1a2d857b8d4ade2fef0df9b25bf 100644 --- a/tests/libc/oracle/fc_libc.1.res.oracle +++ b/tests/libc/oracle/fc_libc.1.res.oracle @@ -1,7 +1,16 @@ [kernel] Parsing fc_libc.c (with preprocessing) /* Generated by Frama-C */ -typedef unsigned int size_t; typedef long wchar_t; +typedef unsigned int wint_t; +typedef int ptrdiff_t; +typedef unsigned int size_t; +typedef int ssize_t; +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef unsigned int uint32_t; +typedef unsigned int uintptr_t; +typedef long long intmax_t; +typedef unsigned long long uintmax_t; struct __fc_div_t { int quot ; int rem ; @@ -17,8 +26,6 @@ struct __fc_lldiv_t { long long rem ; }; typedef struct __fc_lldiv_t lldiv_t; -typedef int ptrdiff_t; -typedef int ssize_t; typedef int error_t; struct __fc_fenv_t { unsigned short __control_word ; @@ -36,6 +43,10 @@ struct __fc_fenv_t { unsigned short __unused5 ; }; typedef struct __fc_fenv_t fenv_t; +struct __fc_fexcept_t { + int _fc ; +}; +typedef struct __fc_fexcept_t fexcept_t; struct __fc_glob_t { unsigned int gl_pathc ; char **gl_pathv ; @@ -48,11 +59,6 @@ struct __fc_glob_t { int (*gl_stat)(char const * restrict , void * restrict ) ; }; typedef struct __fc_glob_t glob_t; -typedef unsigned char uint8_t; -typedef unsigned short uint16_t; -typedef unsigned int uint32_t; -typedef unsigned int uintptr_t; -typedef long long intmax_t; struct __fc_imaxdiv_t { intmax_t quot ; intmax_t rem ; @@ -306,6 +312,17 @@ typedef unsigned long long atomic_ullong; typedef void * const * va_list; typedef unsigned int id_t; typedef int suseconds_t; +enum length_modifier { + NONE = 0, + HH = 1, + H = 2, + L = 3, + LL = 4, + J = 5, + Z = 6, + T = 7, + UPPER_L = 8 +}; typedef unsigned int useconds_t; struct dirent { ino_t d_ino ; @@ -400,9 +417,24 @@ struct termios { tcflag_t c_lflag ; cc_t c_cc[32] ; }; +/*@ ghost extern int __fc_heap_status; */ + +/*@ +axiomatic dynamic_allocation { + predicate is_allocable{L}(ℤ n) + reads __fc_heap_status; + + axiom never_allocable{L}: + ∀ ℤ i; i < 0 ∨ i > 4294967295U ⇒ ¬is_allocable(i); + + } + */ int volatile Frama_C_entropy_source __attribute__((__unused__)); __attribute__((__FC_BUILTIN__)) void Frama_C_make_unknown(char *p, size_t l); + __attribute__((__FC_BUILTIN__)) void Frama_C_make_unknown_wchar(wchar_t *p, + size_t l); + __attribute__((__FC_BUILTIN__)) int Frama_C_nondet(int a, int b); __attribute__((__FC_BUILTIN__)) void *Frama_C_nondet_ptr(void *a, void *b); @@ -415,17 +447,58 @@ int volatile Frama_C_entropy_source __attribute__((__unused__)); __attribute__((__FC_BUILTIN__)) char Frama_C_char_interval(char min, char max); + __attribute__((__FC_BUILTIN__)) unsigned short Frama_C_unsigned_short_interval +(unsigned short min, unsigned short max); + + __attribute__((__FC_BUILTIN__)) short Frama_C_short_interval(short min, + short max); + __attribute__((__FC_BUILTIN__)) unsigned int Frama_C_unsigned_int_interval (unsigned int min, unsigned int max); + __attribute__((__FC_BUILTIN__)) unsigned long Frama_C_unsigned_long_interval +(unsigned long min, unsigned long max); + __attribute__((__FC_BUILTIN__)) long Frama_C_long_interval(long min, long max); + __attribute__((__FC_BUILTIN__)) unsigned long long Frama_C_unsigned_long_long_interval +(unsigned long long min, unsigned long long max); + + __attribute__((__FC_BUILTIN__)) long long Frama_C_long_long_interval +(long long min, long long max); + + __attribute__((__FC_BUILTIN__)) size_t Frama_C_size_t_interval(size_t min, + size_t max); + + __attribute__((__FC_BUILTIN__)) intmax_t Frama_C_intmax_t_interval(intmax_t min, + intmax_t max); + + __attribute__((__FC_BUILTIN__)) uintmax_t Frama_C_uintmax_t_interval +(uintmax_t min, uintmax_t max); + + __attribute__((__FC_BUILTIN__)) ptrdiff_t Frama_C_ptrdiff_t_interval +(ptrdiff_t min, ptrdiff_t max); + + __attribute__((__FC_BUILTIN__)) wint_t Frama_C_wint_t_interval(wint_t min, + wint_t max); + + __attribute__((__FC_BUILTIN__)) double Frama_C_double_interval(double min, + double max); + __attribute__((__noreturn__, __FC_BUILTIN__)) void Frama_C_abort(void); +unsigned short volatile __fc_unsigned_short_entropy; unsigned int volatile __fc_unsigned_int_entropy; long volatile __fc_long_entropy; unsigned long volatile __fc_unsigned_long_entropy; +long long volatile __fc_long_long_entropy; +unsigned long long volatile __fc_unsigned_long_long_entropy; +size_t volatile __fc_size_t_entropy; +intmax_t volatile __fc_intmax_t_entropy; +uintmax_t volatile __fc_uintmax_t_entropy; +ptrdiff_t volatile __fc_ptrdiff_t_entropy; +wint_t volatile __fc_wint_t_entropy; /*@ assigns Frama_C_entropy_source; assigns Frama_C_entropy_source \from Frama_C_entropy_source; */ @@ -455,6 +528,27 @@ void Frama_C_make_unknown(char *p, size_t l) return; } +/*@ requires valid_p: \valid(p + (0 .. l - 1)); + ensures initialization: \initialized(\old(p) + (0 .. \old(l) - 1)); + assigns *(p + (0 .. l - 1)), Frama_C_entropy_source; + assigns *(p + (0 .. l - 1)) \from Frama_C_entropy_source; + assigns Frama_C_entropy_source \from Frama_C_entropy_source; + */ + __attribute__((__FC_BUILTIN__)) void Frama_C_make_unknown_wchar(wchar_t *p, + size_t l); +void Frama_C_make_unknown_wchar(wchar_t *p, size_t l) +{ + Frama_C_update_entropy(); + { + size_t i = (size_t)0; + while (i < l) { + *(p + i) = (wchar_t)Frama_C_entropy_source; + i ++; + } + } + return; +} + /*@ ensures result_a_or_b: \result ≡ \old(a) ∨ \result ≡ \old(b); assigns \result, Frama_C_entropy_source; assigns \result \from a, b, Frama_C_entropy_source; @@ -519,6 +613,54 @@ char Frama_C_char_interval(char min, char max) return __retres; } +/*@ requires order: min ≤ max; + ensures result_bounded: \old(min) ≤ \result ≤ \old(max); + assigns \result, Frama_C_entropy_source; + assigns \result \from min, max, Frama_C_entropy_source; + assigns Frama_C_entropy_source \from Frama_C_entropy_source; + */ + __attribute__((__FC_BUILTIN__)) short Frama_C_short_interval(short min, + short max); +short Frama_C_short_interval(short min, short max) +{ + short __retres; + int tmp; + tmp = Frama_C_interval((int)min,(int)max); + __retres = (short)tmp; + return __retres; +} + +/*@ assigns \result, Frama_C_entropy_source; + assigns \result \from min, max, Frama_C_entropy_source; + assigns Frama_C_entropy_source \from Frama_C_entropy_source; + + behavior finite: + assumes finite: \is_finite(min) ∧ \is_finite(max); + requires order: min ≤ max; + ensures + result_bounded: + \is_finite(\result) ∧ \old(min) ≤ \result ≤ \old(max); + + behavior infinite_not_nan: + assumes infinite: \is_infinite(min) ∨ \is_infinite(max); + assumes not_nan: ¬\is_NaN(min) ∧ ¬\is_NaN(max); + requires order: min ≤ max; + ensures + result_bounded: + ¬\is_NaN(\result) ∧ \old(min) ≤ \result ≤ \old(max); + + disjoint behaviors infinite_not_nan, finite; + */ + __attribute__((__FC_BUILTIN__)) double Frama_C_double_interval(double min, + double max); +double Frama_C_double_interval(double min, double max) +{ + double tmp; + Frama_C_update_entropy(); + if (Frama_C_entropy_source) tmp = min; else tmp = max; + return tmp; +} + /*@ requires order: min ≤ max; ensures result_bounded: \old(min) ≤ \result ≤ \old(max); assigns \result, Frama_C_entropy_source; @@ -537,6 +679,27 @@ unsigned char Frama_C_unsigned_char_interval(unsigned char min, return __retres; } +/*@ requires order: min ≤ max; + ensures result_bounded: \old(min) ≤ \result ≤ \old(max); + assigns \result, Frama_C_entropy_source; + assigns \result \from min, max, Frama_C_entropy_source; + assigns Frama_C_entropy_source \from Frama_C_entropy_source; + */ + __attribute__((__FC_BUILTIN__)) unsigned short Frama_C_unsigned_short_interval +(unsigned short min, unsigned short max); +unsigned short Frama_C_unsigned_short_interval(unsigned short min, + unsigned short max) +{ + unsigned short r; + unsigned short aux; + Frama_C_update_entropy(); + aux = __fc_unsigned_short_entropy; + if ((int)aux >= (int)min) + if ((int)aux <= (int)max) r = aux; else r = min; + else r = min; + return r; +} + /*@ requires order: min ≤ max; ensures result_bounded: \old(min) ≤ \result ≤ \old(max); assigns \result, Frama_C_entropy_source; @@ -577,6 +740,173 @@ long Frama_C_long_interval(long min, long max) return r; } +/*@ requires order: min ≤ max; + ensures result_bounded: \old(min) ≤ \result ≤ \old(max); + assigns \result, Frama_C_entropy_source; + assigns \result \from min, max, Frama_C_entropy_source; + assigns Frama_C_entropy_source \from Frama_C_entropy_source; + */ + __attribute__((__FC_BUILTIN__)) unsigned long Frama_C_unsigned_long_interval +(unsigned long min, unsigned long max); +unsigned long Frama_C_unsigned_long_interval(unsigned long min, + unsigned long max) +{ + unsigned long r; + unsigned long aux; + Frama_C_update_entropy(); + aux = __fc_unsigned_long_entropy; + if (aux >= min) + if (aux <= max) r = aux; else r = min; + else r = min; + return r; +} + +/*@ requires order: min ≤ max; + ensures result_bounded: \old(min) ≤ \result ≤ \old(max); + assigns \result, Frama_C_entropy_source; + assigns \result \from min, max, Frama_C_entropy_source; + assigns Frama_C_entropy_source \from Frama_C_entropy_source; + */ + __attribute__((__FC_BUILTIN__)) long long Frama_C_long_long_interval +(long long min, long long max); +long long Frama_C_long_long_interval(long long min, long long max) +{ + long long r; + long long aux; + Frama_C_update_entropy(); + aux = __fc_long_long_entropy; + if (aux >= min) + if (aux <= max) r = aux; else r = min; + else r = min; + return r; +} + +/*@ requires order: min ≤ max; + ensures result_bounded: \old(min) ≤ \result ≤ \old(max); + assigns \result, Frama_C_entropy_source; + assigns \result \from min, max, Frama_C_entropy_source; + assigns Frama_C_entropy_source \from Frama_C_entropy_source; + */ + __attribute__((__FC_BUILTIN__)) unsigned long long Frama_C_unsigned_long_long_interval +(unsigned long long min, unsigned long long max); +unsigned long long Frama_C_unsigned_long_long_interval(unsigned long long min, + unsigned long long max) +{ + unsigned long long r; + unsigned long long aux; + Frama_C_update_entropy(); + aux = __fc_unsigned_long_long_entropy; + if (aux >= min) + if (aux <= max) r = aux; else r = min; + else r = min; + return r; +} + +/*@ requires order: min ≤ max; + ensures result_bounded: \old(min) ≤ \result ≤ \old(max); + assigns \result, Frama_C_entropy_source; + assigns \result \from min, max, Frama_C_entropy_source; + assigns Frama_C_entropy_source \from Frama_C_entropy_source; + */ + __attribute__((__FC_BUILTIN__)) size_t Frama_C_size_t_interval(size_t min, + size_t max); +size_t Frama_C_size_t_interval(size_t min, size_t max) +{ + size_t r; + size_t aux; + Frama_C_update_entropy(); + aux = __fc_size_t_entropy; + if (aux >= min) + if (aux <= max) r = aux; else r = min; + else r = min; + return r; +} + +/*@ requires order: min ≤ max; + ensures result_bounded: \old(min) ≤ \result ≤ \old(max); + assigns \result, Frama_C_entropy_source; + assigns \result \from min, max, Frama_C_entropy_source; + assigns Frama_C_entropy_source \from Frama_C_entropy_source; + */ + __attribute__((__FC_BUILTIN__)) intmax_t Frama_C_intmax_t_interval(intmax_t min, + intmax_t max); +intmax_t Frama_C_intmax_t_interval(intmax_t min, intmax_t max) +{ + intmax_t r; + intmax_t aux; + Frama_C_update_entropy(); + aux = __fc_intmax_t_entropy; + if (aux >= min) + if (aux <= max) r = aux; else r = min; + else r = min; + return r; +} + +/*@ requires order: min ≤ max; + ensures result_bounded: \old(min) ≤ \result ≤ \old(max); + assigns \result, Frama_C_entropy_source; + assigns \result \from min, max, Frama_C_entropy_source; + assigns Frama_C_entropy_source \from Frama_C_entropy_source; + */ + __attribute__((__FC_BUILTIN__)) uintmax_t Frama_C_uintmax_t_interval +(uintmax_t min, uintmax_t max); +uintmax_t Frama_C_uintmax_t_interval(uintmax_t min, uintmax_t max) +{ + uintmax_t r; + uintmax_t aux; + Frama_C_update_entropy(); + aux = __fc_uintmax_t_entropy; + if (aux >= min) + if (aux <= max) r = aux; else r = min; + else r = min; + return r; +} + +/*@ requires order: min ≤ max; + ensures result_bounded: \old(min) ≤ \result ≤ \old(max); + assigns \result, Frama_C_entropy_source; + assigns \result \from min, max, Frama_C_entropy_source; + assigns Frama_C_entropy_source \from Frama_C_entropy_source; + */ + __attribute__((__FC_BUILTIN__)) ptrdiff_t Frama_C_ptrdiff_t_interval +(ptrdiff_t min, ptrdiff_t max); +ptrdiff_t Frama_C_ptrdiff_t_interval(ptrdiff_t min, ptrdiff_t max) +{ + ptrdiff_t r; + ptrdiff_t aux; + Frama_C_update_entropy(); + aux = __fc_ptrdiff_t_entropy; + if (aux >= min) + if (aux <= max) r = aux; else r = min; + else r = min; + return r; +} + +/*@ requires order: min ≤ max; + ensures result_bounded: \old(min) ≤ \result ≤ \old(max); + assigns \result, Frama_C_entropy_source; + assigns \result \from min, max, Frama_C_entropy_source; + assigns Frama_C_entropy_source \from Frama_C_entropy_source; + */ + __attribute__((__FC_BUILTIN__)) wint_t Frama_C_wint_t_interval(wint_t min, + wint_t max); +wint_t Frama_C_wint_t_interval(wint_t min, wint_t max) +{ + wint_t r; + wint_t aux; + Frama_C_update_entropy(); + aux = __fc_wint_t_entropy; + if (aux >= min) + if (aux <= max) r = aux; else r = min; + else r = min; + return r; +} + +/*@ terminates \false; + ensures never_terminates: \false; + exits always_exits: \true; + assigns \nothing; + */ extern __attribute__((__noreturn__)) void __builtin_abort(void); /*@ terminates \false; @@ -591,18 +921,6 @@ void Frama_C_abort(void) int __fc_errno; -/*@ ghost extern int __fc_heap_status; */ - -/*@ -axiomatic dynamic_allocation { - predicate is_allocable{L}(ℤ n) - reads __fc_heap_status; - - axiom never_allocable{L}: - ∀ ℤ i; i < 0 ∨ i > 4294967295U ⇒ ¬is_allocable(i); - - } - */ /*@ axiomatic MemCmp { logic ℤ memcmp{L1, L2}(char *s1, char *s2, ℤ n) @@ -869,10 +1187,6 @@ axiomatic WcsChr { } */ -/*@ logic ℤ minimum(ℤ i, ℤ j) = i < j? i: j; - */ -/*@ logic ℤ maximum(ℤ i, ℤ j) = i < j? j: i; - */ /*@ predicate valid_string{L}(char *s) = 0 ≤ strlen(s) ∧ \valid(s + (0 .. strlen(s))); @@ -905,50 +1219,64 @@ predicate valid_read_nwstring{L}(wchar_t *s, ℤ n) = /*@ predicate valid_wstring_or_null{L}(wchar_t *s) = s ≡ \null ∨ valid_wstring(s); + */ +/*@ logic ℤ strnlen{L}(char *s, ℤ n) = \at(\min(strlen(s), n),L); */ -/*@ requires valid_nptr: \valid_read(nptr); +/*@ requires valid_nptr: valid_read_string(nptr); assigns \result; - assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..))); + assigns \result + \from (indirect: nptr), (indirect: *(nptr + (0 .. strlen{Old}(nptr)))); */ extern double atof(char const *nptr); int atoi(char const *p); -/*@ requires valid_nptr: \valid_read(nptr); +/*@ requires valid_nptr: valid_read_string(nptr); assigns \result; - assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..))); + assigns \result + \from (indirect: nptr), (indirect: *(nptr + (0 .. strlen{Old}(nptr)))); */ extern long atol(char const *nptr); -/*@ requires valid_nptr: \valid_read(nptr); +/*@ requires valid_nptr: valid_read_string(nptr); assigns \result; - assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..))); + assigns \result + \from (indirect: nptr), (indirect: *(nptr + (0 .. strlen{Old}(nptr)))); */ extern long long atoll(char const *nptr); /*@ requires valid_string_nptr: valid_read_string(nptr); requires separation: \separated(nptr, endptr); assigns \result, *endptr; - assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..))); + assigns \result + \from (indirect: nptr), (indirect: *(nptr + (0 .. strlen{Old}(nptr)))); assigns *endptr - \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr); + \from nptr, (indirect: *(nptr + (0 .. strlen{Old}(nptr)))), + (indirect: endptr); behavior no_storage: assumes null_endptr: endptr ≡ \null; assigns \result; - assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..))); + assigns \result + \from (indirect: nptr), + (indirect: *(nptr + (0 .. strlen{Old}(nptr)))); behavior store_position: assumes nonnull_endptr: endptr ≢ \null; requires valid_endptr: \valid(endptr); ensures initialization: \initialized(\old(endptr)); ensures valid_endptr_content: \valid_read(*\old(endptr)); - ensures position_subset: \subset(*\old(endptr), \old(nptr) + (0 ..)); + ensures + endptr_same_base: + \base_addr(*\old(endptr)) ≡ \base_addr(\old(nptr)); assigns \result, *endptr; - assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..))); + assigns \result + \from (indirect: nptr), + (indirect: *(nptr + (0 .. strlen{Old}(nptr)))); assigns *endptr - \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr); + \from nptr, (indirect: *(nptr + (0 .. strlen{Old}(nptr)))), + (indirect: endptr); complete behaviors store_position, no_storage; disjoint behaviors store_position, no_storage; @@ -958,23 +1286,31 @@ extern double strtod(char const * restrict nptr, char ** restrict endptr); /*@ requires valid_string_nptr: valid_read_string(nptr); requires separation: \separated(nptr, endptr); assigns \result, *endptr; - assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..))); + assigns \result + \from (indirect: nptr), (indirect: *(nptr + (0 .. strlen{Old}(nptr)))); assigns *endptr - \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr); + \from nptr, (indirect: *(nptr + (0 .. strlen{Old}(nptr)))), + (indirect: endptr); behavior no_storage: assumes null_endptr: endptr ≡ \null; assigns \result; - assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..))); + assigns \result + \from (indirect: nptr), + (indirect: *(nptr + (0 .. strlen{Old}(nptr)))); behavior store_position: assumes nonnull_endptr: endptr ≢ \null; requires valid_endptr: \valid(endptr); ensures initialization: \initialized(\old(endptr)); ensures valid_endptr_content: \valid_read(*\old(endptr)); - ensures position_subset: \subset(*\old(endptr), \old(nptr) + (0 ..)); + ensures + endptr_same_base: + \base_addr(*\old(endptr)) ≡ \base_addr(\old(nptr)); assigns \result, *endptr; - assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..))); + assigns \result + \from (indirect: nptr), + (indirect: *(nptr + (0 .. strlen{Old}(nptr)))); assigns *endptr \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr); @@ -986,25 +1322,34 @@ extern float strtof(char const * restrict nptr, char ** restrict endptr); /*@ requires valid_string_nptr: valid_read_string(nptr); requires separation: \separated(nptr, endptr); assigns \result, *endptr; - assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..))); + assigns \result + \from (indirect: nptr), (indirect: *(nptr + (0 .. strlen{Old}(nptr)))); assigns *endptr - \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr); + \from nptr, (indirect: *(nptr + (0 .. strlen{Old}(nptr)))), + (indirect: endptr); behavior no_storage: assumes null_endptr: endptr ≡ \null; assigns \result; - assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..))); + assigns \result + \from (indirect: nptr), + (indirect: *(nptr + (0 .. strlen{Old}(nptr)))); behavior store_position: assumes nonnull_endptr: endptr ≢ \null; requires valid_endptr: \valid(endptr); ensures initialization: \initialized(\old(endptr)); ensures valid_endptr_content: \valid_read(*\old(endptr)); - ensures position_subset: \subset(*\old(endptr), \old(nptr) + (0 ..)); + ensures + endptr_same_base: + \base_addr(*\old(endptr)) ≡ \base_addr(\old(nptr)); assigns \result, *endptr; - assigns \result \from (indirect: nptr), (indirect: *(nptr + (0 ..))); + assigns \result + \from (indirect: nptr), + (indirect: *(nptr + (0 .. strlen{Old}(nptr)))); assigns *endptr - \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr); + \from nptr, (indirect: *(nptr + (0 .. strlen{Old}(nptr)))), + (indirect: endptr); complete behaviors store_position, no_storage; disjoint behaviors store_position, no_storage; @@ -1017,16 +1362,18 @@ extern long double strtold(char const * restrict nptr, requires base_range: base ≡ 0 ∨ (2 ≤ base ≤ 36); assigns \result, *endptr; assigns \result - \from (indirect: nptr), (indirect: *(nptr + (0 ..))), (indirect: base); - assigns *endptr - \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr), + \from (indirect: nptr), (indirect: *(nptr + (0 .. strlen{Old}(nptr)))), (indirect: base); + assigns *endptr + \from nptr, (indirect: *(nptr + (0 .. strlen{Old}(nptr)))), + (indirect: endptr), (indirect: base); behavior no_storage: assumes null_endptr: endptr ≡ \null; assigns \result; assigns \result - \from (indirect: nptr), (indirect: *(nptr + (0 ..))), + \from (indirect: nptr), + (indirect: *(nptr + (0 .. strlen{Old}(nptr)))), (indirect: base); behavior store_position: @@ -1034,14 +1381,17 @@ extern long double strtold(char const * restrict nptr, requires valid_endptr: \valid(endptr); ensures initialization: \initialized(\old(endptr)); ensures valid_endptr_content: \valid_read(*\old(endptr)); - ensures position_subset: \subset(*\old(endptr), \old(nptr) + (0 ..)); + ensures + endptr_same_base: + \base_addr(*\old(endptr)) ≡ \base_addr(\old(nptr)); assigns \result, *endptr; assigns \result - \from (indirect: nptr), (indirect: *(nptr + (0 ..))), + \from (indirect: nptr), + (indirect: *(nptr + (0 .. strlen{Old}(nptr)))), (indirect: base); assigns *endptr - \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr), - (indirect: base); + \from nptr, (indirect: *(nptr + (0 .. strlen{Old}(nptr)))), + (indirect: endptr), (indirect: base); complete behaviors store_position, no_storage; disjoint behaviors store_position, no_storage; @@ -1054,16 +1404,18 @@ extern long strtol(char const * restrict nptr, char ** restrict endptr, requires base_range: base ≡ 0 ∨ (2 ≤ base ≤ 36); assigns \result, *endptr; assigns \result - \from (indirect: nptr), (indirect: *(nptr + (0 ..))), (indirect: base); - assigns *endptr - \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr), + \from (indirect: nptr), (indirect: *(nptr + (0 .. strlen{Old}(nptr)))), (indirect: base); + assigns *endptr + \from nptr, (indirect: *(nptr + (0 .. strlen{Old}(nptr)))), + (indirect: endptr), (indirect: base); behavior no_storage: assumes null_endptr: endptr ≡ \null; assigns \result; assigns \result - \from (indirect: nptr), (indirect: *(nptr + (0 ..))), + \from (indirect: nptr), + (indirect: *(nptr + (0 .. strlen{Old}(nptr)))), (indirect: base); behavior store_position: @@ -1071,14 +1423,17 @@ extern long strtol(char const * restrict nptr, char ** restrict endptr, requires valid_endptr: \valid(endptr); ensures initialization: \initialized(\old(endptr)); ensures valid_endptr_content: \valid_read(*\old(endptr)); - ensures position_subset: \subset(*\old(endptr), \old(nptr) + (0 ..)); + ensures + endptr_same_base: + \base_addr(*\old(endptr)) ≡ \base_addr(\old(nptr)); assigns \result, *endptr; assigns \result - \from (indirect: nptr), (indirect: *(nptr + (0 ..))), + \from (indirect: nptr), + (indirect: *(nptr + (0 .. strlen{Old}(nptr)))), (indirect: base); assigns *endptr - \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr), - (indirect: base); + \from nptr, (indirect: *(nptr + (0 .. strlen{Old}(nptr)))), + (indirect: endptr), (indirect: base); complete behaviors store_position, no_storage; disjoint behaviors store_position, no_storage; @@ -1091,16 +1446,18 @@ extern long long strtoll(char const * restrict nptr, char ** restrict endptr, requires base_range: base ≡ 0 ∨ (2 ≤ base ≤ 36); assigns \result, *endptr; assigns \result - \from (indirect: nptr), (indirect: *(nptr + (0 ..))), (indirect: base); - assigns *endptr - \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr), + \from (indirect: nptr), (indirect: *(nptr + (0 .. strlen{Old}(nptr)))), (indirect: base); + assigns *endptr + \from nptr, (indirect: *(nptr + (0 .. strlen{Old}(nptr)))), + (indirect: endptr), (indirect: base); behavior no_storage: assumes null_endptr: endptr ≡ \null; assigns \result; assigns \result - \from (indirect: nptr), (indirect: *(nptr + (0 ..))), + \from (indirect: nptr), + (indirect: *(nptr + (0 .. strlen{Old}(nptr)))), (indirect: base); behavior store_position: @@ -1108,14 +1465,17 @@ extern long long strtoll(char const * restrict nptr, char ** restrict endptr, requires valid_endptr: \valid(endptr); ensures initialization: \initialized(\old(endptr)); ensures valid_endptr_content: \valid_read(*\old(endptr)); - ensures position_subset: \subset(*\old(endptr), \old(nptr) + (0 ..)); + ensures + endptr_same_base: + \base_addr(*\old(endptr)) ≡ \base_addr(\old(nptr)); assigns \result, *endptr; assigns \result - \from (indirect: nptr), (indirect: *(nptr + (0 ..))), + \from (indirect: nptr), + (indirect: *(nptr + (0 .. strlen{Old}(nptr)))), (indirect: base); assigns *endptr - \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr), - (indirect: base); + \from nptr, (indirect: *(nptr + (0 .. strlen{Old}(nptr)))), + (indirect: endptr), (indirect: base); complete behaviors store_position, no_storage; disjoint behaviors store_position, no_storage; @@ -1128,16 +1488,18 @@ extern unsigned long strtoul(char const * restrict nptr, requires base_range: base ≡ 0 ∨ (2 ≤ base ≤ 36); assigns \result, *endptr; assigns \result - \from (indirect: nptr), (indirect: *(nptr + (0 ..))), (indirect: base); - assigns *endptr - \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr), + \from (indirect: nptr), (indirect: *(nptr + (0 .. strlen{Old}(nptr)))), (indirect: base); + assigns *endptr + \from nptr, (indirect: *(nptr + (0 .. strlen{Old}(nptr)))), + (indirect: endptr), (indirect: base); behavior no_storage: assumes null_endptr: endptr ≡ \null; assigns \result; assigns \result - \from (indirect: nptr), (indirect: *(nptr + (0 ..))), + \from (indirect: nptr), + (indirect: *(nptr + (0 .. strlen{Old}(nptr)))), (indirect: base); behavior store_position: @@ -1145,14 +1507,17 @@ extern unsigned long strtoul(char const * restrict nptr, requires valid_endptr: \valid(endptr); ensures initialization: \initialized(\old(endptr)); ensures valid_endptr_content: \valid_read(*\old(endptr)); - ensures position_subset: \subset(*\old(endptr), \old(nptr) + (0 ..)); + ensures + endptr_same_base: + \base_addr(*\old(endptr)) ≡ \base_addr(\old(nptr)); assigns \result, *endptr; assigns \result - \from (indirect: nptr), (indirect: *(nptr + (0 ..))), + \from (indirect: nptr), + (indirect: *(nptr + (0 .. strlen{Old}(nptr)))), (indirect: base); assigns *endptr - \from nptr, (indirect: *(nptr + (0 ..))), (indirect: endptr), - (indirect: base); + \from nptr, (indirect: *(nptr + (0 .. strlen{Old}(nptr)))), + (indirect: endptr), (indirect: base); complete behaviors store_position, no_storage; disjoint behaviors store_position, no_storage; @@ -1165,7 +1530,7 @@ extern unsigned long long strtoull(char const * restrict nptr, unsigned long const __fc_rand_max = (unsigned long)2147483647; /*@ ensures result_range: 0 ≤ \result ≤ __fc_rand_max; assigns \result, __fc_random_counter; - assigns \result \from __fc_random_counter; + assigns \result \from (indirect: __fc_random_counter); assigns __fc_random_counter \from __fc_random_counter; */ extern int rand(void); @@ -1176,7 +1541,7 @@ extern void srand(unsigned int seed); /*@ ensures result_range: 0 ≤ \result ≤ __fc_rand_max; assigns \result; - assigns \result \from __fc_random_counter; + assigns \result \from (indirect: __fc_random_counter); */ extern long random(void); @@ -1194,21 +1559,24 @@ unsigned short *__fc_p_random48_counter = __fc_random48_counter; */ extern void srand48(long seed); -/*@ requires +/*@ requires valid_seed16v: \valid(seed16v + (0 .. 2)); + requires initialization: initialized_seed16v: \initialized(seed16v + (0 .. 2)); ensures random48_initialized: __fc_random48_init ≡ 1; ensures result_counter: \result ≡ __fc_p_random48_counter; assigns __fc_random48_counter[0 .. 2], __fc_random48_init, \result; - assigns __fc_random48_counter[0 .. 2] - \from (indirect: *(seed16v + (0 .. 2))); + assigns __fc_random48_counter[0 .. 2] \from *(seed16v + (0 .. 2)); assigns __fc_random48_init \from \nothing; assigns \result \from __fc_p_random48_counter; */ extern unsigned short *seed48(unsigned short seed16v[3]); -/*@ ensures random48_initialized: __fc_random48_init ≡ 1; +/*@ requires valid_param: \valid(param + (0 .. 6)); + requires + initialization: initialized_param: \initialized(param + (0 .. 6)); + ensures random48_initialized: __fc_random48_init ≡ 1; assigns __fc_random48_counter[0 .. 2], __fc_random48_init; - assigns __fc_random48_counter[0 .. 2] \from *(param + (0 .. 5)); + assigns __fc_random48_counter[0 .. 2] \from *(param + (0 .. 6)); assigns __fc_random48_init \from \nothing; */ extern void lcong48(unsigned short param[7]); @@ -1222,7 +1590,8 @@ extern void lcong48(unsigned short param[7]); */ extern double drand48(void); -/*@ requires +/*@ requires valid_xsubi: \valid(xsubi + (0 .. 2)); + requires initialization: initialized_xsubi: \initialized(xsubi + (0 .. 2)); ensures result_range: \is_finite(\result) ∧ 0.0 ≤ \result < 1.0; assigns __fc_random48_counter[0 .. 2], \result; @@ -1241,7 +1610,8 @@ extern double erand48(unsigned short xsubi[3]); */ extern long lrand48(void); -/*@ requires +/*@ requires valid_xsubi: \valid(xsubi + (0 .. 2)); + requires initialization: initialized_xsubi: \initialized(xsubi + (0 .. 2)); ensures result_range: 0 ≤ \result < 2147483648; assigns __fc_random48_counter[0 .. 2], \result; @@ -1260,7 +1630,8 @@ extern long nrand48(unsigned short xsubi[3]); */ extern long mrand48(void); -/*@ requires +/*@ requires valid_xsubi: \valid(xsubi + (0 .. 2)); + requires initialization: initialized_xsubi: \initialized(xsubi + (0 .. 2)); ensures result_range: -2147483648 ≤ \result < 2147483648; assigns __fc_random48_counter[0 .. 2], \result; @@ -1433,7 +1804,8 @@ extern __attribute__((__noreturn__)) void quick_exit(int status); command ≡ \null ∨ valid_read_string(command); assigns \result; assigns \result - \from (indirect: command), (indirect: *(command + (0 ..))); + \from (indirect: command), + (indirect: *(command + (0 .. strlen{Old}(command)))); */ extern int system(char const *command); @@ -1498,16 +1870,27 @@ extern long labs(long j); */ extern long long llabs(long long j); -/*@ assigns \result; - assigns \result \from numer, denom; */ +/*@ requires denom_nonzero: denom ≢ 0; + requires no_overflow: ¬(numer ≡ -2147483647 - 1 ∧ denom ≡ -1); + assigns \result; + assigns \result \from numer, denom; + */ extern div_t div(int numer, int denom); -/*@ assigns \result; - assigns \result \from numer, denom; */ +/*@ requires denom_nonzero: denom ≢ 0; + requires no_overflow: ¬(numer ≡ -2147483647L - 1L ∧ denom ≡ -1); + assigns \result; + assigns \result \from numer, denom; + */ extern ldiv_t ldiv(long numer, long denom); -/*@ assigns \result; - assigns \result \from numer, denom; */ +/*@ requires denom_nonzero: denom ≢ 0; + requires + no_overflow: + ¬(numer ≡ -9223372036854775807LL - 1LL ∧ denom ≡ -1); + assigns \result; + assigns \result \from numer, denom; + */ extern lldiv_t lldiv(long long numer, long long denom); /*@ ghost extern int __fc_mblen_state; */ @@ -1641,15 +2024,16 @@ int strncmp(char const *s1, char const *s2, size_t n); requires valid_string_s2: valid_read_string(s2); assigns \result; assigns \result - \from (indirect: *(s1 + (0 ..))), (indirect: *(s2 + (0 ..))); + \from (indirect: *(s1 + (0 .. strlen{Old}(s1)))), + (indirect: *(s2 + (0 .. strlen{Old}(s2)))); */ extern int strcoll(char const *s1, char const *s2); char *strchr(char const *s, int c); /*@ requires valid_string_s: valid_read_string(s); - ensures - result_same_base: \subset(\result, \old(s) + (0 .. strlen(\old(s)))); + ensures result_valid_string: valid_read_string(\result); + ensures result_same_base: \base_addr(\result) ≡ \base_addr(\old(s)); assigns \result; assigns \result \from s, (indirect: *(s + (0 .. strlen{Old}(s)))), (indirect: c); @@ -1663,7 +2047,8 @@ char *strrchr(char const *s, int c); ensures result_bounded: 0 ≤ \result ≤ strlen(\old(s)); assigns \result; assigns \result - \from (indirect: *(s + (0 ..))), (indirect: *(reject + (0 ..))); + \from (indirect: *(s + (0 .. strlen{Old}(s)))), + (indirect: *(reject + (0 .. strlen{Old}(reject)))); */ extern size_t strcspn(char const *s, char const *reject); @@ -1671,9 +2056,9 @@ extern size_t strcspn(char const *s, char const *reject); requires valid_string_accept: valid_read_string(accept); ensures result_bounded: 0 ≤ \result ≤ strlen(\old(s)); assigns \result; - assigns \result \from *(s + (0 ..)), *(accept + (0 ..)); assigns \result - \from (indirect: *(s + (0 ..))), (indirect: *(accept + (0 ..))); + \from (indirect: *(s + (0 .. strlen{Old}(s)))), + (indirect: *(accept + (0 .. strlen{Old}(accept)))); */ extern size_t strspn(char const *s, char const *accept); @@ -1681,9 +2066,13 @@ extern size_t strspn(char const *s, char const *accept); requires valid_string_accept: valid_read_string(accept); ensures result_null_or_same_base: - \result ≡ \null ∨ \base_addr(\result) ≡ \base_addr(\old(s)); + \result ≡ \null ∨ + (valid_read_string(\result) ∧ + \base_addr(\result) ≡ \base_addr(\old(s))); assigns \result; - assigns \result \from s, *(s + (0 ..)), *(accept + (0 ..)); + assigns \result + \from s, (indirect: *(s + (0 .. strlen{Old}(s)))), + (indirect: *(accept + (0 .. strlen{Old}(accept)))); */ extern char *strpbrk(char const *s, char const *accept); @@ -1694,32 +2083,37 @@ char *strstr(char const *haystack, char const *needle); ensures result_null_or_in_haystack: \result ≡ \null ∨ - (\subset(\result, \old(haystack) + (0 ..)) ∧ \valid_read(\result)); + (valid_read_string(\result) ∧ + \base_addr(\result) ≡ \base_addr(\old(haystack))); assigns \result; assigns \result - \from haystack, (indirect: *(haystack + (0 ..))), - (indirect: *(needle + (0 ..))); + \from haystack, (indirect: *(haystack + (0 .. strlen{Old}(haystack)))), + (indirect: *(needle + (0 .. strlen{Old}(needle)))); */ extern char *strcasestr(char const *haystack, char const *needle); char *__fc_strtok_ptr; /*@ requires valid_string_delim: valid_read_string(delim); + requires + separation: + \separated(delim + (0 .. strlen(delim)), s + (0 .. strlen(s))); assigns *(s + (0 ..)), *(__fc_strtok_ptr + (0 ..)), \result, __fc_strtok_ptr; assigns *(s + (0 ..)) \from *(s + (0 ..)), (indirect: s), (indirect: __fc_strtok_ptr), - (indirect: *(delim + (0 ..))); + (indirect: *(delim + (0 .. strlen{Old}(delim)))); assigns *(__fc_strtok_ptr + (0 ..)) \from *(__fc_strtok_ptr + (0 ..)), (indirect: s), - (indirect: __fc_strtok_ptr), (indirect: *(delim + (0 ..))); + (indirect: __fc_strtok_ptr), + (indirect: *(delim + (0 .. strlen{Old}(delim)))); assigns \result \from s, __fc_strtok_ptr, (indirect: *(s + (0 ..))), (indirect: *(__fc_strtok_ptr + (0 ..))), - (indirect: *(delim + (0 ..))); + (indirect: *(delim + (0 .. strlen{Old}(delim)))); assigns __fc_strtok_ptr \from \old(__fc_strtok_ptr), s, (indirect: *(__fc_strtok_ptr + (0 ..))), - (indirect: *(delim + (0 ..))); + (indirect: *(delim + (0 .. strlen{Old}(delim)))); behavior new_str: assumes s_not_null: s ≢ \null; @@ -1727,40 +2121,50 @@ char *__fc_strtok_ptr; valid_string_s_or_delim_not_found: valid_string(s) ∨ (valid_read_string(s) ∧ - (∀ int i; + (∀ ℤ i; 0 ≤ i < strlen(delim) ⇒ ¬(strchr(s, *(delim + i)) ≡ \true))); ensures - result_subset: - \result ≡ \null ∨ \subset(\result, \old(s) + (0 ..)); - ensures ptr_subset: \subset(__fc_strtok_ptr, \old(s) + (0 ..)); + result_same_base: + \result ≡ \null ∨ + (valid_read_string(\result) ∧ + \base_addr(\result) ≡ \base_addr(\old(s))); + ensures ptr_valid_string: valid_read_string(__fc_strtok_ptr); + ensures + ptr_same_base: \base_addr(__fc_strtok_ptr) ≡ \base_addr(\old(s)); assigns __fc_strtok_ptr, *(s + (0 ..)), \result; assigns __fc_strtok_ptr - \from s, (indirect: *(s + (0 ..))), (indirect: *(delim + (0 ..))); + \from s, (indirect: *(s + (0 ..))), + (indirect: *(delim + (0 .. strlen{Old}(delim)))); assigns *(s + (0 ..)) - \from *(s + (0 ..)), (indirect: s), (indirect: *(delim + (0 ..))); + \from *(s + (0 ..)), (indirect: s), + (indirect: *(delim + (0 .. strlen{Old}(delim)))); assigns \result - \from s, (indirect: *(s + (0 ..))), (indirect: *(delim + (0 ..))); + \from s, (indirect: *(s + (0 ..))), + (indirect: *(delim + (0 .. strlen{Old}(delim)))); behavior resume_str: assumes s_null: s ≡ \null; requires not_first_call: __fc_strtok_ptr ≢ \null; ensures - result_subset: + result_same_base: \result ≡ \null ∨ - \subset(\result, \old(__fc_strtok_ptr) + (0 ..)); + (valid_read_string(\result) ∧ + \base_addr(\result) ≡ \base_addr(\old(__fc_strtok_ptr))); + ensures ptr_valid_string: valid_read_string(__fc_strtok_ptr); ensures - ptr_subset: \subset(__fc_strtok_ptr, \old(__fc_strtok_ptr) + (0 ..)); + ptr_same_base: + \base_addr(__fc_strtok_ptr) ≡ \base_addr(\old(__fc_strtok_ptr)); assigns *(__fc_strtok_ptr + (0 ..)), __fc_strtok_ptr, \result; assigns *(__fc_strtok_ptr + (0 ..)) \from *(__fc_strtok_ptr + (0 ..)), (indirect: __fc_strtok_ptr), - (indirect: *(delim + (0 ..))); + (indirect: *(delim + (0 .. strlen{Old}(delim)))); assigns __fc_strtok_ptr \from \old(__fc_strtok_ptr), (indirect: *(__fc_strtok_ptr + (0 ..))), - (indirect: *(delim + (0 ..))); + (indirect: *(delim + (0 .. strlen{Old}(delim)))); assigns \result \from __fc_strtok_ptr, (indirect: *(__fc_strtok_ptr + (0 ..))), - (indirect: *(delim + (0 ..))); + (indirect: *(delim + (0 .. strlen{Old}(delim)))); complete behaviors resume_str, new_str; disjoint behaviors resume_str, new_str; @@ -1768,20 +2172,27 @@ char *__fc_strtok_ptr; extern char *strtok(char * restrict s, char const * restrict delim); /*@ requires valid_string_delim: valid_read_string(delim); + requires + separation: + \separated( + delim + (0 .. strlen(delim)), s + (0 .. strlen(s)), + *saveptr + (0 ..) + ); requires valid_saveptr: \valid(saveptr); assigns *(s + (0 ..)), *(*saveptr + (0 ..)), \result, *saveptr; assigns *(s + (0 ..)) \from *(s + (0 ..)), (indirect: s), (indirect: *saveptr), - (indirect: *(delim + (0 ..))); + (indirect: *(delim + (0 .. strlen{Old}(delim)))); assigns *(*saveptr + (0 ..)) \from *(*saveptr + (0 ..)), (indirect: s), (indirect: *saveptr), - (indirect: *(delim + (0 ..))); + (indirect: *(delim + (0 .. strlen{Old}(delim)))); assigns \result \from s, *saveptr, (indirect: *(s + (0 ..))), - (indirect: *(*saveptr + (0 ..))), (indirect: *(delim + (0 ..))); + (indirect: *(*saveptr + (0 ..))), + (indirect: *(delim + (0 .. strlen{Old}(delim)))); assigns *saveptr \from \old(*saveptr), s, (indirect: *(*saveptr + (0 ..))), - (indirect: *(delim + (0 ..))); + (indirect: *(delim + (0 .. strlen{Old}(delim)))); behavior new_str: assumes s_not_null: s ≢ \null; @@ -1789,41 +2200,51 @@ extern char *strtok(char * restrict s, char const * restrict delim); valid_string_s_or_delim_not_found: valid_string(s) ∨ (valid_read_string(s) ∧ - (∀ int i; + (∀ ℤ i; 0 ≤ i < strlen(delim) ⇒ ¬(strchr(s, *(delim + i)) ≡ \true))); ensures - result_subset: - \result ≡ \null ∨ \subset(\result, \old(s) + (0 ..)); - ensures initialization: \initialized(\old(saveptr)); - ensures saveptr_subset: \subset(*\old(saveptr), \old(s) + (0 ..)); + result_same_base: + \result ≡ \null ∨ + (valid_read_string(\result) ∧ + \base_addr(\result) ≡ \base_addr(\old(s))); + ensures saveptr_valid_string: valid_read_string(*\old(saveptr)); + ensures + saveptr_same_base: \base_addr(*\old(saveptr)) ≡ \base_addr(\old(s)); assigns *saveptr, *(s + (0 ..)), \result; assigns *saveptr - \from s, (indirect: *(s + (0 ..))), (indirect: *(delim + (0 ..))); + \from s, (indirect: *(s + (0 ..))), + (indirect: *(delim + (0 .. strlen{Old}(delim)))); assigns *(s + (0 ..)) - \from *(s + (0 ..)), (indirect: s), (indirect: *(delim + (0 ..))); + \from *(s + (0 ..)), (indirect: s), + (indirect: *(delim + (0 .. strlen{Old}(delim)))); assigns \result - \from s, (indirect: *(s + (0 ..))), (indirect: *(delim + (0 ..))); + \from s, (indirect: *(s + (0 ..))), + (indirect: *(delim + (0 .. strlen{Old}(delim)))); behavior resume_str: assumes s_null: s ≡ \null; requires not_first_call: *saveptr ≢ \null; requires initialization: saveptr: \initialized(saveptr); ensures - result_subset: - \result ≡ \null ∨ \subset(\result, \old(*saveptr) + (0 ..)); + result_same_base: + \result ≡ \null ∨ + (valid_read_string(\result) ∧ + \base_addr(\result) ≡ \base_addr(\old(*saveptr))); + ensures saveptr_valid_string: valid_read_string(*\old(saveptr)); ensures - saveptr_subset: \subset(*\old(saveptr), \old(*saveptr) + (0 ..)); + saveptr_same_base: + \base_addr(*\old(saveptr)) ≡ \base_addr(\old(*saveptr)); assigns *(*saveptr + (0 ..)), *saveptr, \result; assigns *(*saveptr + (0 ..)) \from *(*saveptr + (0 ..)), (indirect: *saveptr), - (indirect: *(delim + (0 ..))); + (indirect: *(delim + (0 .. strlen{Old}(delim)))); assigns *saveptr \from \old(*saveptr), (indirect: *(*saveptr + (0 ..))), - (indirect: *(delim + (0 ..))); + (indirect: *(delim + (0 .. strlen{Old}(delim)))); assigns \result \from *saveptr, (indirect: *(*saveptr + (0 ..))), - (indirect: *(delim + (0 ..))); + (indirect: *(delim + (0 .. strlen{Old}(delim)))); complete behaviors resume_str, new_str; disjoint behaviors resume_str, new_str; @@ -1831,12 +2252,24 @@ extern char *strtok(char * restrict s, char const * restrict delim); extern char *strtok_r(char * restrict s, char const * restrict delim, char ** restrict saveptr); -/*@ requires - valid_string_stringp: \valid(stringp) ∧ valid_string(*stringp); - requires valid_string_delim: valid_read_string(delim); - assigns *stringp, \result; - assigns *stringp \from *(delim + (..)), *(*(stringp + (..))); - assigns \result \from *(delim + (..)), *(*(stringp + (..))); +/*@ requires valid_stringp: \valid(stringp); + assigns *(*(stringp + (0 ..))), \result; + assigns *(*(stringp + (0 ..))) + \from (indirect: *(delim + (0 .. strlen{Old}(delim)))), + *(*(stringp + (0 ..))); + assigns \result \from *stringp; + + behavior no_stringp: + assumes stringp_null: *stringp ≡ \null; + ensures result_null: \result ≡ \null; + + behavior valid_stringp: + assumes stringp_not_null: *stringp ≢ \null; + requires valid_string_stringp: valid_string(*stringp); + ensures + valid_result: + valid_string(\result) ∧ + \base_addr(\result) ≡ \base_addr(*\old(stringp)); */ extern char *strsep(char **stringp, char const *delim); @@ -1875,6 +2308,12 @@ char *strncat(char *dest, char const *src, size_t n); /*@ requires valid_string_src: valid_read_string(src); requires valid_string_dest: valid_string(dest); requires room_nstring: \valid(dest + (0 .. n - 1)); + requires + separation: + \separated( + dest + (0 .. \min(n - 1, strlen(dest) + strlen(src))), + src + (0 .. strnlen(src, n - 1)) + ); ensures bounded_result: \result ≡ strlen(\old(dest)) + strlen(\old(src)); assigns *(dest + (strlen{Old}(dest) .. n)), \result; @@ -1888,18 +2327,70 @@ extern size_t strlcat(char * restrict dest, char const * restrict src, /*@ requires valid_dest: \valid(dest + (0 .. n - 1)); requires valid_string_src: valid_read_string(src); + requires + separation: \separated(dest + (0 .. n - 1), src + (0 .. strlen(src))); assigns *(dest + (0 .. n - 1)), \result; assigns *(dest + (0 .. n - 1)) - \from (indirect: *(src + (0 ..))), (indirect: n); - assigns \result \from dest; + \from *(src + (0 .. strlen{Old}(src))), (indirect: n); + assigns \result \from (indirect: *(src + (0 .. strlen{Old}(src)))); */ extern size_t strxfrm(char * restrict dest, char const * restrict src, size_t n); +/*@ requires + valid_haystack: \valid_read((char *)haystack + (0 .. haystacklen - 1)); + requires + valid_needle: \valid_read((char *)needle + (0 .. needlelen - 1)); + ensures + result_null_or_valid: + \result ≡ \null ∨ \valid_read((char *)\result); + ensures + result_null_or_same_base: + \result ≡ \null ∨ + \base_addr(\result) ≡ \base_addr(\old(haystack)); + assigns \result; + assigns \result + \from haystack, + (indirect: *((char *)haystack + (0 .. haystacklen - 1))), + (indirect: *((char *)needle + (0 .. needlelen - 1))); + */ +extern void *memmem(void const *haystack, size_t haystacklen, + void const *needle, size_t needlelen); + char *strdup(char const *s); char *strndup(char const *s, size_t n); +/*@ requires valid_string_src: valid_read_nstring(src, n); + requires valid_dest: \valid(dest + (0 .. n - 1)); + requires separation: \separated(src + (0 .. n - 1), dest + (0 .. n - 1)); + ensures initialization: \initialized(\old(dest) + (0 .. \old(n) - 1)); + assigns *(dest + (0 .. n - 1)), \result; + assigns *(dest + (0 .. n - 1)) + \from *(src + (0 .. n - 1)), (indirect: n); + assigns \result + \from dest, (indirect: *(src + (0 .. n - 1))), (indirect: n); + + behavior src_is_a_string: + assumes src_has_nul: strlen(src) < n; + ensures valid_string_dest: valid_read_string(\old(dest)); + ensures same_contents: strcmp(\old(dest), \old(src)) ≡ 0; + ensures + dest_nul_padded: + ∀ ℤ i; + strlen(\old(src)) ≤ i < \old(n) ⇒ *(\old(dest) + i) ≡ 0; + ensures + result_points_to_nul: \result ≡ \old(dest) + strlen(\old(src)); + + behavior src_too_long: + assumes src_no_nul: ∀ ℤ i; 0 ≤ i < n ⇒ *(src + i) ≢ 0; + ensures + same_partial_contents: strncmp(\old(src), \old(dest), \old(n)) ≡ 0; + ensures result_points_to_end: \result ≡ \old(dest) + \old(n); + */ +extern char *stpncpy(char * restrict dest, char const * restrict src, + size_t n); + char __fc_strsignal[64]; char * const __fc_p_strsignal = __fc_strsignal; char *strsignal(int signum); @@ -1955,6 +2446,9 @@ error_t argz_replace(char **argz, size_t *argz_len, char const *str, char *argz_next(char const *argz, size_t argz_len, char const *entry); +/*@ assigns *(argz + (0 ..)); + assigns *(argz + (0 ..)) \from *(argz + (0 ..)), (indirect: len), sep; + */ void argz_stringify(char *argz, size_t len, int sep) { if (len > (size_t)0) @@ -1977,6 +2471,10 @@ void argz_stringify(char *argz, size_t len, int sep) return; } +/*@ assigns *to, *to_len; + assigns *to \from *(buf + (0 .. buf_len - 1)); + assigns *to_len \from *(buf + (0 .. buf_len - 1)); + */ static void str_append(char **to, size_t *to_len, char const *buf, size_t const buf_len) { @@ -1996,6 +2494,21 @@ static void str_append(char **to, size_t *to_len, char const *buf, return; } +/*@ assigns *(*argz + (0 ..)), *argz_len, *replace_count, \result; + assigns *(*argz + (0 ..)) + \from *(*argz + (0 ..)), *argz_len, *(str + (0 ..)), *(with + (0 ..)), + *replace_count; + assigns *argz_len + \from *(*argz + (0 ..)), *argz_len, *(str + (0 ..)), *(with + (0 ..)), + *replace_count; + assigns *replace_count + \from *(*argz + (0 ..)), *argz_len, *(str + (0 ..)), *(with + (0 ..)), + *replace_count; + assigns \result + \from *(*argz + (0 ..)), *argz_len, *(str + (0 ..)), *(with + (0 ..)), + *replace_count; + allocates *\old(argz); + */ error_t argz_replace(char **argz, size_t *argz_len, char const *str, char const *with, unsigned int *replace_count) { @@ -2075,6 +2588,9 @@ error_t argz_replace(char **argz, size_t *argz_len, char const *str, return er; } +/*@ assigns \result; + assigns \result \from *(argz + (0 ..)), argz_len, entry; + */ char *argz_next(char const *argz, size_t argz_len, char const *entry) { char *__retres; @@ -2102,6 +2618,18 @@ char *argz_next(char const *argz, size_t argz_len, char const *entry) return_label: return __retres; } +/*@ assigns *(*argz + (0 ..)), *argz_len, \result; + assigns *(*argz + (0 ..)) + \from *(*argz + (0 ..)), *argz_len, before, *(before + (0 ..)), + *(entry + (0 ..)); + assigns *argz_len + \from *(*argz + (0 ..)), *argz_len, before, *(before + (0 ..)), + *(entry + (0 ..)); + assigns \result + \from *(*argz + (0 ..)), *argz_len, before, *(before + (0 ..)), + *(entry + (0 ..)); + allocates *\old(argz); + */ error_t argz_insert(char **argz, size_t *argz_len, char *before, char const *entry) { @@ -2148,6 +2676,10 @@ error_t argz_insert(char **argz, size_t *argz_len, char *before, } } +/*@ assigns *(*(argv + (0 ..)) + (0 ..)); + assigns *(*(argv + (0 ..)) + (0 ..)) + \from *(argz + (0 .. len)), (indirect: len); + */ void argz_extract(char const *argz, size_t len, char **argv) { while (len > (size_t)0) { @@ -2163,6 +2695,12 @@ void argz_extract(char const *argz, size_t len, char **argv) return; } +/*@ assigns *(*argz + (0 ..)), *argz_len; + assigns *(*argz + (0 ..)) + \from *(*argz + (0 ..)), *argz_len, *(entry + (0 ..)); + assigns *argz_len \from *(*argz + (0 ..)), *argz_len, *(entry + (0 ..)); + frees *argz; + */ void argz_delete(char **argz, size_t *argz_len, char *entry) { if (entry) { @@ -2180,9 +2718,12 @@ void argz_delete(char **argz, size_t *argz_len, char *entry) return; } -/*@ assigns \result, *(*(argz + (..))); - assigns \result \from \nothing; - assigns *(*(argz + (..))) \from \nothing; +/*@ assigns *(*argz + (0 ..)), *len, \result; + assigns *(*argz + (0 ..)) + \from *(string + (0 ..)), delim, *(*argz + (0 ..)), *len; + assigns *len \from *(string + (0 ..)), delim, *(*argz + (0 ..)), *len; + assigns \result \from *(string + (0 ..)), delim, *(*argz + (0 ..)), *len; + allocates *\old(argz); */ error_t argz_create_sep(char const *string, int delim, char **argz, size_t *len) @@ -2239,6 +2780,12 @@ error_t argz_create_sep(char const *string, int delim, char **argz, return_label: return __retres; } +/*@ assigns *(*argz + (0 ..)), *len, \result; + assigns *(*argz + (0 ..)) \from *(*(argv + (0 ..)) + (0 ..)); + assigns *len \from *(*(argv + (0 ..)) + (0 ..)); + assigns \result \from *(*(argv + (0 ..)) + (0 ..)); + allocates *\old(argz); + */ error_t argz_create(char * const *argv, char **argz, size_t *len) { error_t __retres; @@ -2273,6 +2820,10 @@ error_t argz_create(char * const *argv, char **argz, size_t *len) return_label: return __retres; } +/*@ assigns \result; + assigns \result + \from (indirect: *(argz + (0 .. strlen{Old}(argz)))), (indirect: len); + */ size_t argz_count(char const *argz, size_t len) { size_t count = (size_t)0; @@ -2285,6 +2836,16 @@ size_t argz_count(char const *argz, size_t len) return count; } +/*@ assigns *(*argz + (0 ..)), *argz_len, \result; + assigns *(*argz + (0 ..)) + \from *(*argz + (0 ..)), *argz_len, *(buf + (0 ..)), buf_len; + assigns *argz_len + \from *(*argz + (0 ..)), *argz_len, *(buf + (0 ..)), buf_len; + assigns \result + \from (indirect: *(*argz + (0 ..))), (indirect: *argz_len), + (indirect: *(buf + (0 ..))), (indirect: buf_len); + allocates *\old(argz); + */ error_t argz_append(char **argz, size_t *argz_len, char const *buf, size_t buf_len) { @@ -2305,6 +2866,13 @@ error_t argz_append(char **argz, size_t *argz_len, char const *buf, return_label: return __retres; } +/*@ assigns *(*argz + (0 ..)), *argz_len, \result; + assigns *(*argz + (0 ..)) + \from *(*argz + (0 ..)), *argz_len, *(str + (0 ..)); + assigns *argz_len \from *(*argz + (0 ..)), *argz_len, *(str + (0 ..)); + assigns \result \from *(*argz + (0 ..)), *argz_len, *(str + (0 ..)); + allocates *\old(argz); + */ error_t argz_add(char **argz, size_t *argz_len, char const *str) { error_t tmp_0; @@ -2317,6 +2885,12 @@ error_t argz_add(char **argz, size_t *argz_len, char const *str) return tmp_0; } +/*@ assigns *(*argz + (0 ..)), *argz_len, \result; + assigns *(*argz + (0 ..)) \from *(string + (0 ..)), delim; + assigns *argz_len \from *(string + (0 ..)), delim; + assigns \result \from *(string + (0 ..)), delim; + allocates *\old(argz); + */ error_t argz_add_sep(char **argz, size_t *argz_len, char const *string, int delim) { @@ -2827,13 +3401,65 @@ int toupper(int c) } int __fc_errno = 0; -int fetestexcept(int excepts); +fenv_t volatile __fc_fenv_state; +/*@ assigns __fc_fenv_state, \result; + assigns __fc_fenv_state \from (indirect: excepts), __fc_fenv_state; + assigns \result \from (indirect: __fc_fenv_state), (indirect: excepts); + */ +extern int feclearexcept(int excepts); + +/*@ assigns *envp, \result; + assigns *envp \from __fc_fenv_state; + assigns \result \from (indirect: __fc_fenv_state); + */ +extern int fegetenv(fenv_t *envp); + +/*@ assigns *flagp, \result; + assigns *flagp \from __fc_fenv_state, excepts; + assigns \result \from (indirect: __fc_fenv_state), (indirect: excepts); + */ +extern int fegetexceptflag(fexcept_t *flagp, int excepts); + +/*@ assigns \result; + assigns \result \from __fc_fenv_state; */ +extern int fegetround(void); int feholdexcept(fenv_t *envp); +/*@ assigns \result; + assigns \result \from (indirect: __fc_fenv_state), (indirect: excepts); + */ +extern int feraiseexcept(int excepts); + int fesetenv(fenv_t const *envp); +/*@ assigns __fc_fenv_state, \result; + assigns __fc_fenv_state \from *flagp, excepts; + assigns \result + \from (indirect: __fc_fenv_state), (indirect: *flagp), + (indirect: excepts); + */ +extern int fesetexceptflag(fexcept_t const *flagp, int excepts); + +/*@ assigns __fc_fenv_state, \result; + assigns __fc_fenv_state + \from (indirect: __fc_fenv_state), (indirect: round); + assigns \result \from (indirect: __fc_fenv_state), (indirect: round); + */ +extern int fesetround(int round); + +int fetestexcept(int excepts); + +/*@ assigns __fc_fenv_state, \result; + assigns __fc_fenv_state \from __fc_fenv_state, *envp; + assigns \result \from (indirect: __fc_fenv_state), (indirect: *envp); + */ +extern int feupdateenv(fenv_t const *envp); + static int volatile fetestexcept___fc_random_fetestexcept; +/*@ assigns \result; + assigns \result \from (indirect: excepts), __fc_fenv_state; + */ int fetestexcept(int excepts) { int __retres; @@ -2841,7 +3467,11 @@ int fetestexcept(int excepts) return __retres; } -fenv_t volatile __fc_fenv_state; +/*@ assigns *envp, __fc_fenv_state, \result; + assigns *envp \from __fc_fenv_state; + assigns __fc_fenv_state \from __fc_fenv_state; + assigns \result \from (indirect: __fc_fenv_state); + */ int feholdexcept(fenv_t *envp) { int __retres; @@ -2850,6 +3480,10 @@ int feholdexcept(fenv_t *envp) return __retres; } +/*@ assigns __fc_fenv_state, \result; + assigns __fc_fenv_state \from *envp; + assigns \result \from (indirect: __fc_fenv_state), (indirect: *envp); + */ int fesetenv(fenv_t const *envp) { int __retres; @@ -2863,6 +3497,15 @@ int glob(char const *pattern, int flags, void globfree(glob_t *pglob); +/*@ assigns *pglob, \result; + assigns *pglob + \from (indirect: *(pattern + (0 .. strlen{Old}(pattern)))), flags, + (indirect: errfunc); + assigns \result + \from (indirect: *(pattern + (0 .. strlen{Old}(pattern)))), + (indirect: flags), (indirect: errfunc); + allocates \old(pglob)->gl_pathv; + */ int glob(char const *pattern, int flags, int (*errfunc)(char const *epath, int eerrno), glob_t *pglob) { @@ -2870,7 +3513,8 @@ int glob(char const *pattern, int flags, int tmp; unsigned int tmp_0; char **tmp_1; - int tmp_4; + int tmp_2; + int tmp_5; tmp = Frama_C_interval(0,10); pglob->gl_pathc = (unsigned int)tmp; if (flags & (1 << 3)) tmp_0 = pglob->gl_offs; else tmp_0 = (unsigned int)0; @@ -2925,18 +3569,20 @@ int glob(char const *pattern, int flags, } } *(pglob->gl_pathv + ((prev_len + reserve_offs) + pglob->gl_pathc)) = (char *)0; - tmp_4 = Frama_C_nondet(0,1); - if (tmp_4) { + tmp_2 = Frama_C_nondet(0,1 << 8); + pglob->gl_flags = flags | tmp_2; + tmp_5 = Frama_C_nondet(0,1); + if (tmp_5) { __retres = 0; goto return_label; } else { if (errfunc) { + int tmp_4; int tmp_3; - int tmp_2; - tmp_2 = Frama_C_interval(0,255); - tmp_3 = (*errfunc)("glob.c error path",tmp_2); - int res = tmp_3; + tmp_3 = Frama_C_interval(0,255); + tmp_4 = (*errfunc)("glob.c error path",tmp_3); + int res = tmp_4; if (res) { __retres = 2; goto return_label; @@ -2953,6 +3599,9 @@ int glob(char const *pattern, int flags, return_label: return __retres; } +/*@ assigns *pglob; + assigns *pglob \from *pglob; + frees pglob->gl_pathv; */ void globfree(glob_t *pglob) { if (pglob->gl_pathc > (unsigned int)0) free((void *)pglob->gl_pathv); @@ -4588,6 +5237,11 @@ int getaddrinfo(char const * restrict nodename, } struct __fc_gethostbyname __fc_ghbn; +/*@ assigns *(answer + (0 .. anslen - 1)), \result; + assigns *(answer + (0 .. anslen - 1)) + \from (indirect: anslen), Frama_C_entropy_source; + assigns \result \from (indirect: anslen), Frama_C_entropy_source; + */ static int res_search(char const *dname, int rec_class, int type, char *answer, int anslen) { @@ -4604,6 +5258,11 @@ static int res_search(char const *dname, int rec_class, int type, return tmp; } +/*@ assigns \result, *\result; + assigns \result \from *(name + (0 .. strlen{Old}(name))); + assigns *\result \from *(name + (0 .. strlen{Old}(name))); + allocates \result; + */ struct hostent *gethostbyname(char const *name) { struct hostent *__retres; @@ -4735,6 +5394,21 @@ int getpwuid_r(uid_t uid, struct passwd *pwd, char *buf, size_t buflen, struct passwd **result); static int __fc_getpw_init; +/*@ assigns __fc_getpw_init, __fc_getpw_pw_name[0 .. 63], + __fc_getpw_pw_passwd[0 .. 63], __fc_getpw_pw_gecos[0 .. 63], + __fc_getpw_pw_dir[0 .. 63], __fc_getpw_pw_shell[0 .. 63], + *(buf + (0 .. buflen - 1)), *pwd, *result, \result; + assigns __fc_getpw_init \from __fc_pwd; + assigns __fc_getpw_pw_name[0 .. 63] \from __fc_pwd; + assigns __fc_getpw_pw_passwd[0 .. 63] \from __fc_pwd; + assigns __fc_getpw_pw_gecos[0 .. 63] \from __fc_pwd; + assigns __fc_getpw_pw_dir[0 .. 63] \from __fc_pwd; + assigns __fc_getpw_pw_shell[0 .. 63] \from __fc_pwd; + assigns *(buf + (0 .. buflen - 1)) \from __fc_pwd; + assigns *pwd \from __fc_pwd; + assigns *result \from __fc_pwd; + assigns \result \from __fc_pwd; + */ static int __fc_getpw_r(struct passwd *pwd, char *buf, size_t buflen, struct passwd **result) { @@ -5517,17 +6191,22 @@ extern wchar_t *fgetws(wchar_t * restrict ws, int n, FILE * restrict stream); */ extern int wcscasecmp(wchar_t const *ws1, wchar_t const *ws2); +wchar_t *wcsdup(wchar_t const *ws); + +void __fc_atomic_init_marker(void *obj, unsigned long long value); + void atomic_thread_fence(memory_order order); void atomic_signal_fence(memory_order order); -_Bool __fc_atomic_is_lock_free(void *obj); +_Bool __fc_atomic_is_lock_free(void *obj, size_t obj_size); -void __fc_atomic_store_marker(void *object, unsigned long long desired); +void __fc_atomic_store_marker(void *object, unsigned long long desired, + size_t obj_size); void __fc_atomic_store_explicit_marker(void *object, unsigned long long desired, - memory_order order); + memory_order order, size_t obj_size); unsigned long long __fc_atomic_load(void *obj, size_t obj_size); @@ -5621,22 +6300,28 @@ void atomic_flag_clear(atomic_flag volatile *object); void atomic_flag_clear_explicit(atomic_flag volatile *object, memory_order order); +/*@ assigns \nothing; */ void __fc_atomic_init_marker(void *obj, unsigned long long value) { return; } +/*@ assigns \nothing; */ void atomic_thread_fence(memory_order order) { return; } +/*@ assigns \nothing; */ void atomic_signal_fence(memory_order order) { return; } -_Bool __fc_atomic_is_lock_free(void *obj) +/*@ assigns \result; + assigns \result \from (indirect: *((char *)obj + (0 .. obj_size - 1))); + */ +_Bool __fc_atomic_is_lock_free(void *obj, size_t obj_size) { _Bool __retres; int tmp; @@ -5645,18 +6330,30 @@ _Bool __fc_atomic_is_lock_free(void *obj) return __retres; } -void __fc_atomic_store_marker(void *object, unsigned long long desired) +/*@ assigns *((char *)object + (0 .. obj_size - 1)); + assigns *((char *)object + (0 .. obj_size - 1)) \from desired; + */ +void __fc_atomic_store_marker(void *object, unsigned long long desired, + size_t obj_size) { return; } +/*@ assigns *((char *)object + (0 .. obj_size - 1)); + assigns *((char *)object + (0 .. obj_size - 1)) + \from desired, (indirect: order); + */ void __fc_atomic_store_explicit_marker(void *object, unsigned long long desired, - memory_order order) + memory_order order, size_t obj_size) { return; } +/*@ assigns \result; + assigns \result + \from *((char *)obj + (0 .. obj_size - 1)), (indirect: obj_size); + */ unsigned long long __fc_atomic_load(void *obj, size_t obj_size) { unsigned long long __retres; @@ -5684,11 +6381,16 @@ unsigned long long __fc_atomic_load(void *obj, size_t obj_size) __retres = *((atomic_ullong volatile *)obj); goto return_label; } - else __FC_assert(0 != 0,"FRAMAC_SHARE/libc/stdatomic.c",50,"0"); + else __FC_assert(0 != 0,"FRAMAC_SHARE/libc/stdatomic.c",53,"0"); __retres = (unsigned long long)0; return_label: return __retres; } +/*@ assigns \result; + assigns \result + \from *((char *)object + (0 .. obj_size - 1)), (indirect: order), + (indirect: obj_size); + */ unsigned long long __fc_atomic_load_explicit(void *object, memory_order order, size_t obj_size) @@ -5698,6 +6400,14 @@ unsigned long long __fc_atomic_load_explicit(void *object, return tmp; } +/*@ assigns \result, *((char *)obj + (0 .. obj_size - 1)); + assigns \result + \from *((char *)obj + (0 .. obj_size - 1)), desired, + (indirect: obj_size); + assigns *((char *)obj + (0 .. obj_size - 1)) + \from *((char *)obj + (0 .. obj_size - 1)), desired, + (indirect: obj_size); + */ unsigned long long __fc_atomic_exchange(void *obj, unsigned long long desired, size_t obj_size) @@ -5727,10 +6437,18 @@ unsigned long long __fc_atomic_exchange(void *obj, r = *((atomic_ullong volatile *)obj); *((atomic_ullong volatile *)obj) = desired; } - else __FC_assert(0 != 0,"FRAMAC_SHARE/libc/stdatomic.c",79,"0"); + else __FC_assert(0 != 0,"FRAMAC_SHARE/libc/stdatomic.c",82,"0"); return r; } +/*@ assigns \result, *((char *)object + (0 .. obj_size - 1)); + assigns \result + \from *((char *)object + (0 .. obj_size - 1)), desired, + (indirect: order), (indirect: obj_size); + assigns *((char *)object + (0 .. obj_size - 1)) + \from *((char *)object + (0 .. obj_size - 1)), desired, + (indirect: order), (indirect: obj_size); + */ unsigned long long __fc_atomic_exchange_explicit(void *object, unsigned long long desired, memory_order order, @@ -5741,6 +6459,21 @@ unsigned long long __fc_atomic_exchange_explicit(void *object, return tmp; } +/*@ assigns *((char *)object + (0 .. obj_size - 1)), + *((char *)expected + (0 .. obj_size - 1)), \result; + assigns *((char *)object + (0 .. obj_size - 1)) + \from *((char *)object + (0 .. obj_size - 1)), + *((char *)expected + (0 .. obj_size - 1)), desired, + (indirect: obj_size); + assigns *((char *)expected + (0 .. obj_size - 1)) + \from *((char *)object + (0 .. obj_size - 1)), + *((char *)expected + (0 .. obj_size - 1)), desired, + (indirect: obj_size); + assigns \result + \from (indirect: *((char *)object + (0 .. obj_size - 1))), + (indirect: *((char *)expected + (0 .. obj_size - 1))), + (indirect: obj_size); + */ _Bool __fc_atomic_compare_exchange_strong(void *object, void *expected, unsigned long long desired, size_t obj_size) @@ -5753,6 +6486,21 @@ _Bool __fc_atomic_compare_exchange_strong(void *object, void *expected, return __retres; } +/*@ assigns *((char *)object + (0 .. obj_size - 1)), + *((char *)expected + (0 .. obj_size - 1)), \result; + assigns *((char *)object + (0 .. obj_size - 1)) + \from *((char *)object + (0 .. obj_size - 1)), + *((char *)expected + (0 .. obj_size - 1)), desired, + (indirect: success), (indirect: failure), (indirect: obj_size); + assigns *((char *)expected + (0 .. obj_size - 1)) + \from *((char *)object + (0 .. obj_size - 1)), + *((char *)expected + (0 .. obj_size - 1)), desired, + (indirect: success), (indirect: failure), (indirect: obj_size); + assigns \result + \from (indirect: *((char *)object + (0 .. obj_size - 1))), + (indirect: *((char *)expected + (0 .. obj_size - 1))), + (indirect: success), (indirect: failure), (indirect: obj_size); + */ _Bool __fc_atomic_compare_exchange_strong_explicit(void *object, void *expected, unsigned long long desired, @@ -5765,6 +6513,21 @@ _Bool __fc_atomic_compare_exchange_strong_explicit(void *object, return tmp; } +/*@ assigns *((char *)object + (0 .. obj_size - 1)), + *((char *)expected + (0 .. obj_size - 1)), \result; + assigns *((char *)object + (0 .. obj_size - 1)) + \from *((char *)object + (0 .. obj_size - 1)), + *((char *)expected + (0 .. obj_size - 1)), desired, + (indirect: obj_size); + assigns *((char *)expected + (0 .. obj_size - 1)) + \from *((char *)object + (0 .. obj_size - 1)), + *((char *)expected + (0 .. obj_size - 1)), desired, + (indirect: obj_size); + assigns \result + \from (indirect: *((char *)object + (0 .. obj_size - 1))), + (indirect: *((char *)expected + (0 .. obj_size - 1))), + (indirect: desired), (indirect: obj_size); + */ _Bool __fc_atomic_compare_exchange_weak(void *object, void *expected, unsigned long long desired, size_t obj_size) @@ -5774,6 +6537,22 @@ _Bool __fc_atomic_compare_exchange_weak(void *object, void *expected, return tmp; } +/*@ assigns *((char *)object + (0 .. obj_size - 1)), + *((char *)expected + (0 .. obj_size - 1)), \result; + assigns *((char *)object + (0 .. obj_size - 1)) + \from *((char *)object + (0 .. obj_size - 1)), + *((char *)expected + (0 .. obj_size - 1)), desired, + (indirect: success), (indirect: failure), (indirect: obj_size); + assigns *((char *)expected + (0 .. obj_size - 1)) + \from *((char *)object + (0 .. obj_size - 1)), + *((char *)expected + (0 .. obj_size - 1)), desired, + (indirect: success), (indirect: failure), (indirect: obj_size); + assigns \result + \from (indirect: *((char *)object + (0 .. obj_size - 1))), + (indirect: *((char *)expected + (0 .. obj_size - 1))), + (indirect: desired), (indirect: success), (indirect: failure), + (indirect: obj_size); + */ _Bool __fc_atomic_compare_exchange_weak_explicit(void *object, void *expected, unsigned long long desired, @@ -5786,6 +6565,14 @@ _Bool __fc_atomic_compare_exchange_weak_explicit(void *object, return tmp; } +/*@ assigns *((char *)obj + (0 .. obj_size - 1)), \result; + assigns *((char *)obj + (0 .. obj_size - 1)) + \from *((char *)obj + (0 .. obj_size - 1)), operand, + (indirect: obj_size); + assigns \result + \from *((char *)obj + (0 .. obj_size - 1)), operand, + (indirect: obj_size); + */ unsigned long long __fc_atomic_fetch_add(void *obj, unsigned long long operand, size_t obj_size) @@ -5815,10 +6602,18 @@ unsigned long long __fc_atomic_fetch_add(void *obj, r = *((atomic_ullong volatile *)obj); *((atomic_ullong volatile *)obj) += operand; } - else __FC_assert(0 != 0,"FRAMAC_SHARE/libc/stdatomic.c",139,"0"); + else __FC_assert(0 != 0,"FRAMAC_SHARE/libc/stdatomic.c",142,"0"); return r; } +/*@ assigns *((char *)obj + (0 .. obj_size - 1)), \result; + assigns *((char *)obj + (0 .. obj_size - 1)) + \from *((char *)obj + (0 .. obj_size - 1)), operand, (indirect: order), + (indirect: obj_size); + assigns \result + \from *((char *)obj + (0 .. obj_size - 1)), operand, (indirect: order), + (indirect: obj_size); + */ unsigned long long __fc_atomic_fetch_add_explicit(void *obj, unsigned long long operand, memory_order order, @@ -5829,6 +6624,14 @@ unsigned long long __fc_atomic_fetch_add_explicit(void *obj, return tmp; } +/*@ assigns *((char *)obj + (0 .. obj_size - 1)), \result; + assigns *((char *)obj + (0 .. obj_size - 1)) + \from *((char *)obj + (0 .. obj_size - 1)), operand, + (indirect: obj_size); + assigns \result + \from *((char *)obj + (0 .. obj_size - 1)), operand, + (indirect: obj_size); + */ unsigned long long __fc_atomic_fetch_sub(void *obj, unsigned long long operand, size_t obj_size) @@ -5858,10 +6661,18 @@ unsigned long long __fc_atomic_fetch_sub(void *obj, r = *((atomic_ullong volatile *)obj); *((atomic_ullong volatile *)obj) -= operand; } - else __FC_assert(0 != 0,"FRAMAC_SHARE/libc/stdatomic.c",163,"0"); + else __FC_assert(0 != 0,"FRAMAC_SHARE/libc/stdatomic.c",166,"0"); return r; } +/*@ assigns *((char *)obj + (0 .. obj_size - 1)), \result; + assigns *((char *)obj + (0 .. obj_size - 1)) + \from *((char *)obj + (0 .. obj_size - 1)), operand, (indirect: order), + (indirect: obj_size); + assigns \result + \from *((char *)obj + (0 .. obj_size - 1)), operand, (indirect: order), + (indirect: obj_size); + */ unsigned long long __fc_atomic_fetch_sub_explicit(void *obj, unsigned long long operand, memory_order order, @@ -5872,6 +6683,14 @@ unsigned long long __fc_atomic_fetch_sub_explicit(void *obj, return tmp; } +/*@ assigns *((char *)obj + (0 .. obj_size - 1)), \result; + assigns *((char *)obj + (0 .. obj_size - 1)) + \from *((char *)obj + (0 .. obj_size - 1)), operand, + (indirect: obj_size); + assigns \result + \from *((char *)obj + (0 .. obj_size - 1)), operand, + (indirect: obj_size); + */ unsigned long long __fc_atomic_fetch_or(void *obj, unsigned long long operand, size_t obj_size) @@ -5901,10 +6720,18 @@ unsigned long long __fc_atomic_fetch_or(void *obj, r = *((atomic_ullong volatile *)obj); *((atomic_ullong volatile *)obj) |= operand; } - else __FC_assert(0 != 0,"FRAMAC_SHARE/libc/stdatomic.c",187,"0"); + else __FC_assert(0 != 0,"FRAMAC_SHARE/libc/stdatomic.c",190,"0"); return r; } +/*@ assigns *((char *)obj + (0 .. obj_size - 1)), \result; + assigns *((char *)obj + (0 .. obj_size - 1)) + \from *((char *)obj + (0 .. obj_size - 1)), operand, (indirect: order), + (indirect: obj_size); + assigns \result + \from *((char *)obj + (0 .. obj_size - 1)), operand, (indirect: order), + (indirect: obj_size); + */ unsigned long long __fc_atomic_fetch_or_explicit(void *obj, unsigned long long operand, memory_order order, @@ -5915,6 +6742,14 @@ unsigned long long __fc_atomic_fetch_or_explicit(void *obj, return tmp; } +/*@ assigns *((char *)obj + (0 .. obj_size - 1)), \result; + assigns *((char *)obj + (0 .. obj_size - 1)) + \from *((char *)obj + (0 .. obj_size - 1)), operand, + (indirect: obj_size); + assigns \result + \from *((char *)obj + (0 .. obj_size - 1)), operand, + (indirect: obj_size); + */ unsigned long long __fc_atomic_fetch_xor(void *obj, unsigned long long operand, size_t obj_size) @@ -5944,10 +6779,18 @@ unsigned long long __fc_atomic_fetch_xor(void *obj, r = *((atomic_ullong volatile *)obj); *((atomic_ullong volatile *)obj) ^= operand; } - else __FC_assert(0 != 0,"FRAMAC_SHARE/libc/stdatomic.c",217,"0"); + else __FC_assert(0 != 0,"FRAMAC_SHARE/libc/stdatomic.c",220,"0"); return r; } +/*@ assigns *((char *)obj + (0 .. obj_size - 1)), \result; + assigns *((char *)obj + (0 .. obj_size - 1)) + \from *((char *)obj + (0 .. obj_size - 1)), operand, (indirect: order), + (indirect: obj_size); + assigns \result + \from *((char *)obj + (0 .. obj_size - 1)), operand, (indirect: order), + (indirect: obj_size); + */ unsigned long long __fc_atomic_fetch_xor_explicit(void *obj, unsigned long long operand, memory_order order, @@ -5958,6 +6801,14 @@ unsigned long long __fc_atomic_fetch_xor_explicit(void *obj, return tmp; } +/*@ assigns *((char *)obj + (0 .. obj_size - 1)), \result; + assigns *((char *)obj + (0 .. obj_size - 1)) + \from *((char *)obj + (0 .. obj_size - 1)), operand, + (indirect: obj_size); + assigns \result + \from *((char *)obj + (0 .. obj_size - 1)), operand, + (indirect: obj_size); + */ unsigned long long __fc_atomic_fetch_and(void *obj, unsigned long long operand, size_t obj_size) @@ -5987,10 +6838,18 @@ unsigned long long __fc_atomic_fetch_and(void *obj, r = *((atomic_ullong volatile *)obj); *((atomic_ullong volatile *)obj) &= operand; } - else __FC_assert(0 != 0,"FRAMAC_SHARE/libc/stdatomic.c",247,"0"); + else __FC_assert(0 != 0,"FRAMAC_SHARE/libc/stdatomic.c",250,"0"); return r; } +/*@ assigns *((char *)obj + (0 .. obj_size - 1)), \result; + assigns *((char *)obj + (0 .. obj_size - 1)) + \from *((char *)obj + (0 .. obj_size - 1)), operand, (indirect: order), + (indirect: obj_size); + assigns \result + \from *((char *)obj + (0 .. obj_size - 1)), operand, (indirect: order), + (indirect: obj_size); + */ unsigned long long __fc_atomic_fetch_and_explicit(void *obj, unsigned long long operand, memory_order order, @@ -6001,6 +6860,10 @@ unsigned long long __fc_atomic_fetch_and_explicit(void *obj, return tmp; } +/*@ assigns *object, \result; + assigns *object \from *object; + assigns \result \from (indirect: object); + */ _Bool atomic_flag_test_and_set(atomic_flag volatile *object) { _Bool r = (_Bool)((int)object->__fc_val != 0); @@ -6008,6 +6871,10 @@ _Bool atomic_flag_test_and_set(atomic_flag volatile *object) return r; } +/*@ assigns *object, \result; + assigns *object \from *object, (indirect: order); + assigns \result \from (indirect: object), (indirect: order); + */ _Bool atomic_flag_test_and_set_explicit(atomic_flag volatile *object, memory_order order) { @@ -6016,12 +6883,16 @@ _Bool atomic_flag_test_and_set_explicit(atomic_flag volatile *object, return r; } +/*@ assigns *object; + assigns *object \from *object; */ void atomic_flag_clear(atomic_flag volatile *object) { object->__fc_val = (unsigned char)0; return; } +/*@ assigns *object; + assigns *object \from *object, (indirect: order); */ void atomic_flag_clear_explicit(atomic_flag volatile *object, memory_order order) { @@ -6179,18 +7050,13 @@ extern int setvbuf(FILE * restrict stream, char * restrict buf, int mode, extern int vfprintf(FILE * restrict stream, char const * restrict format, va_list arg); -/*@ assigns *stream; - assigns *stream \from *(format + (..)), *stream; */ -extern int vfscanf(FILE * restrict stream, char const * restrict format, - va_list arg); +int vfscanf(FILE * restrict stream, char const * restrict format, va_list arg); /*@ assigns *__fc_stdout; assigns *__fc_stdout \from arg; */ extern int vprintf(char const * restrict format, va_list arg); -/*@ assigns *__fc_stdin; - assigns *__fc_stdin \from *(format + (..)); */ -extern int vscanf(char const * restrict format, va_list arg); +int vscanf(char const * restrict format, va_list arg); /*@ assigns *(s + (0 .. n - 1)); assigns *(s + (0 .. n - 1)) \from *(format + (..)), arg; @@ -6515,6 +7381,8 @@ FILE *fmemopen(void * restrict buf, size_t size, char const * restrict mode); int asprintf(char **strp, char const *fmt, void * const *__va_params); +int vasprintf(char **strp, char const *fmt, va_list ap); + FILE __fc_initial_stdout = {.__fc_FILE_id = (unsigned int)1, .__fc_FILE_data = 0U}; FILE *__fc_stdout = & __fc_initial_stdout; @@ -6524,7 +7392,10 @@ FILE *__fc_stderr = & __fc_initial_stderr; FILE __fc_initial_stdin = {.__fc_FILE_id = (unsigned int)0, .__fc_FILE_data = 0U}; FILE *__fc_stdin = & __fc_initial_stdin; -/*@ requires valid_mode: valid_read_string(mode); */ +/*@ requires valid_mode: valid_read_string(mode); + assigns \result; + assigns \result \from *(mode + (0 .. strlen{Old}(mode))); + */ static _Bool is_valid_mode(char const *mode) { _Bool __retres; @@ -6561,6 +7432,12 @@ static _Bool is_valid_mode(char const *mode) return_label: return __retres; } +/*@ assigns *(*lineptr + (0 .. *n - 1)), *n, *stream, \result; + assigns *(*lineptr + (0 .. *n - 1)) \from *stream; + assigns *n \from *stream; + assigns *stream \from *stream; + assigns \result \from *stream; + */ ssize_t getline(char **lineptr, size_t *n, FILE *stream) { ssize_t __retres; @@ -6660,21 +7537,19 @@ ssize_t getline(char **lineptr, size_t *n, FILE *stream) /*@ requires valid_strp: \valid(strp); requires valid_fmt: valid_read_string(fmt); - ensures result_error_or_written_byes: \result ≡ -1 ∨ \result ≥ 0; + ensures result_error_or_written_bytes: \result ≡ -1 ∨ \result ≥ 0; assigns __fc_heap_status, \result, *strp; assigns __fc_heap_status - \from (indirect: *(fmt + (0 ..))), __fc_heap_status; + \from (indirect: *(fmt + (0 ..))), (indirect: ap), __fc_heap_status; assigns \result \from (indirect: *(fmt + (0 ..))), (indirect: __fc_heap_status); - assigns *strp \from *(fmt + (0 ..)), (indirect: __fc_heap_status); + assigns *strp \from *(fmt + (0 ..)), ap, (indirect: __fc_heap_status); allocates *\old(strp); */ -int asprintf(char **strp, char const *fmt, void * const *__va_params) +int vasprintf(char **strp, char const *fmt, va_list ap) { int __retres; - va_list args; int tmp; - args = __va_params; tmp = Frama_C_interval(1,256); size_t len = (size_t)tmp; *strp = (char *)malloc(len); @@ -6688,6 +7563,25 @@ int asprintf(char **strp, char const *fmt, void * const *__va_params) return_label: return __retres; } +/*@ requires valid_strp: \valid(strp); + requires valid_fmt: valid_read_string(fmt); + ensures result_error_or_written_bytes: \result ≡ -1 ∨ \result ≥ 0; + assigns __fc_heap_status, \result, *strp; + assigns __fc_heap_status + \from (indirect: *(fmt + (0 ..))), __fc_heap_status; + assigns \result + \from (indirect: *(fmt + (0 ..))), (indirect: __fc_heap_status); + assigns *strp \from *(fmt + (0 ..)), (indirect: __fc_heap_status); + allocates *\old(strp); + */ +int asprintf(char **strp, char const *fmt, void * const *__va_params) +{ + va_list args; + args = __va_params; + int res = vasprintf(strp,fmt,args); + return res; +} + /*@ requires valid_stream: \valid(stream); requires room_s: \valid(s + (0 .. size - 1)); ensures result_null_or_same: \result ≡ \null ∨ \result ≡ \old(s); @@ -6856,6 +7750,390 @@ FILE *fmemopen(void * restrict buf, size_t size, char const * restrict mode) return_label: return __retres; } +/*@ assigns *stream; + assigns *stream \from *(format + (..)), *stream; */ +int vfscanf(FILE * restrict stream, char const * restrict format, va_list arg) +{ + int __retres; + char const *p = format; + char conversion_counter = (char)0; + while (*p) { + if ((int)*p == '%') { + enum length_modifier lm = NONE; + char asterisks = (char)0; + p ++; + if ((int)*p == '%') break; + while (1) { + switch ((int)*p) { + case '-': case '+': case ' ': case '#': case '0': break; + default: goto post_flags; + } + p ++; + } + post_flags: + while (1) { + if ((int)*p >= '0') { + if (! ((int)*p <= '9')) break; + } + else break; + p ++; + } + if ((int)*p == '*') { + asterisks = (char)((int)asterisks + 1); + p ++; + } + if ((int)*p == '.') { + p ++; + while (1) { + if ((int)*p >= '0') { + if (! ((int)*p <= '9')) break; + } + else break; + p ++; + } + if ((int)*p == '*') { + asterisks = (char)((int)asterisks + 1); + p ++; + } + } + switch ((int)*p) { + case 'h': p ++; + if ((int)*p == 'h') { + p ++; + lm = HH; + } + else lm = H; + break; + case 'l': p ++; + if ((int)*p == 'l') { + p ++; + lm = LL; + } + else lm = L; + break; + case 'j': p ++; + lm = J; + break; + case 'z': p ++; + lm = Z; + break; + case 't': p ++; + lm = T; + break; + case 'L': p ++; + lm = UPPER_L; + break; + } + while (asterisks) { + int tmp; + tmp = *((int *)*arg); + arg ++; + int ignored = tmp; + int tmp_2 = ignored; + asterisks = (char)((int)asterisks - 1); + } + switch ((int)*p) { + case 'd': case 'i': ; + switch (lm) { + int *tmp_0; + char *tmp_1; + short *tmp_2_0; + long *tmp_3; + long long *tmp_4; + intmax_t *tmp_5; + size_t *tmp_6; + ptrdiff_t *tmp_7; + case NONE: + { /* sequence */ + tmp_0 = *((int **)*arg); + arg ++; + *tmp_0 = Frama_C_interval(-2147483647 - 1,2147483647); + } + break; + case HH: + { /* sequence */ + tmp_1 = *((char **)*arg); + arg ++; + *tmp_1 = Frama_C_char_interval((char)(-127 - 1),(char)127); + } + break; + case H: + { /* sequence */ + tmp_2_0 = *((short **)*arg); + arg ++; + *tmp_2_0 = Frama_C_short_interval((short)(-32767 - 1), + (short)32767); + } + break; + case L: + { /* sequence */ + tmp_3 = *((long **)*arg); + arg ++; + *tmp_3 = Frama_C_long_interval(-2147483647L - 1L,2147483647L); + } + break; + case LL: case UPPER_L: + { /* sequence */ + tmp_4 = *((long long **)*arg); + arg ++; + *tmp_4 = Frama_C_long_long_interval(-9223372036854775807LL - 1LL, + 9223372036854775807LL); + } + break; + case J: + { /* sequence */ + tmp_5 = *((intmax_t **)*arg); + arg ++; + *tmp_5 = Frama_C_intmax_t_interval(-9223372036854775807LL - 1LL, + 9223372036854775807LL); + } + break; + case Z: + { /* sequence */ + tmp_6 = *((size_t **)*arg); + arg ++; + *tmp_6 = Frama_C_size_t_interval((size_t)0,4294967295U); + } + break; + case T: + { /* sequence */ + tmp_7 = *((ptrdiff_t **)*arg); + arg ++; + *tmp_7 = Frama_C_ptrdiff_t_interval(-2147483647 - 1,2147483647); + } + break; + } + break; + case 'o': case 'u': case 'x': case 'X': ; + switch (lm) { + unsigned int *tmp_8; + unsigned char *tmp_9; + unsigned short *tmp_10; + unsigned long *tmp_11; + unsigned long long *tmp_12; + uintmax_t *tmp_13; + size_t *tmp_14; + ptrdiff_t *tmp_15; + case NONE: + { /* sequence */ + tmp_8 = *((unsigned int **)*arg); + arg ++; + *tmp_8 = Frama_C_unsigned_int_interval((unsigned int)0, + 4294967295U); + } + break; + case HH: + { /* sequence */ + tmp_9 = *((unsigned char **)*arg); + arg ++; + *tmp_9 = Frama_C_unsigned_char_interval((unsigned char)0, + (unsigned char)255U); + } + break; + case H: + { /* sequence */ + tmp_10 = *((unsigned short **)*arg); + arg ++; + *tmp_10 = Frama_C_unsigned_short_interval((unsigned short)0, + (unsigned short)65535U); + } + break; + case L: + { /* sequence */ + tmp_11 = *((unsigned long **)*arg); + arg ++; + *tmp_11 = Frama_C_unsigned_long_interval((unsigned long)0, + 4294967295UL); + } + break; + case LL: case UPPER_L: + { /* sequence */ + tmp_12 = *((unsigned long long **)*arg); + arg ++; + *tmp_12 = Frama_C_unsigned_long_long_interval((unsigned long long)0, + 18446744073709551615ULL); + } + break; + case J: + { /* sequence */ + tmp_13 = *((uintmax_t **)*arg); + arg ++; + *tmp_13 = Frama_C_uintmax_t_interval((uintmax_t)0, + 18446744073709551615ULL); + } + break; + case Z: + { /* sequence */ + tmp_14 = *((size_t **)*arg); + arg ++; + *tmp_14 = Frama_C_size_t_interval((size_t)0,4294967295U); + } + break; + case T: + { /* sequence */ + tmp_15 = *((ptrdiff_t **)*arg); + arg ++; + *tmp_15 = Frama_C_ptrdiff_t_interval(-2147483647 - 1,2147483647); + } + break; + } + break; + case 'f': case 'F': case 'e': case 'E': case 'g': case 'G': case 'a': + case 'A': + ; + switch (lm) { + double *tmp_16; + case NONE: case L: + { /* sequence */ + tmp_16 = *((double **)*arg); + arg ++; + *tmp_16 = Frama_C_double_interval(- 0x1.fffffffffffffp+1023, + 0x1.fffffffffffffp+1023); + } + break; + case UPPER_L: + { + long double volatile vld; + long double *tmp_17; + tmp_17 = *((long double **)*arg); + arg ++; + *tmp_17 = vld; + } + break; + default: /*@ assert invalid_scanf_specifier: \false; */ ; + } + break; + case 'c': ; + switch (lm) { + char *tmp_18; + wint_t *tmp_19; + case NONE: + { /* sequence */ + tmp_18 = *((char **)*arg); + arg ++; + *tmp_18 = Frama_C_char_interval((char)(-127 - 1),(char)127); + } + break; + case L: + { /* sequence */ + tmp_19 = *((wint_t **)*arg); + arg ++; + *tmp_19 = Frama_C_wint_t_interval((wint_t)0,4294967295U); + } + default: /*@ assert invalid_scanf_specifier: \false; */ ; + } + break; + case 's': ; + switch (lm) { + size_t tmp_20; + char *tmp_21; + size_t tmp_22; + wchar_t *tmp_23; + case NONE: + { /* sequence */ + tmp_20 = Frama_C_size_t_interval((size_t)0,4294967295U); + tmp_21 = *((char **)*arg); + arg ++; + } + Frama_C_make_unknown(tmp_21,tmp_20); + break; + case L: + { /* sequence */ + tmp_22 = Frama_C_size_t_interval((size_t)0, + 4294967295U / sizeof(wchar_t)); + tmp_23 = *((wchar_t **)*arg); + arg ++; + } + Frama_C_make_unknown_wchar(tmp_23,tmp_22); + default: /*@ assert invalid_scanf_specifier: \false; */ ; + } + break; + case 'n': ; + switch (lm) { + int *tmp_24; + char *tmp_25; + short *tmp_26; + long *tmp_27; + long long *tmp_28; + intmax_t *tmp_29; + size_t *tmp_30; + ptrdiff_t *tmp_31; + case NONE: + { /* sequence */ + tmp_24 = *((int **)*arg); + arg ++; + *tmp_24 = (int)conversion_counter; + } + break; + case HH: + { /* sequence */ + tmp_25 = *((char **)*arg); + arg ++; + *tmp_25 = conversion_counter; + } + break; + case H: + { /* sequence */ + tmp_26 = *((short **)*arg); + arg ++; + *tmp_26 = (short)conversion_counter; + } + break; + case L: + { /* sequence */ + tmp_27 = *((long **)*arg); + arg ++; + *tmp_27 = (long)conversion_counter; + } + break; + case LL: case UPPER_L: + { /* sequence */ + tmp_28 = *((long long **)*arg); + arg ++; + *tmp_28 = (long long)conversion_counter; + } + break; + case J: + { /* sequence */ + tmp_29 = *((intmax_t **)*arg); + arg ++; + *tmp_29 = (intmax_t)conversion_counter; + } + break; + case Z: + { /* sequence */ + tmp_30 = *((size_t **)*arg); + arg ++; + *tmp_30 = (size_t)conversion_counter; + } + break; + case T: + { /* sequence */ + tmp_31 = *((ptrdiff_t **)*arg); + arg ++; + *tmp_31 = (ptrdiff_t)conversion_counter; + } + break; + } + break; + } + conversion_counter = (char)((int)conversion_counter + 1); + } + p ++; + } + __retres = (int)conversion_counter; + return __retres; +} + +/*@ assigns *__fc_stdin; + assigns *__fc_stdin \from *(format + (..)); */ +int vscanf(char const * restrict format, va_list arg) +{ + int tmp; + tmp = vfscanf(__fc_stdin,format,arg); + return tmp; +} + /*@ requires abs_representable: i > -2147483647 - 1; assigns \result; assigns \result \from i; @@ -6882,9 +8160,10 @@ int abs(int i) return_label: return __retres; } -/*@ requires valid_nptr: \valid_read(p); +/*@ requires valid_nptr: valid_read_string(p); assigns \result; - assigns \result \from (indirect: p), (indirect: *(p + (0 ..))); + assigns \result + \from (indirect: p), (indirect: *(p + (0 .. strlen{Old}(p)))); */ int atoi(char const *p) { @@ -6980,6 +8259,10 @@ void *calloc(size_t nmemb, size_t size) static char __fc_env_strings[64]; static char __fc_initenv_init; +/*@ assigns __fc_env_strings[0 .. 64 - 1], __fc_env[0 .. 4096 - 1]; + assigns __fc_env_strings[0 .. 64 - 1] \from Frama_C_entropy_source; + assigns __fc_env[0 .. 4096 - 1] \from Frama_C_entropy_source; + */ static void __fc_initenv(void) { if (! __fc_initenv_init) { @@ -7001,9 +8284,14 @@ static void __fc_initenv(void) } /*@ requires valid_name: valid_read_string(name); - ensures null_or_valid_result: \result ≡ \null ∨ \valid(\result); + ensures + null_or_valid_result: + \result ≡ \null ∨ + (\valid(\result) ∧ valid_read_string(\result)); assigns \result; - assigns \result \from __fc_env[0 ..], (indirect: name), *(name + (0 ..)); + assigns \result + \from __fc_env[0 ..], (indirect: name), + (indirect: *(name + (0 .. strlen{Old}(name)))); */ char *getenv(char const *name) { @@ -7047,6 +8335,7 @@ int putenv(char *string) tmp_1 = Frama_C_nondet(0,1); if (tmp_1) { int tmp_0; + __fc_errno = 12; tmp_0 = Frama_C_interval(-2147483647 - 1,2147483647); __retres = tmp_0; goto return_label; @@ -7061,15 +8350,69 @@ int putenv(char *string) /*@ requires valid_name: valid_read_string(name); requires valid_value: valid_read_string(value); ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; - assigns \result, __fc_env[0 ..]; + assigns \result, __fc_env[0 ..], *(__fc_env[0 ..] + (0 ..)); assigns \result - \from __fc_env[0 ..], (indirect: name), (indirect: *(name + (0 ..))), - (indirect: value), (indirect: *(value + (0 ..))), + \from __fc_env[0 ..], (indirect: *(name + (0 .. strlen{Old}(name)))), + (indirect: *(value + (0 .. strlen{Old}(value)))), (indirect: overwrite); assigns __fc_env[0 ..] - \from __fc_env[0 ..], (indirect: name), (indirect: *(name + (0 ..))), - (indirect: value), (indirect: *(value + (0 ..))), + \from __fc_env[0 ..], (indirect: *(name + (0 .. strlen{Old}(name)))), + (indirect: *(value + (0 .. strlen{Old}(value)))), + (indirect: overwrite); + assigns *(__fc_env[0 ..] + (0 ..)) + \from *(name + (0 .. strlen{Old}(name))), + *(value + (0 .. strlen{Old}(value))), (indirect: __fc_env[0 ..]), (indirect: overwrite); + allocates __fc_env[0 ..]; + + behavior invalid_name: + assumes + name_empty_or_with_equals_sign: + strlen(name) ≡ 0 ∨ strchr(name, '=') ≡ \true; + ensures error: \result ≡ -1; + ensures errno_set: __fc_errno ≡ 22; + assigns \result, __fc_errno; + assigns \result \from (indirect: *(name + (0 .. strlen{Old}(name)))); + assigns __fc_errno + \from (indirect: *(name + (0 .. strlen{Old}(name)))); + allocates \nothing; + + behavior out_of_memory: + assumes + not_enough_memory: ¬is_allocable((strlen(name) + strlen(value)) + 2); + ensures error: \result ≡ -1; + ensures errno_set: __fc_errno ≡ 12; + assigns \result, __fc_errno; + assigns \result + \from (indirect: *(name + (0 .. strlen{Old}(name)))), + (indirect: *(value + (0 .. strlen{Old}(value)))), + (indirect: overwrite); + assigns __fc_errno + \from (indirect: *(name + (0 .. strlen{Old}(name)))), + (indirect: *(value + (0 .. strlen{Old}(value)))), + (indirect: overwrite); + allocates \nothing; + + behavior ok: + assumes name_not_empty: strlen(name) > 0; + assumes name_has_no_equals_sign: ¬(strchr(name, '=') ≡ \true); + assumes + enough_memory: is_allocable((strlen(name) + strlen(value)) + 2); + ensures ok: \result ≡ 0; + assigns \result, __fc_env[0 ..], *(__fc_env[0 ..] + (0 ..)); + assigns \result + \from __fc_env[0 ..], (indirect: *(name + (0 .. strlen{Old}(name)))), + (indirect: *(value + (0 .. strlen{Old}(value)))), + (indirect: overwrite); + assigns __fc_env[0 ..] + \from __fc_env[0 ..], (indirect: *(name + (0 .. strlen{Old}(name)))), + (indirect: *(value + (0 .. strlen{Old}(value)))), + (indirect: overwrite); + assigns *(__fc_env[0 ..] + (0 ..)) + \from *(name + (0 .. strlen{Old}(name))), + *(value + (0 .. strlen{Old}(value))), + (indirect: __fc_env[0 ..]), (indirect: overwrite); + allocates __fc_env[0 ..]; */ int setenv(char const *name, char const *value, int overwrite) { @@ -7078,17 +8421,20 @@ int setenv(char const *name, char const *value, int overwrite) int tmp_4; tmp = strchr(name,'='); if (tmp) { + __fc_errno = 22; __retres = -1; goto return_label; } size_t namelen = strlen(name); if (namelen == (size_t)0) { + __fc_errno = 22; __retres = -1; goto return_label; } __fc_initenv(); tmp_4 = Frama_C_nondet(0,1); if (tmp_4) { + __fc_errno = 12; __retres = -1; goto return_label; } @@ -7111,9 +8457,11 @@ int setenv(char const *name, char const *value, int overwrite) ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1; assigns \result, __fc_env[0 ..]; assigns \result - \from __fc_env[0 ..], (indirect: name), (indirect: *(name + (0 ..))); + \from __fc_env[0 ..], (indirect: name), + (indirect: *(name + (0 .. strlen{Old}(name)))); assigns __fc_env[0 ..] - \from __fc_env[0 ..], (indirect: name), (indirect: *(name + (0 ..))); + \from __fc_env[0 ..], (indirect: name), + (indirect: *(name + (0 .. strlen{Old}(name)))); */ int unsetenv(char const *name) { @@ -7122,11 +8470,13 @@ int unsetenv(char const *name) int tmp_2; tmp = strchr(name,'='); if (tmp) { + __fc_errno = 22; __retres = -1; goto return_label; } size_t namelen = strlen(name); if (namelen == (size_t)0) { + __fc_errno = 22; __retres = -1; goto return_label; } @@ -7312,6 +8662,10 @@ char *realpath(char const * restrict file_name, char * restrict resolved_name) return_label: return __retres; } +/*@ assigns \result; + assigns \result \from *(path + (0 .. strlen{Old}(path))); + allocates \result; + */ char *canonicalize_file_name(char const *path) { char *tmp; @@ -7580,7 +8934,8 @@ void *memset(void *s, int c, size_t n) ensures acsl_c_equiv: \result ≡ strcmp(\old(s1), \old(s2)); assigns \result; assigns \result - \from (indirect: *(s1 + (0 ..))), (indirect: *(s2 + (0 ..))); + \from (indirect: *(s1 + (0 .. strlen{Old}(s1)))), + (indirect: *(s2 + (0 .. strlen{Old}(s1)))); */ int strcmp(char const *s1, char const *s2) { @@ -7663,6 +9018,8 @@ int memcmp(void const *s1, void const *s2, size_t n) return_label: return __retres; } +/*@ assigns \result; + assigns \result \from c1, c2; */ static int char_equal_ignore_case(char c1, char c2) { int __retres; @@ -7730,6 +9087,11 @@ int strcasecmp(char const *s1, char const *s2) /*@ requires valid_string_src: valid_read_string(src); requires valid_string_dest: valid_string(dest); requires room_string: \valid(dest + (0 .. strlen(dest) + strlen(src))); + requires + separation: + \separated( + dest + (0 .. strlen(dest) + strlen(src)), src + (0 .. strlen(src)) + ); ensures sum_of_lengths: strlen(\old(dest)) ≡ \old(strlen(dest) + strlen(src)); ensures @@ -7762,15 +9124,20 @@ char *strcat(char *dest, char const *src) /*@ requires valid_nstring_src: valid_read_nstring(src, n); requires valid_string_dest: valid_string(dest); + requires + separation: + \separated( + dest + (0 .. strlen(dest) + strnlen(src, n)), + src + (0 .. strnlen(src, n)) + ); ensures result_ptr: \result ≡ \old(dest); assigns *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + n)), \result; assigns *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + n)) - \from *(src + (0 .. n)); + \from *(src + (0 .. n - 1)); assigns \result \from dest; behavior complete: - assumes - valid_string_src_fits: valid_read_string(src) ∧ strlen(src) ≤ n; + assumes src_fits: strnlen(src, n) < n; requires room_string: \valid((dest + strlen(dest)) + (0 .. strlen(src))); ensures @@ -7781,13 +9148,11 @@ char *strcat(char *dest, char const *src) \result; assigns *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + strlen{Old}(src))) - \from *(src + (0 .. strlen{Old}(src))); + \from *(src + (0 .. strlen{Old}(src) - 1)); assigns \result \from dest; behavior partial: - assumes - valid_string_src_too_large: - ¬(valid_read_string(src) ∧ strlen(src) ≤ n); + assumes src_too_large: strnlen(src, n) ≡ n; requires room_string: \valid((dest + strlen(dest)) + (0 .. n)); ensures sum_of_bounded_lengths: @@ -7795,8 +9160,11 @@ char *strcat(char *dest, char const *src) assigns *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + n)), \result; assigns *(dest + (strlen{Old}(dest) .. strlen{Old}(dest) + n)) - \from *(src + (0 .. strlen{Old}(src))); + \from *(src + (0 .. n - 1)); assigns \result \from dest; + + complete behaviors partial, complete; + disjoint behaviors partial, complete; */ char *strncat(char *dest, char const *src, size_t n) { @@ -7904,23 +9272,21 @@ char *strncpy(char *dest, char const *src, size_t n) behavior found: assumes char_found: strchr(s, c) ≡ \true; + ensures result_valid_string: valid_read_string(\result); ensures result_char: *\result ≡ (char)\old(c); ensures result_same_base: \base_addr(\result) ≡ \base_addr(\old(s)); ensures result_in_length: \old(s) ≤ \result ≤ \old(s) + strlen(\old(s)); - ensures result_valid_string: valid_read_string(\result); ensures - result_first_occur: + result_first_occurrence: ∀ char *p; \old(s) ≤ p < \result ⇒ *p ≢ (char)\old(c); behavior not_found: assumes char_not_found: ¬(strchr(s, c) ≡ \true); ensures result_null: \result ≡ \null; - behavior default: - ensures - result_null_or_same_base: - \result ≡ \null ∨ \base_addr(\result) ≡ \base_addr(\old(s)); + complete behaviors not_found, found; + disjoint behaviors not_found, found; */ char *strchr(char const *s, int c) { @@ -7940,23 +9306,14 @@ char *strchr(char const *s, int c) } /*@ requires valid_string_s: valid_read_string(s); + ensures + result_null_or_same_base: + \result ≡ \null ∨ + (valid_read_string(\result) ∧ + \base_addr(\result) ≡ \base_addr(\old(s))); assigns \result; - assigns \result \from s, *(s + (0 ..)), c; - - behavior found: - assumes char_found: strchr(s, c) ≡ \true; - ensures result_char: (int)*\result ≡ \old(c); - ensures result_same_base: \base_addr(\result) ≡ \base_addr(\old(s)); - ensures result_valid_string: valid_read_string(\result); - - behavior not_found: - assumes char_not_found: ¬(strchr(s, c) ≡ \true); - ensures result_null: \result ≡ \null; - - behavior default: - ensures - result_null_or_same_base: - \result ≡ \null ∨ \base_addr(\result) ≡ \base_addr(\old(s)); + assigns \result + \from s, (indirect: *(s + (0 .. strlen{Old}(s)))), (indirect: c); */ char *strrchr(char const *s, int c) { @@ -7995,6 +9352,7 @@ char *strrchr(char const *s, int c) behavior found: assumes char_found: memchr((char *)s, c, n) ≡ \true; + ensures result_valid_read: \valid_read((char *)\result); ensures result_same_base: \base_addr(\result) ≡ \base_addr(\old(s)); ensures result_char: (int)*((char *)\result) ≡ \old(c); ensures @@ -8027,6 +9385,26 @@ void *memchr(void const *s, int c, size_t n) return_label: return __retres; } +/*@ requires valid: valid_read_or_empty(s, n); + requires initialization: \initialized((unsigned char *)s + (0 .. n - 1)); + requires danglingness: non_escaping(s, n); + assigns \result; + assigns \result + \from s, (indirect: c), + (indirect: *((unsigned char *)s + (0 .. n - 1))); + + behavior found: + assumes char_found: memchr((char *)s, c, n) ≡ \true; + ensures result_valid_read: \valid_read((char *)\result); + ensures result_same_base: \base_addr(\result) ≡ \base_addr(\old(s)); + + behavior not_found: + assumes char_not_found: ¬(memchr((char *)s, c, n) ≡ \true); + ensures result_null: \result ≡ \null; + + complete behaviors not_found, found; + disjoint behaviors not_found, found; + */ void *memrchr(void const *s, int c, size_t n) { void *__retres; @@ -8051,13 +9429,13 @@ void *memrchr(void const *s, int c, size_t n) ensures result_null_or_in_haystack: \result ≡ \null ∨ - (\subset(\result, \old(haystack) + (0 ..)) ∧ - \valid_read(\result) ∧ + (valid_read_string(\result) ∧ + \base_addr(\result) ≡ \base_addr(\old(haystack)) ∧ memcmp{Pre, Pre}(\result, \old(needle), strlen(\old(needle))) ≡ 0); assigns \result; assigns \result - \from haystack, (indirect: *(haystack + (0 ..))), - (indirect: *(needle + (0 ..))); + \from haystack, (indirect: *(haystack + (0 .. strlen{Old}(haystack)))), + (indirect: *(needle + (0 .. strlen{Old}(needle)))); */ char *strstr(char const *haystack, char const *needle) { @@ -8115,19 +9493,20 @@ char *strerror(int errnum) allocates \result; behavior allocation: - assumes can_allocate: is_allocable(strlen(s)); - ensures allocation: \fresh{Old, Here}(\result,strlen(\old(s))); + assumes can_allocate: is_allocable(strlen(s) + 1); + ensures allocation: \fresh{Old, Here}(\result,strlen(\old(s)) + 1); ensures result_valid_string_and_same_contents: valid_string(\result) ∧ strcmp(\result, \old(s)) ≡ 0; assigns __fc_heap_status, \result; - assigns __fc_heap_status \from (indirect: s), __fc_heap_status; + assigns __fc_heap_status + \from __fc_heap_status, (indirect: *(s + (0 .. strlen{Old}(s)))); assigns \result \from (indirect: *(s + (0 .. strlen{Old}(s)))), (indirect: __fc_heap_status); behavior no_allocation: - assumes cannot_allocate: ¬is_allocable(strlen(s)); + assumes cannot_allocate: ¬is_allocable(strlen(s) + 1); ensures result_null: \result ≡ \null; assigns \result; assigns \result \from \nothing; @@ -8158,13 +9537,12 @@ char *strdup(char const *s) allocates \result; behavior allocation: - assumes can_allocate: is_allocable(\min(strlen(s), n + 1)); + assumes can_allocate: is_allocable(strnlen(s, n) + 1); ensures - allocation: - \fresh{Old, Here}(\result,\min(strlen(\old(s)), \old(n) + 1)); + allocation: \fresh{Old, Here}(\result,strnlen(\old(s), \old(n)) + 1); ensures result_valid_string_bounded_and_same_prefix: - \valid(\result + (0 .. \min(strlen(\old(s)), \old(n)))) ∧ + \valid(\result + (0 .. strnlen(\old(s), \old(n)))) ∧ valid_string(\result) ∧ strlen(\result) ≤ \old(n) ∧ strncmp(\result, \old(s), \old(n)) ≡ 0; assigns __fc_heap_status, \result; @@ -8175,7 +9553,7 @@ char *strdup(char const *s) (indirect: __fc_heap_status); behavior no_allocation: - assumes cannot_allocate: ¬is_allocable(\min(strlen(s), n + 1)); + assumes cannot_allocate: ¬is_allocable(strnlen(s, n) + 1); ensures result_null: \result ≡ \null; assigns \result; assigns \result \from \nothing; @@ -8870,6 +10248,35 @@ wchar_t *wcsncat(wchar_t *dest, wchar_t const *src, size_t n) return dest; } +/*@ requires valid_wstring: valid_read_wstring(ws); + assigns \result; + assigns \result + \from (indirect: *(ws + (0 .. wcslen{Old}(ws)))), + (indirect: __fc_heap_status); + allocates \result; + + behavior allocation: + assumes can_allocate: is_allocable(wcslen(ws)); + ensures + allocation: + \fresh{Old, Here}(\result,wcslen(\old(ws)) * sizeof(wchar_t)); + ensures + result_valid_string_and_same_contents: + valid_wstring(\result) ∧ wcscmp(\result, \old(ws)) ≡ 0; + assigns __fc_heap_status, \result; + assigns __fc_heap_status + \from (indirect: *(ws + (0 .. wcslen{Old}(ws)))), __fc_heap_status; + assigns \result + \from (indirect: *(ws + (0 .. wcslen{Old}(ws)))), + (indirect: __fc_heap_status); + + behavior no_allocation: + assumes cannot_allocate: ¬is_allocable(wcslen(ws)); + ensures result_null: \result ≡ \null; + assigns \result; + assigns \result \from \nothing; + allocates \nothing; + */ wchar_t *wcsdup(wchar_t const *ws) { wchar_t *__retres; diff --git a/tests/libc/oracle/glob_c.res.oracle b/tests/libc/oracle/glob_c.res.oracle index f2f55900b952817bf69c5ce4d1e0ee8725748d58..91eb904a9baf476445479b6c2d72105531fda702 100644 --- a/tests/libc/oracle/glob_c.res.oracle +++ b/tests/libc/oracle/glob_c.res.oracle @@ -31,23 +31,26 @@ Called from FRAMAC_SHARE/libc/glob.c:77. [eva] using specification for function Frama_C_nondet [eva] Done for function Frama_C_nondet +[eva] computing for function Frama_C_nondet <- glob <- main. + Called from FRAMAC_SHARE/libc/glob.c:78. +[eva] Done for function Frama_C_nondet [eva] computing for function Frama_C_interval <- glob <- main. - Called from FRAMAC_SHARE/libc/glob.c:82. -[eva] FRAMAC_SHARE/libc/glob.c:82: + Called from FRAMAC_SHARE/libc/glob.c:83. +[eva] FRAMAC_SHARE/libc/glob.c:83: function Frama_C_interval: precondition 'order' got status valid. [eva] Done for function Frama_C_interval [eva] computing for function globerr0 <- glob <- main. - Called from FRAMAC_SHARE/libc/glob.c:82. + Called from FRAMAC_SHARE/libc/glob.c:83. [eva] Recording results for globerr0 [eva] Done for function globerr0 [eva] Recording results for glob [eva] Done for function glob [eva] computing for function globfree <- main. Called from glob_c.c:31. -[eva:alarm] FRAMAC_SHARE/libc/glob.c:93: Warning: +[eva:alarm] FRAMAC_SHARE/libc/glob.c:94: Warning: accessing uninitialized left-value. assert \initialized(&pglob->gl_pathv); -[eva] FRAMAC_SHARE/libc/glob.c:93: Call to builtin free -[eva] FRAMAC_SHARE/libc/glob.c:93: +[eva] FRAMAC_SHARE/libc/glob.c:94: Call to builtin free +[eva] FRAMAC_SHARE/libc/glob.c:94: function free: precondition 'freeable' got status valid. [eva] Recording results for globfree [eva] Done for function globfree @@ -61,18 +64,21 @@ [eva] computing for function Frama_C_nondet <- glob <- main. Called from FRAMAC_SHARE/libc/glob.c:77. [eva] Done for function Frama_C_nondet +[eva] computing for function Frama_C_nondet <- glob <- main. + Called from FRAMAC_SHARE/libc/glob.c:78. +[eva] Done for function Frama_C_nondet [eva] computing for function Frama_C_interval <- glob <- main. - Called from FRAMAC_SHARE/libc/glob.c:82. + Called from FRAMAC_SHARE/libc/glob.c:83. [eva] Done for function Frama_C_interval -[eva] FRAMAC_SHARE/libc/glob.c:82: Reusing old results for call to globerr0 +[eva] FRAMAC_SHARE/libc/glob.c:83: Reusing old results for call to globerr0 [eva] Recording results for glob [eva] Done for function glob [eva] computing for function globfree <- main. Called from glob_c.c:34. -[eva:alarm] FRAMAC_SHARE/libc/glob.c:93: Warning: +[eva:alarm] FRAMAC_SHARE/libc/glob.c:94: Warning: accessing left-value that contains escaping addresses. assert ¬\dangling(&pglob->gl_pathv); -[eva] FRAMAC_SHARE/libc/glob.c:93: Call to builtin free +[eva] FRAMAC_SHARE/libc/glob.c:94: Call to builtin free [eva] Recording results for globfree [eva] Done for function globfree [eva] computing for function glob <- main. @@ -89,18 +95,21 @@ [eva] computing for function Frama_C_nondet <- glob <- main. Called from FRAMAC_SHARE/libc/glob.c:77. [eva] Done for function Frama_C_nondet +[eva] computing for function Frama_C_nondet <- glob <- main. + Called from FRAMAC_SHARE/libc/glob.c:78. +[eva] Done for function Frama_C_nondet [eva] computing for function Frama_C_interval <- glob <- main. - Called from FRAMAC_SHARE/libc/glob.c:82. + Called from FRAMAC_SHARE/libc/glob.c:83. [eva] Done for function Frama_C_interval [eva] computing for function globerr1 <- glob <- main. - Called from FRAMAC_SHARE/libc/glob.c:82. + Called from FRAMAC_SHARE/libc/glob.c:83. [eva] Recording results for globerr1 [eva] Done for function globerr1 [eva] Recording results for glob [eva] Done for function glob [eva] computing for function globfree <- main. Called from glob_c.c:37. -[eva] FRAMAC_SHARE/libc/glob.c:93: Call to builtin free +[eva] FRAMAC_SHARE/libc/glob.c:94: Call to builtin free [eva] Recording results for globfree [eva] Done for function globfree [eva] computing for function glob <- main. @@ -116,15 +125,18 @@ [eva] computing for function Frama_C_nondet <- glob <- main. Called from FRAMAC_SHARE/libc/glob.c:77. [eva] Done for function Frama_C_nondet +[eva] computing for function Frama_C_nondet <- glob <- main. + Called from FRAMAC_SHARE/libc/glob.c:78. +[eva] Done for function Frama_C_nondet [eva] computing for function Frama_C_interval <- glob <- main. - Called from FRAMAC_SHARE/libc/glob.c:82. + Called from FRAMAC_SHARE/libc/glob.c:83. [eva] Done for function Frama_C_interval -[eva] FRAMAC_SHARE/libc/glob.c:82: Reusing old results for call to globerr1 +[eva] FRAMAC_SHARE/libc/glob.c:83: Reusing old results for call to globerr1 [eva] Recording results for glob [eva] Done for function glob [eva] computing for function globfree <- main. Called from glob_c.c:41. -[eva] FRAMAC_SHARE/libc/glob.c:93: Call to builtin free +[eva] FRAMAC_SHARE/libc/glob.c:94: Call to builtin free [eva] Recording results for globfree [eva] Done for function globfree [eva] Recording results for main @@ -141,7 +153,8 @@ &__realloc_glob_l50[0] ; &__realloc_glob_l66_1[0] ; &__realloc_glob_l50_0[0] ; &__realloc_glob_l66_2[0] }} or ESCAPINGADDR .gl_offs ∈ {1} - {.gl_flags; .gl_closedir; .gl_readdir; .gl_opendir; .gl_lstat; .gl_stat} ∈ + .gl_flags ∈ {1; 8; 16; 24; 257; 264; 272; 280} or UNINITIALIZED + {.gl_closedir; .gl_readdir; .gl_opendir; .gl_lstat; .gl_stat} ∈ UNINITIALIZED [eva:final-states] Values at end of function glob: Frama_C_entropy_source ∈ [--..--] @@ -154,7 +167,8 @@ &__realloc_glob_l50[0] ; &__realloc_glob_l66_1[0] ; &__realloc_glob_l50_0[0] ; &__realloc_glob_l66_2[0] }} or UNINITIALIZED or ESCAPINGADDR .gl_offs ∈ {1} - {.gl_flags; .gl_closedir; .gl_readdir; .gl_opendir; .gl_lstat; .gl_stat} ∈ + .gl_flags ∈ {1; 8; 16; 24; 257; 264; 272; 280} or UNINITIALIZED + {.gl_closedir; .gl_readdir; .gl_opendir; .gl_lstat; .gl_stat} ∈ UNINITIALIZED __retres ∈ {0; 1; 2; 3} __realloc_glob_l66[0] ∈ {0} or UNINITIALIZED @@ -184,7 +198,8 @@ .gl_pathv ∈ {{ NULL ; &__realloc_glob_l50_0[0] ; &__realloc_glob_l66_2[0] }} or ESCAPINGADDR .gl_offs ∈ {1} - {.gl_flags; .gl_closedir; .gl_readdir; .gl_opendir; .gl_lstat; .gl_stat} ∈ + .gl_flags ∈ {1; 8; 16; 24; 257; 264; 272; 280} or UNINITIALIZED + {.gl_closedir; .gl_readdir; .gl_opendir; .gl_lstat; .gl_stat} ∈ UNINITIALIZED __retres ∈ {0} __realloc_glob_l66[0] ∈ {0} or UNINITIALIZED diff --git a/tests/libc/oracle/netdb_c.res.oracle b/tests/libc/oracle/netdb_c.res.oracle index 55cc38194e3ca106e062c6bb171b8241a1fbb49d..03e05636c2947e3202978ff951ba8b7ea50d9414 100644 --- a/tests/libc/oracle/netdb_c.res.oracle +++ b/tests/libc/oracle/netdb_c.res.oracle @@ -17,9 +17,11 @@ \return(getenv) == 0 (auto) \return(bsearch) == 0 (auto) \return(realpath) == 0 (auto) + \return(canonicalize_file_name) == 0 (auto) \return(getcwd) == 0 (auto) \return(ttyname) == 0 (auto) \return(memchr) == 0 (auto) + \return(memrchr) == 0 (auto) \return(memcpy) == 0 (auto) \return(mempcpy) == 0 (auto) \return(memmove) == 0 (auto) @@ -39,8 +41,10 @@ \return(stpcpy) == 0 (auto) \return(strcat) == 0 (auto) \return(strncat) == 0 (auto) + \return(memmem) == 0 (auto) \return(strdup) == 0 (auto) \return(strndup) == 0 (auto) + \return(stpncpy) == 0 (auto) \return(strsignal) == 0 (auto) \return(bind) == 0 (auto) \return(socket) == -1 (auto) @@ -61,7 +65,7 @@ [eva] netdb_c.c:25: Call to builtin memset [eva] netdb_c.c:25: function memset: precondition 'valid_s' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:134: +[eva] FRAMAC_SHARE/libc/string.h:151: cannot evaluate ACSL term, unsupported ACSL construct: logic function memset [eva] computing for function getaddrinfo <- main. Called from netdb_c.c:34. @@ -140,7 +144,7 @@ function strcpy: precondition 'room_string' got status valid. [eva] FRAMAC_SHARE/libc/netdb.c:74: function strcpy: precondition 'separation' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:373: +[eva] FRAMAC_SHARE/libc/string.h:425: cannot evaluate ACSL term, unsupported ACSL construct: logic function strcmp [eva] Done for function strcpy [eva] Recording results for getaddrinfo @@ -196,76 +200,76 @@ [eva] computing for function gethostbyname <- main. Called from netdb_c.c:63. [eva] computing for function res_search <- gethostbyname <- main. - Called from FRAMAC_SHARE/libc/netdb.c:141. + Called from FRAMAC_SHARE/libc/netdb.c:145. [eva] computing for function Frama_C_char_interval <- res_search <- gethostbyname <- main. - Called from FRAMAC_SHARE/libc/netdb.c:99. + Called from FRAMAC_SHARE/libc/netdb.c:103. [eva] using specification for function Frama_C_char_interval -[eva] FRAMAC_SHARE/libc/netdb.c:99: +[eva] FRAMAC_SHARE/libc/netdb.c:103: function Frama_C_char_interval: precondition 'order' got status valid. [eva] Done for function Frama_C_char_interval [eva] computing for function Frama_C_char_interval <- res_search <- gethostbyname <- main. - Called from FRAMAC_SHARE/libc/netdb.c:99. + Called from FRAMAC_SHARE/libc/netdb.c:103. [eva] Done for function Frama_C_char_interval [eva] computing for function Frama_C_char_interval <- res_search <- gethostbyname <- main. - Called from FRAMAC_SHARE/libc/netdb.c:99. + Called from FRAMAC_SHARE/libc/netdb.c:103. [eva] Done for function Frama_C_char_interval -[eva] FRAMAC_SHARE/libc/netdb.c:98: starting to merge loop iterations +[eva] FRAMAC_SHARE/libc/netdb.c:102: starting to merge loop iterations [eva] computing for function Frama_C_char_interval <- res_search <- gethostbyname <- main. - Called from FRAMAC_SHARE/libc/netdb.c:99. + Called from FRAMAC_SHARE/libc/netdb.c:103. [eva] Done for function Frama_C_char_interval [eva] computing for function Frama_C_char_interval <- res_search <- gethostbyname <- main. - Called from FRAMAC_SHARE/libc/netdb.c:99. + Called from FRAMAC_SHARE/libc/netdb.c:103. [eva] Done for function Frama_C_char_interval [eva] computing for function Frama_C_char_interval <- res_search <- gethostbyname <- main. - Called from FRAMAC_SHARE/libc/netdb.c:99. + Called from FRAMAC_SHARE/libc/netdb.c:103. [eva] Done for function Frama_C_char_interval [eva] computing for function Frama_C_char_interval <- res_search <- gethostbyname <- main. - Called from FRAMAC_SHARE/libc/netdb.c:99. + Called from FRAMAC_SHARE/libc/netdb.c:103. [eva] Done for function Frama_C_char_interval [eva] computing for function Frama_C_interval <- res_search <- gethostbyname <- main. - Called from FRAMAC_SHARE/libc/netdb.c:102. -[eva] FRAMAC_SHARE/libc/netdb.c:102: + Called from FRAMAC_SHARE/libc/netdb.c:106. +[eva] FRAMAC_SHARE/libc/netdb.c:106: function Frama_C_interval: precondition 'order' got status valid. [eva] Done for function Frama_C_interval [eva] Recording results for res_search [eva] Done for function res_search [eva] computing for function Frama_C_nondet <- gethostbyname <- main. - Called from FRAMAC_SHARE/libc/netdb.c:144. + Called from FRAMAC_SHARE/libc/netdb.c:148. [eva] using specification for function Frama_C_nondet [eva] Done for function Frama_C_nondet [eva] computing for function inet_addr <- gethostbyname <- main. - Called from FRAMAC_SHARE/libc/netdb.c:147. + Called from FRAMAC_SHARE/libc/netdb.c:151. [eva] using specification for function inet_addr -[eva] FRAMAC_SHARE/libc/netdb.c:147: +[eva] FRAMAC_SHARE/libc/netdb.c:151: function inet_addr: precondition 'valid_arg' got status valid. [eva] Done for function inet_addr -[eva] FRAMAC_SHARE/libc/netdb.c:148: Call to builtin memcpy -[eva] FRAMAC_SHARE/libc/netdb.c:148: +[eva] FRAMAC_SHARE/libc/netdb.c:152: Call to builtin memcpy +[eva] FRAMAC_SHARE/libc/netdb.c:152: function memcpy: precondition 'valid_dest' got status valid. -[eva] FRAMAC_SHARE/libc/netdb.c:148: +[eva] FRAMAC_SHARE/libc/netdb.c:152: function memcpy: precondition 'valid_src' got status valid. -[eva] FRAMAC_SHARE/libc/netdb.c:148: +[eva] FRAMAC_SHARE/libc/netdb.c:152: function memcpy: precondition 'separation' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:101: +[eva] FRAMAC_SHARE/libc/string.h:118: cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp [eva] computing for function strncpy <- gethostbyname <- main. - Called from FRAMAC_SHARE/libc/netdb.c:149. + Called from FRAMAC_SHARE/libc/netdb.c:153. [eva] using specification for function strncpy -[eva] FRAMAC_SHARE/libc/netdb.c:149: +[eva] FRAMAC_SHARE/libc/netdb.c:153: function strncpy: precondition 'valid_nstring_src' got status valid. -[eva] FRAMAC_SHARE/libc/netdb.c:149: +[eva] FRAMAC_SHARE/libc/netdb.c:153: function strncpy: precondition 'room_nstring' got status valid. -[eva] FRAMAC_SHARE/libc/netdb.c:149: +[eva] FRAMAC_SHARE/libc/netdb.c:153: function strncpy: precondition 'separation' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:389: +[eva] FRAMAC_SHARE/libc/string.h:441: cannot evaluate ACSL term, unsupported ACSL construct: logic function strcmp [eva] Done for function strncpy [eva] Recording results for gethostbyname diff --git a/tests/libc/oracle/pwd_c.res.oracle b/tests/libc/oracle/pwd_c.res.oracle index d787033905172d387c156d9ab8d78c90b7cb7f6d..1543ddd5c9d2a7f8de77086b611ac8be61938f60 100644 --- a/tests/libc/oracle/pwd_c.res.oracle +++ b/tests/libc/oracle/pwd_c.res.oracle @@ -23,133 +23,133 @@ [eva] computing for function getpwuid_r <- main. Called from pwd_c.c:14. [eva] computing for function __fc_getpw_r <- getpwuid_r <- main. - Called from FRAMAC_SHARE/libc/pwd.c:102. + Called from FRAMAC_SHARE/libc/pwd.c:107. [eva] computing for function Frama_C_make_unknown <- __fc_getpw_r <- getpwuid_r <- main. - Called from FRAMAC_SHARE/libc/pwd.c:56. + Called from FRAMAC_SHARE/libc/pwd.c:61. [eva] using specification for function Frama_C_make_unknown -[eva] FRAMAC_SHARE/libc/pwd.c:56: +[eva] FRAMAC_SHARE/libc/pwd.c:61: function Frama_C_make_unknown: precondition 'valid_p' got status valid. [eva] Done for function Frama_C_make_unknown [eva] computing for function Frama_C_make_unknown <- __fc_getpw_r <- getpwuid_r <- main. - Called from FRAMAC_SHARE/libc/pwd.c:58. -[eva] FRAMAC_SHARE/libc/pwd.c:58: + Called from FRAMAC_SHARE/libc/pwd.c:63. +[eva] FRAMAC_SHARE/libc/pwd.c:63: function Frama_C_make_unknown: precondition 'valid_p' got status valid. [eva] Done for function Frama_C_make_unknown [eva] computing for function Frama_C_make_unknown <- __fc_getpw_r <- getpwuid_r <- main. - Called from FRAMAC_SHARE/libc/pwd.c:60. -[eva] FRAMAC_SHARE/libc/pwd.c:60: + Called from FRAMAC_SHARE/libc/pwd.c:65. +[eva] FRAMAC_SHARE/libc/pwd.c:65: function Frama_C_make_unknown: precondition 'valid_p' got status valid. [eva] Done for function Frama_C_make_unknown [eva] computing for function Frama_C_make_unknown <- __fc_getpw_r <- getpwuid_r <- main. - Called from FRAMAC_SHARE/libc/pwd.c:62. -[eva] FRAMAC_SHARE/libc/pwd.c:62: + Called from FRAMAC_SHARE/libc/pwd.c:67. +[eva] FRAMAC_SHARE/libc/pwd.c:67: function Frama_C_make_unknown: precondition 'valid_p' got status valid. [eva] Done for function Frama_C_make_unknown [eva] computing for function Frama_C_make_unknown <- __fc_getpw_r <- getpwuid_r <- main. - Called from FRAMAC_SHARE/libc/pwd.c:64. -[eva] FRAMAC_SHARE/libc/pwd.c:64: + Called from FRAMAC_SHARE/libc/pwd.c:69. +[eva] FRAMAC_SHARE/libc/pwd.c:69: function Frama_C_make_unknown: precondition 'valid_p' got status valid. [eva] Done for function Frama_C_make_unknown [eva] computing for function Frama_C_interval <- __fc_getpw_r <- getpwuid_r <- main. - Called from FRAMAC_SHARE/libc/pwd.c:69. + Called from FRAMAC_SHARE/libc/pwd.c:74. [eva] using specification for function Frama_C_interval -[eva] FRAMAC_SHARE/libc/pwd.c:69: +[eva] FRAMAC_SHARE/libc/pwd.c:74: function Frama_C_interval: precondition 'order' got status valid. [eva] Done for function Frama_C_interval [eva] computing for function Frama_C_interval <- __fc_getpw_r <- getpwuid_r <- main. - Called from FRAMAC_SHARE/libc/pwd.c:72. -[eva] FRAMAC_SHARE/libc/pwd.c:72: + Called from FRAMAC_SHARE/libc/pwd.c:77. +[eva] FRAMAC_SHARE/libc/pwd.c:77: function Frama_C_interval: precondition 'order' got status valid. [eva] Done for function Frama_C_interval [eva] computing for function Frama_C_interval <- __fc_getpw_r <- getpwuid_r <- main. - Called from FRAMAC_SHARE/libc/pwd.c:73. -[eva] FRAMAC_SHARE/libc/pwd.c:73: + Called from FRAMAC_SHARE/libc/pwd.c:78. +[eva] FRAMAC_SHARE/libc/pwd.c:78: function Frama_C_interval: precondition 'order' got status valid. [eva] Done for function Frama_C_interval [eva] computing for function Frama_C_interval <- __fc_getpw_r <- getpwuid_r <- main. - Called from FRAMAC_SHARE/libc/pwd.c:74. -[eva] FRAMAC_SHARE/libc/pwd.c:74: + Called from FRAMAC_SHARE/libc/pwd.c:79. +[eva] FRAMAC_SHARE/libc/pwd.c:79: function Frama_C_interval: precondition 'order' got status valid. [eva] Done for function Frama_C_interval -[eva] FRAMAC_SHARE/libc/pwd.c:82: Call to builtin strlen -[eva] FRAMAC_SHARE/libc/pwd.c:82: +[eva] FRAMAC_SHARE/libc/pwd.c:87: Call to builtin strlen +[eva] FRAMAC_SHARE/libc/pwd.c:87: function strlen: precondition 'valid_string_s' got status valid. [eva] computing for function strcpy <- __fc_getpw_r <- getpwuid_r <- main. - Called from FRAMAC_SHARE/libc/pwd.c:82. + Called from FRAMAC_SHARE/libc/pwd.c:87. [eva] using specification for function strcpy -[eva] FRAMAC_SHARE/libc/pwd.c:82: +[eva] FRAMAC_SHARE/libc/pwd.c:87: function strcpy: precondition 'valid_string_src' got status valid. -[eva] FRAMAC_SHARE/libc/pwd.c:82: +[eva] FRAMAC_SHARE/libc/pwd.c:87: function strcpy: precondition 'room_string' got status valid. -[eva] FRAMAC_SHARE/libc/pwd.c:82: +[eva] FRAMAC_SHARE/libc/pwd.c:87: function strcpy: precondition 'separation' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:373: +[eva] FRAMAC_SHARE/libc/string.h:425: cannot evaluate ACSL term, unsupported ACSL construct: logic function strcmp [eva] Done for function strcpy -[eva] FRAMAC_SHARE/libc/pwd.c:83: Call to builtin strlen -[eva] FRAMAC_SHARE/libc/pwd.c:83: +[eva] FRAMAC_SHARE/libc/pwd.c:88: Call to builtin strlen +[eva] FRAMAC_SHARE/libc/pwd.c:88: function strlen: precondition 'valid_string_s' got status valid. [eva] computing for function strcpy <- __fc_getpw_r <- getpwuid_r <- main. - Called from FRAMAC_SHARE/libc/pwd.c:83. -[eva] FRAMAC_SHARE/libc/pwd.c:83: + Called from FRAMAC_SHARE/libc/pwd.c:88. +[eva] FRAMAC_SHARE/libc/pwd.c:88: function strcpy: precondition 'valid_string_src' got status valid. -[eva] FRAMAC_SHARE/libc/pwd.c:83: +[eva] FRAMAC_SHARE/libc/pwd.c:88: function strcpy: precondition 'room_string' got status valid. -[eva] FRAMAC_SHARE/libc/pwd.c:83: +[eva] FRAMAC_SHARE/libc/pwd.c:88: function strcpy: precondition 'separation' got status valid. [eva] Done for function strcpy -[eva] FRAMAC_SHARE/libc/pwd.c:84: Call to builtin strlen -[eva] FRAMAC_SHARE/libc/pwd.c:84: +[eva] FRAMAC_SHARE/libc/pwd.c:89: Call to builtin strlen +[eva] FRAMAC_SHARE/libc/pwd.c:89: function strlen: precondition 'valid_string_s' got status valid. [eva] computing for function strcpy <- __fc_getpw_r <- getpwuid_r <- main. - Called from FRAMAC_SHARE/libc/pwd.c:84. -[eva] FRAMAC_SHARE/libc/pwd.c:84: + Called from FRAMAC_SHARE/libc/pwd.c:89. +[eva] FRAMAC_SHARE/libc/pwd.c:89: function strcpy: precondition 'valid_string_src' got status valid. -[eva] FRAMAC_SHARE/libc/pwd.c:84: +[eva] FRAMAC_SHARE/libc/pwd.c:89: function strcpy: precondition 'room_string' got status valid. -[eva] FRAMAC_SHARE/libc/pwd.c:84: +[eva] FRAMAC_SHARE/libc/pwd.c:89: function strcpy: precondition 'separation' got status valid. [eva] Done for function strcpy -[eva] FRAMAC_SHARE/libc/pwd.c:85: Call to builtin strlen -[eva] FRAMAC_SHARE/libc/pwd.c:85: +[eva] FRAMAC_SHARE/libc/pwd.c:90: Call to builtin strlen +[eva] FRAMAC_SHARE/libc/pwd.c:90: function strlen: precondition 'valid_string_s' got status valid. [eva] computing for function strcpy <- __fc_getpw_r <- getpwuid_r <- main. - Called from FRAMAC_SHARE/libc/pwd.c:85. -[eva] FRAMAC_SHARE/libc/pwd.c:85: + Called from FRAMAC_SHARE/libc/pwd.c:90. +[eva] FRAMAC_SHARE/libc/pwd.c:90: function strcpy: precondition 'valid_string_src' got status valid. -[eva] FRAMAC_SHARE/libc/pwd.c:85: +[eva] FRAMAC_SHARE/libc/pwd.c:90: function strcpy: precondition 'room_string' got status valid. -[eva] FRAMAC_SHARE/libc/pwd.c:85: +[eva] FRAMAC_SHARE/libc/pwd.c:90: function strcpy: precondition 'separation' got status valid. [eva] Done for function strcpy -[eva] FRAMAC_SHARE/libc/pwd.c:86: Call to builtin strlen -[eva] FRAMAC_SHARE/libc/pwd.c:86: +[eva] FRAMAC_SHARE/libc/pwd.c:91: Call to builtin strlen +[eva] FRAMAC_SHARE/libc/pwd.c:91: function strlen: precondition 'valid_string_s' got status valid. [eva] computing for function strcpy <- __fc_getpw_r <- getpwuid_r <- main. - Called from FRAMAC_SHARE/libc/pwd.c:86. -[eva] FRAMAC_SHARE/libc/pwd.c:86: + Called from FRAMAC_SHARE/libc/pwd.c:91. +[eva] FRAMAC_SHARE/libc/pwd.c:91: function strcpy: precondition 'valid_string_src' got status valid. -[eva] FRAMAC_SHARE/libc/pwd.c:86: +[eva] FRAMAC_SHARE/libc/pwd.c:91: function strcpy: precondition 'room_string' got status valid. -[eva] FRAMAC_SHARE/libc/pwd.c:86: +[eva] FRAMAC_SHARE/libc/pwd.c:91: function strcpy: precondition 'separation' got status valid. [eva] Done for function strcpy [eva] computing for function Frama_C_unsigned_int_interval <- __fc_getpw_r <- getpwuid_r <- main. - Called from FRAMAC_SHARE/libc/pwd.c:87. + Called from FRAMAC_SHARE/libc/pwd.c:92. [eva] using specification for function Frama_C_unsigned_int_interval -[eva] FRAMAC_SHARE/libc/pwd.c:87: +[eva] FRAMAC_SHARE/libc/pwd.c:92: function Frama_C_unsigned_int_interval: precondition 'order' got status valid. [eva] Done for function Frama_C_unsigned_int_interval [eva] computing for function Frama_C_unsigned_int_interval <- __fc_getpw_r <- getpwuid_r <- main. - Called from FRAMAC_SHARE/libc/pwd.c:88. -[eva] FRAMAC_SHARE/libc/pwd.c:88: + Called from FRAMAC_SHARE/libc/pwd.c:93. +[eva] FRAMAC_SHARE/libc/pwd.c:93: function Frama_C_unsigned_int_interval: precondition 'order' got status valid. [eva] Done for function Frama_C_unsigned_int_interval [eva] Recording results for __fc_getpw_r @@ -165,48 +165,48 @@ [eva:alarm] pwd_c.c:23: Warning: assertion got status unknown. [eva] computing for function getpwnam_r <- main. Called from pwd_c.c:27. -[eva] FRAMAC_SHARE/libc/pwd.c:96: assertion got status valid. +[eva] FRAMAC_SHARE/libc/pwd.c:101: assertion got status valid. [eva] computing for function __fc_getpw_r <- getpwnam_r <- main. - Called from FRAMAC_SHARE/libc/pwd.c:97. + Called from FRAMAC_SHARE/libc/pwd.c:102. [eva] computing for function Frama_C_interval <- __fc_getpw_r <- getpwnam_r <- main. - Called from FRAMAC_SHARE/libc/pwd.c:69. + Called from FRAMAC_SHARE/libc/pwd.c:74. [eva] Done for function Frama_C_interval [eva] computing for function Frama_C_interval <- __fc_getpw_r <- getpwnam_r <- main. - Called from FRAMAC_SHARE/libc/pwd.c:72. + Called from FRAMAC_SHARE/libc/pwd.c:77. [eva] Done for function Frama_C_interval [eva] computing for function Frama_C_interval <- __fc_getpw_r <- getpwnam_r <- main. - Called from FRAMAC_SHARE/libc/pwd.c:73. + Called from FRAMAC_SHARE/libc/pwd.c:78. [eva] Done for function Frama_C_interval [eva] computing for function Frama_C_interval <- __fc_getpw_r <- getpwnam_r <- main. - Called from FRAMAC_SHARE/libc/pwd.c:74. + Called from FRAMAC_SHARE/libc/pwd.c:79. [eva] Done for function Frama_C_interval -[eva] FRAMAC_SHARE/libc/pwd.c:82: Call to builtin strlen +[eva] FRAMAC_SHARE/libc/pwd.c:87: Call to builtin strlen [eva] computing for function strcpy <- __fc_getpw_r <- getpwnam_r <- main. - Called from FRAMAC_SHARE/libc/pwd.c:82. + Called from FRAMAC_SHARE/libc/pwd.c:87. [eva] Done for function strcpy -[eva] FRAMAC_SHARE/libc/pwd.c:83: Call to builtin strlen +[eva] FRAMAC_SHARE/libc/pwd.c:88: Call to builtin strlen [eva] computing for function strcpy <- __fc_getpw_r <- getpwnam_r <- main. - Called from FRAMAC_SHARE/libc/pwd.c:83. + Called from FRAMAC_SHARE/libc/pwd.c:88. [eva] Done for function strcpy -[eva] FRAMAC_SHARE/libc/pwd.c:84: Call to builtin strlen +[eva] FRAMAC_SHARE/libc/pwd.c:89: Call to builtin strlen [eva] computing for function strcpy <- __fc_getpw_r <- getpwnam_r <- main. - Called from FRAMAC_SHARE/libc/pwd.c:84. + Called from FRAMAC_SHARE/libc/pwd.c:89. [eva] Done for function strcpy -[eva] FRAMAC_SHARE/libc/pwd.c:85: Call to builtin strlen +[eva] FRAMAC_SHARE/libc/pwd.c:90: Call to builtin strlen [eva] computing for function strcpy <- __fc_getpw_r <- getpwnam_r <- main. - Called from FRAMAC_SHARE/libc/pwd.c:85. + Called from FRAMAC_SHARE/libc/pwd.c:90. [eva] Done for function strcpy -[eva] FRAMAC_SHARE/libc/pwd.c:86: Call to builtin strlen +[eva] FRAMAC_SHARE/libc/pwd.c:91: Call to builtin strlen [eva] computing for function strcpy <- __fc_getpw_r <- getpwnam_r <- main. - Called from FRAMAC_SHARE/libc/pwd.c:86. + Called from FRAMAC_SHARE/libc/pwd.c:91. [eva] Done for function strcpy [eva] computing for function Frama_C_unsigned_int_interval <- __fc_getpw_r <- getpwnam_r <- main. - Called from FRAMAC_SHARE/libc/pwd.c:87. + Called from FRAMAC_SHARE/libc/pwd.c:92. [eva] Done for function Frama_C_unsigned_int_interval [eva] computing for function Frama_C_unsigned_int_interval <- __fc_getpw_r <- getpwnam_r <- main. - Called from FRAMAC_SHARE/libc/pwd.c:88. + Called from FRAMAC_SHARE/libc/pwd.c:93. [eva] Done for function Frama_C_unsigned_int_interval [eva] Recording results for __fc_getpw_r [eva] Done for function __fc_getpw_r diff --git a/tests/libc/oracle/search_h.res.oracle b/tests/libc/oracle/search_h.res.oracle index b4d4733d9174d88e24ffc687e25e4d15ddd5ee7d..1737610be446fafaaf03fb7a1da4ca61e9d3426c 100644 --- a/tests/libc/oracle/search_h.res.oracle +++ b/tests/libc/oracle/search_h.res.oracle @@ -30,7 +30,7 @@ function strcpy: precondition 'room_string' got status unknown. [eva] search_h.c:31: function strcpy: precondition 'separation' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:373: +[eva] FRAMAC_SHARE/libc/string.h:425: cannot evaluate ACSL term, unsupported ACSL construct: logic function strcmp [eva] Done for function strcpy [eva:alarm] search_h.c:32: Warning: diff --git a/tests/libc/oracle/socket.0.res.oracle b/tests/libc/oracle/socket.0.res.oracle index d4f4aeb866fa02aacb1f2c4da06be3ecff46083d..a40bbd1511fc0e79478278af6a4a1cdb09d8ec25 100644 --- a/tests/libc/oracle/socket.0.res.oracle +++ b/tests/libc/oracle/socket.0.res.oracle @@ -133,7 +133,7 @@ Called from socket.c:103. [eva] using specification for function memset [eva] socket.c:103: function memset: precondition 'valid_s' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:134: +[eva] FRAMAC_SHARE/libc/string.h:151: cannot evaluate ACSL term, unsupported ACSL construct: logic function memset [eva] Done for function memset [eva] computing for function bind <- test_server_echo <- main. diff --git a/tests/libc/oracle/socket.1.res.oracle b/tests/libc/oracle/socket.1.res.oracle index 7724f66078e1eacf9e681f731fc3d8d6f9b0088f..6033f24ffd4818b594b92e3ede1308eab808ba4c 100644 --- a/tests/libc/oracle/socket.1.res.oracle +++ b/tests/libc/oracle/socket.1.res.oracle @@ -133,7 +133,7 @@ Called from socket.c:103. [eva] using specification for function memset [eva] socket.c:103: function memset: precondition 'valid_s' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:134: +[eva] FRAMAC_SHARE/libc/string.h:151: cannot evaluate ACSL term, unsupported ACSL construct: logic function memset [eva] Done for function memset [eva] computing for function bind <- test_server_echo <- main. diff --git a/tests/libc/oracle/stdatomic_c.res.oracle b/tests/libc/oracle/stdatomic_c.res.oracle index a76fc2013c7f17c8a2c8dd2124a88e55d4ed1feb..210a62db4e66a7990062661e041750ef79335adb 100644 --- a/tests/libc/oracle/stdatomic_c.res.oracle +++ b/tests/libc/oracle/stdatomic_c.res.oracle @@ -22,7 +22,7 @@ Called from stdatomic_c.c:10. [eva] computing for function Frama_C_nondet <- __fc_atomic_is_lock_free <- test_atomic_int <- main. - Called from FRAMAC_SHARE/libc/stdatomic.c:35. + Called from FRAMAC_SHARE/libc/stdatomic.c:36. [eva] using specification for function Frama_C_nondet [eva] Done for function Frama_C_nondet [eva] Recording results for __fc_atomic_is_lock_free @@ -42,7 +42,7 @@ [eva] Done for function __fc_atomic_load [eva] computing for function __fc_atomic_load_explicit <- test_atomic_int <- main. Called from stdatomic_c.c:14. -[eva] FRAMAC_SHARE/libc/stdatomic.c:57: +[eva] FRAMAC_SHARE/libc/stdatomic.c:60: Reusing old results for call to __fc_atomic_load [eva] Recording results for __fc_atomic_load_explicit [eva] Done for function __fc_atomic_load_explicit @@ -56,7 +56,7 @@ [eva] computing for function __fc_atomic_exchange <- __fc_atomic_exchange_explicit <- test_atomic_int <- main. - Called from FRAMAC_SHARE/libc/stdatomic.c:87. + Called from FRAMAC_SHARE/libc/stdatomic.c:90. [eva] Recording results for __fc_atomic_exchange [eva] Done for function __fc_atomic_exchange [eva] Recording results for __fc_atomic_exchange_explicit @@ -66,38 +66,38 @@ Called from stdatomic_c.c:17. [eva] computing for function memcmp <- __fc_atomic_compare_exchange_strong <- test_atomic_int <- main. - Called from FRAMAC_SHARE/libc/stdatomic.c:93. + Called from FRAMAC_SHARE/libc/stdatomic.c:96. [eva] using specification for function memcmp -[eva] FRAMAC_SHARE/libc/stdatomic.c:93: +[eva] FRAMAC_SHARE/libc/stdatomic.c:96: function memcmp: precondition 'valid_s1' got status valid. -[eva] FRAMAC_SHARE/libc/stdatomic.c:93: +[eva] FRAMAC_SHARE/libc/stdatomic.c:96: function memcmp: precondition 'valid_s2' got status valid. -[eva] FRAMAC_SHARE/libc/stdatomic.c:93: +[eva] FRAMAC_SHARE/libc/stdatomic.c:96: function memcmp: precondition 'initialization,s1' got status valid. -[eva] FRAMAC_SHARE/libc/stdatomic.c:93: +[eva] FRAMAC_SHARE/libc/stdatomic.c:96: function memcmp: precondition 'initialization,s2' got status valid. -[eva] FRAMAC_SHARE/libc/stdatomic.c:93: +[eva] FRAMAC_SHARE/libc/stdatomic.c:96: function memcmp: precondition 'danglingness,s1' got status valid. -[eva] FRAMAC_SHARE/libc/stdatomic.c:93: +[eva] FRAMAC_SHARE/libc/stdatomic.c:96: function memcmp: precondition 'danglingness,s2' got status valid. [eva] FRAMAC_SHARE/libc/string.h:63: cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp [eva] Done for function memcmp -[eva] FRAMAC_SHARE/libc/stdatomic.c:94: Call to builtin memcpy -[eva] FRAMAC_SHARE/libc/stdatomic.c:94: +[eva] FRAMAC_SHARE/libc/stdatomic.c:97: Call to builtin memcpy +[eva] FRAMAC_SHARE/libc/stdatomic.c:97: function memcpy: precondition 'valid_dest' got status valid. -[eva] FRAMAC_SHARE/libc/stdatomic.c:94: +[eva] FRAMAC_SHARE/libc/stdatomic.c:97: function memcpy: precondition 'valid_src' got status valid. -[eva] FRAMAC_SHARE/libc/stdatomic.c:94: +[eva] FRAMAC_SHARE/libc/stdatomic.c:97: function memcpy: precondition 'separation' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:101: +[eva] FRAMAC_SHARE/libc/string.h:118: cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp -[eva] FRAMAC_SHARE/libc/stdatomic.c:95: Call to builtin memcpy -[eva] FRAMAC_SHARE/libc/stdatomic.c:95: +[eva] FRAMAC_SHARE/libc/stdatomic.c:98: Call to builtin memcpy +[eva] FRAMAC_SHARE/libc/stdatomic.c:98: function memcpy: precondition 'valid_dest' got status valid. -[eva] FRAMAC_SHARE/libc/stdatomic.c:95: +[eva] FRAMAC_SHARE/libc/stdatomic.c:98: function memcpy: precondition 'valid_src' got status valid. -[eva] FRAMAC_SHARE/libc/stdatomic.c:95: +[eva] FRAMAC_SHARE/libc/stdatomic.c:98: function memcpy: precondition 'separation' got status valid. [eva] Recording results for __fc_atomic_compare_exchange_strong [eva] Done for function __fc_atomic_compare_exchange_strong @@ -107,14 +107,14 @@ [eva] computing for function __fc_atomic_compare_exchange_strong <- __fc_atomic_compare_exchange_strong_explicit <- test_atomic_int <- main. - Called from FRAMAC_SHARE/libc/stdatomic.c:104. + Called from FRAMAC_SHARE/libc/stdatomic.c:107. [eva] computing for function memcmp <- __fc_atomic_compare_exchange_strong <- __fc_atomic_compare_exchange_strong_explicit <- test_atomic_int <- main. - Called from FRAMAC_SHARE/libc/stdatomic.c:93. + Called from FRAMAC_SHARE/libc/stdatomic.c:96. [eva] Done for function memcmp -[eva] FRAMAC_SHARE/libc/stdatomic.c:94: Call to builtin memcpy -[eva] FRAMAC_SHARE/libc/stdatomic.c:95: Call to builtin memcpy +[eva] FRAMAC_SHARE/libc/stdatomic.c:97: Call to builtin memcpy +[eva] FRAMAC_SHARE/libc/stdatomic.c:98: Call to builtin memcpy [eva] Recording results for __fc_atomic_compare_exchange_strong [eva] Done for function __fc_atomic_compare_exchange_strong [eva] Recording results for __fc_atomic_compare_exchange_strong_explicit @@ -125,14 +125,14 @@ [eva] computing for function __fc_atomic_compare_exchange_strong <- __fc_atomic_compare_exchange_weak <- test_atomic_int <- main. - Called from FRAMAC_SHARE/libc/stdatomic.c:110. + Called from FRAMAC_SHARE/libc/stdatomic.c:113. [eva] computing for function memcmp <- __fc_atomic_compare_exchange_strong <- __fc_atomic_compare_exchange_weak <- test_atomic_int <- main. - Called from FRAMAC_SHARE/libc/stdatomic.c:93. + Called from FRAMAC_SHARE/libc/stdatomic.c:96. [eva] Done for function memcmp -[eva] FRAMAC_SHARE/libc/stdatomic.c:94: Call to builtin memcpy -[eva] FRAMAC_SHARE/libc/stdatomic.c:95: Call to builtin memcpy +[eva] FRAMAC_SHARE/libc/stdatomic.c:97: Call to builtin memcpy +[eva] FRAMAC_SHARE/libc/stdatomic.c:98: Call to builtin memcpy [eva] Recording results for __fc_atomic_compare_exchange_strong [eva] Done for function __fc_atomic_compare_exchange_strong [eva] Recording results for __fc_atomic_compare_exchange_weak @@ -143,14 +143,14 @@ [eva] computing for function __fc_atomic_compare_exchange_strong <- __fc_atomic_compare_exchange_weak_explicit <- test_atomic_int <- main. - Called from FRAMAC_SHARE/libc/stdatomic.c:118. + Called from FRAMAC_SHARE/libc/stdatomic.c:121. [eva] computing for function memcmp <- __fc_atomic_compare_exchange_strong <- __fc_atomic_compare_exchange_weak_explicit <- test_atomic_int <- main. - Called from FRAMAC_SHARE/libc/stdatomic.c:93. + Called from FRAMAC_SHARE/libc/stdatomic.c:96. [eva] Done for function memcmp -[eva] FRAMAC_SHARE/libc/stdatomic.c:94: Call to builtin memcpy -[eva] FRAMAC_SHARE/libc/stdatomic.c:95: Call to builtin memcpy +[eva] FRAMAC_SHARE/libc/stdatomic.c:97: Call to builtin memcpy +[eva] FRAMAC_SHARE/libc/stdatomic.c:98: Call to builtin memcpy [eva] Recording results for __fc_atomic_compare_exchange_strong [eva] Done for function __fc_atomic_compare_exchange_strong [eva] Recording results for __fc_atomic_compare_exchange_weak_explicit @@ -165,7 +165,7 @@ [eva] computing for function __fc_atomic_fetch_add <- __fc_atomic_fetch_add_explicit <- test_atomic_int <- main. - Called from FRAMAC_SHARE/libc/stdatomic.c:147. + Called from FRAMAC_SHARE/libc/stdatomic.c:150. [eva] Recording results for __fc_atomic_fetch_add [eva] Done for function __fc_atomic_fetch_add [eva] Recording results for __fc_atomic_fetch_add_explicit @@ -180,7 +180,7 @@ [eva] computing for function __fc_atomic_fetch_sub <- __fc_atomic_fetch_sub_explicit <- test_atomic_int <- main. - Called from FRAMAC_SHARE/libc/stdatomic.c:171. + Called from FRAMAC_SHARE/libc/stdatomic.c:174. [eva] Recording results for __fc_atomic_fetch_sub [eva] Done for function __fc_atomic_fetch_sub [eva] Recording results for __fc_atomic_fetch_sub_explicit @@ -195,7 +195,7 @@ [eva] computing for function __fc_atomic_fetch_or <- __fc_atomic_fetch_or_explicit <- test_atomic_int <- main. - Called from FRAMAC_SHARE/libc/stdatomic.c:195. + Called from FRAMAC_SHARE/libc/stdatomic.c:198. [eva] Recording results for __fc_atomic_fetch_or [eva] Done for function __fc_atomic_fetch_or [eva] Recording results for __fc_atomic_fetch_or_explicit @@ -210,7 +210,7 @@ [eva] computing for function __fc_atomic_fetch_xor <- __fc_atomic_fetch_xor_explicit <- test_atomic_int <- main. - Called from FRAMAC_SHARE/libc/stdatomic.c:225. + Called from FRAMAC_SHARE/libc/stdatomic.c:228. [eva] Recording results for __fc_atomic_fetch_xor [eva] Done for function __fc_atomic_fetch_xor [eva] Recording results for __fc_atomic_fetch_xor_explicit @@ -225,7 +225,7 @@ [eva] computing for function __fc_atomic_fetch_and <- __fc_atomic_fetch_and_explicit <- test_atomic_int <- main. - Called from FRAMAC_SHARE/libc/stdatomic.c:255. + Called from FRAMAC_SHARE/libc/stdatomic.c:258. [eva] Recording results for __fc_atomic_fetch_and [eva] Done for function __fc_atomic_fetch_and [eva] Recording results for __fc_atomic_fetch_and_explicit diff --git a/tests/libc/oracle/stdio_c.res.oracle b/tests/libc/oracle/stdio_c.res.oracle index 71ff8f9d0dd26170d780b01a42df3071ef8bc615..18fbf9a277c2ed6dc7374ed55bebb838fefb4795 100644 --- a/tests/libc/oracle/stdio_c.res.oracle +++ b/tests/libc/oracle/stdio_c.res.oracle @@ -5,352 +5,1059 @@ [eva:initial-state] Values of globals at initialization nondet ∈ [--..--] [eva] computing for function fopen <- main. - Called from stdio_c.c:12. + Called from stdio_c.c:16. [eva] using specification for function fopen -[eva] stdio_c.c:12: +[eva] stdio_c.c:16: function fopen: precondition 'valid_filename' got status valid. -[eva] stdio_c.c:12: function fopen: precondition 'valid_mode' got status valid. +[eva] stdio_c.c:16: function fopen: precondition 'valid_mode' got status valid. [eva] Done for function fopen [eva] computing for function getline <- main. - Called from stdio_c.c:14. + Called from stdio_c.c:18. [eva] computing for function ferror <- getline <- main. - Called from FRAMAC_SHARE/libc/stdio.c:68. + Called from FRAMAC_SHARE/libc/stdio.c:70. [eva] using specification for function ferror -[eva] FRAMAC_SHARE/libc/stdio.c:68: +[eva] FRAMAC_SHARE/libc/stdio.c:70: function ferror: precondition 'valid_stream' got status valid. [eva] Done for function ferror [eva] computing for function feof <- getline <- main. - Called from FRAMAC_SHARE/libc/stdio.c:68. + Called from FRAMAC_SHARE/libc/stdio.c:70. [eva] using specification for function feof -[eva] FRAMAC_SHARE/libc/stdio.c:68: +[eva] FRAMAC_SHARE/libc/stdio.c:70: function feof: precondition 'valid_stream' got status valid. [eva] Done for function feof -[eva] FRAMAC_SHARE/libc/stdio.c:73: Call to builtin malloc -[eva] FRAMAC_SHARE/libc/stdio.c:73: allocating variable __malloc_getline_l73 +[eva] FRAMAC_SHARE/libc/stdio.c:75: Call to builtin malloc +[eva] FRAMAC_SHARE/libc/stdio.c:75: allocating variable __malloc_getline_l75 [eva] computing for function ferror <- getline <- main. - Called from FRAMAC_SHARE/libc/stdio.c:82. -[eva] FRAMAC_SHARE/libc/stdio.c:82: + Called from FRAMAC_SHARE/libc/stdio.c:84. +[eva] FRAMAC_SHARE/libc/stdio.c:84: function ferror: precondition 'valid_stream' got status valid. [eva] Done for function ferror [eva] computing for function feof <- getline <- main. - Called from FRAMAC_SHARE/libc/stdio.c:82. -[eva] FRAMAC_SHARE/libc/stdio.c:82: + Called from FRAMAC_SHARE/libc/stdio.c:84. +[eva] FRAMAC_SHARE/libc/stdio.c:84: function feof: precondition 'valid_stream' got status valid. [eva] Done for function feof [eva] computing for function fgetc <- getline <- main. - Called from FRAMAC_SHARE/libc/stdio.c:84. + Called from FRAMAC_SHARE/libc/stdio.c:86. [eva] computing for function Frama_C_interval <- fgetc <- getline <- main. - Called from FRAMAC_SHARE/libc/stdio.c:174. + Called from FRAMAC_SHARE/libc/stdio.c:181. [eva] using specification for function Frama_C_interval -[eva] FRAMAC_SHARE/libc/stdio.c:174: +[eva] FRAMAC_SHARE/libc/stdio.c:181: function Frama_C_interval: precondition 'order' got status valid. [eva] Done for function Frama_C_interval [eva] computing for function Frama_C_interval <- fgetc <- getline <- main. - Called from FRAMAC_SHARE/libc/stdio.c:185. -[eva] FRAMAC_SHARE/libc/stdio.c:185: + Called from FRAMAC_SHARE/libc/stdio.c:192. +[eva] FRAMAC_SHARE/libc/stdio.c:192: function Frama_C_interval: precondition 'order' got status valid. [eva] Done for function Frama_C_interval [eva] computing for function Frama_C_interval <- fgetc <- getline <- main. - Called from FRAMAC_SHARE/libc/stdio.c:190. -[eva] FRAMAC_SHARE/libc/stdio.c:190: + Called from FRAMAC_SHARE/libc/stdio.c:197. +[eva] FRAMAC_SHARE/libc/stdio.c:197: function Frama_C_interval: precondition 'order' got status valid. [eva] Done for function Frama_C_interval [eva] computing for function Frama_C_unsigned_char_interval <- fgetc <- getline <- main. - Called from FRAMAC_SHARE/libc/stdio.c:193. + Called from FRAMAC_SHARE/libc/stdio.c:200. [eva] using specification for function Frama_C_unsigned_char_interval -[eva] FRAMAC_SHARE/libc/stdio.c:193: +[eva] FRAMAC_SHARE/libc/stdio.c:200: function Frama_C_unsigned_char_interval: precondition 'order' got status valid. [eva] Done for function Frama_C_unsigned_char_interval [eva] Recording results for fgetc [eva] Done for function fgetc -[eva] FRAMAC_SHARE/libc/stdio.c:83: starting to merge loop iterations -[eva] FRAMAC_SHARE/libc/stdio.c:84: Reusing old results for call to fgetc -[eva] FRAMAC_SHARE/libc/stdio.c:104: Call to builtin realloc -[eva] FRAMAC_SHARE/libc/stdio.c:104: +[eva] FRAMAC_SHARE/libc/stdio.c:85: starting to merge loop iterations +[eva] FRAMAC_SHARE/libc/stdio.c:86: Reusing old results for call to fgetc +[eva] FRAMAC_SHARE/libc/stdio.c:106: Call to builtin realloc +[eva] FRAMAC_SHARE/libc/stdio.c:106: function realloc: precondition 'freeable' got status valid. -[eva] FRAMAC_SHARE/libc/stdio.c:104: allocating variable __realloc_getline_l104 -[eva] FRAMAC_SHARE/libc/stdio.c:82: starting to merge loop iterations +[eva] FRAMAC_SHARE/libc/stdio.c:106: allocating variable __realloc_getline_l106 +[eva] FRAMAC_SHARE/libc/stdio.c:84: starting to merge loop iterations [eva] computing for function ferror <- getline <- main. - Called from FRAMAC_SHARE/libc/stdio.c:82. + Called from FRAMAC_SHARE/libc/stdio.c:84. [eva] Done for function ferror [eva] computing for function feof <- getline <- main. - Called from FRAMAC_SHARE/libc/stdio.c:82. + Called from FRAMAC_SHARE/libc/stdio.c:84. [eva] Done for function feof -[eva] FRAMAC_SHARE/libc/stdio.c:84: Reusing old results for call to fgetc -[eva] FRAMAC_SHARE/libc/stdio.c:84: Reusing old results for call to fgetc -[eva] FRAMAC_SHARE/libc/stdio.c:104: Call to builtin realloc +[eva] FRAMAC_SHARE/libc/stdio.c:86: Reusing old results for call to fgetc +[eva] FRAMAC_SHARE/libc/stdio.c:86: Reusing old results for call to fgetc +[eva] FRAMAC_SHARE/libc/stdio.c:106: Call to builtin realloc [eva] computing for function ferror <- getline <- main. - Called from FRAMAC_SHARE/libc/stdio.c:82. + Called from FRAMAC_SHARE/libc/stdio.c:84. [eva] Done for function ferror [eva] computing for function feof <- getline <- main. - Called from FRAMAC_SHARE/libc/stdio.c:82. + Called from FRAMAC_SHARE/libc/stdio.c:84. [eva] Done for function feof -[eva] FRAMAC_SHARE/libc/stdio.c:84: Reusing old results for call to fgetc -[eva:alarm] FRAMAC_SHARE/libc/stdio.c:90: Warning: +[eva] FRAMAC_SHARE/libc/stdio.c:86: Reusing old results for call to fgetc +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:92: Warning: out of bounds write. assert \valid(*lineptr + tmp_2); (tmp_2 from cur++) -[eva] FRAMAC_SHARE/libc/stdio.c:84: Reusing old results for call to fgetc -[eva] FRAMAC_SHARE/libc/stdio.c:104: Call to builtin realloc +[eva] FRAMAC_SHARE/libc/stdio.c:86: Reusing old results for call to fgetc +[eva] FRAMAC_SHARE/libc/stdio.c:106: Call to builtin realloc [eva] computing for function ferror <- getline <- main. - Called from FRAMAC_SHARE/libc/stdio.c:82. + Called from FRAMAC_SHARE/libc/stdio.c:84. [eva] Done for function ferror [eva] computing for function feof <- getline <- main. - Called from FRAMAC_SHARE/libc/stdio.c:82. + Called from FRAMAC_SHARE/libc/stdio.c:84. [eva] Done for function feof -[eva] FRAMAC_SHARE/libc/stdio.c:84: Reusing old results for call to fgetc -[eva] FRAMAC_SHARE/libc/stdio.c:84: Reusing old results for call to fgetc -[eva] FRAMAC_SHARE/libc/stdio.c:104: Call to builtin realloc +[eva] FRAMAC_SHARE/libc/stdio.c:86: Reusing old results for call to fgetc +[eva] FRAMAC_SHARE/libc/stdio.c:86: Reusing old results for call to fgetc +[eva] FRAMAC_SHARE/libc/stdio.c:106: Call to builtin realloc [eva] computing for function ferror <- getline <- main. - Called from FRAMAC_SHARE/libc/stdio.c:82. + Called from FRAMAC_SHARE/libc/stdio.c:84. [eva] Done for function ferror [eva] computing for function feof <- getline <- main. - Called from FRAMAC_SHARE/libc/stdio.c:82. + Called from FRAMAC_SHARE/libc/stdio.c:84. [eva] Done for function feof -[eva] FRAMAC_SHARE/libc/stdio.c:84: Reusing old results for call to fgetc -[eva] FRAMAC_SHARE/libc/stdio.c:104: Call to builtin realloc -[eva:alarm] FRAMAC_SHARE/libc/stdio.c:93: Warning: +[eva] FRAMAC_SHARE/libc/stdio.c:86: Reusing old results for call to fgetc +[eva] FRAMAC_SHARE/libc/stdio.c:106: Call to builtin realloc +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:95: Warning: out of bounds write. assert \valid(*lineptr + cur); [eva] Recording results for getline [eva] Done for function getline -[eva:alarm] stdio_c.c:15: Warning: assertion 'read_ok' got status unknown. -[eva] stdio_c.c:16: Call to builtin strlen -[eva:alarm] stdio_c.c:16: Warning: +[eva:alarm] stdio_c.c:19: Warning: assertion 'read_ok' got status unknown. +[eva] stdio_c.c:20: Call to builtin strlen +[eva:alarm] stdio_c.c:20: Warning: function strlen: precondition 'valid_string_s' got status unknown. -[eva:alarm] stdio_c.c:17: Warning: assertion 'read_bytes' got status unknown. -[eva:alarm] stdio_c.c:18: Warning: +[eva:alarm] stdio_c.c:21: Warning: assertion 'read_bytes' got status unknown. +[eva:alarm] stdio_c.c:22: Warning: assertion 'allocated_enough' got status unknown. -[eva] stdio_c.c:14: starting to merge loop iterations +[eva] stdio_c.c:18: starting to merge loop iterations [eva] computing for function getline <- main. - Called from stdio_c.c:14. + Called from stdio_c.c:18. [eva] computing for function ferror <- getline <- main. - Called from FRAMAC_SHARE/libc/stdio.c:68. + Called from FRAMAC_SHARE/libc/stdio.c:70. [eva] Done for function ferror [eva] computing for function feof <- getline <- main. - Called from FRAMAC_SHARE/libc/stdio.c:68. + Called from FRAMAC_SHARE/libc/stdio.c:70. [eva] Done for function feof -[eva] FRAMAC_SHARE/libc/stdio.c:73: Call to builtin malloc +[eva] FRAMAC_SHARE/libc/stdio.c:75: Call to builtin malloc [eva] computing for function ferror <- getline <- main. - Called from FRAMAC_SHARE/libc/stdio.c:82. + Called from FRAMAC_SHARE/libc/stdio.c:84. [eva] Done for function ferror [eva] computing for function feof <- getline <- main. - Called from FRAMAC_SHARE/libc/stdio.c:82. + Called from FRAMAC_SHARE/libc/stdio.c:84. [eva] Done for function feof -[eva] FRAMAC_SHARE/libc/stdio.c:84: Reusing old results for call to fgetc -[eva] FRAMAC_SHARE/libc/stdio.c:84: Reusing old results for call to fgetc -[eva] FRAMAC_SHARE/libc/stdio.c:84: Reusing old results for call to fgetc -[eva] FRAMAC_SHARE/libc/stdio.c:84: Reusing old results for call to fgetc -[eva] FRAMAC_SHARE/libc/stdio.c:104: Call to builtin realloc +[eva] FRAMAC_SHARE/libc/stdio.c:86: Reusing old results for call to fgetc +[eva] FRAMAC_SHARE/libc/stdio.c:86: Reusing old results for call to fgetc +[eva] FRAMAC_SHARE/libc/stdio.c:86: Reusing old results for call to fgetc +[eva] FRAMAC_SHARE/libc/stdio.c:86: Reusing old results for call to fgetc +[eva] FRAMAC_SHARE/libc/stdio.c:106: Call to builtin realloc [eva] computing for function ferror <- getline <- main. - Called from FRAMAC_SHARE/libc/stdio.c:82. + Called from FRAMAC_SHARE/libc/stdio.c:84. [eva] Done for function ferror [eva] computing for function feof <- getline <- main. - Called from FRAMAC_SHARE/libc/stdio.c:82. + Called from FRAMAC_SHARE/libc/stdio.c:84. [eva] Done for function feof [eva] Recording results for getline [eva] Done for function getline -[eva] stdio_c.c:16: Call to builtin strlen +[eva] stdio_c.c:20: Call to builtin strlen [eva] computing for function getline <- main. - Called from stdio_c.c:14. + Called from stdio_c.c:18. [eva] computing for function ferror <- getline <- main. - Called from FRAMAC_SHARE/libc/stdio.c:68. + Called from FRAMAC_SHARE/libc/stdio.c:70. [eva] Done for function ferror [eva] computing for function feof <- getline <- main. - Called from FRAMAC_SHARE/libc/stdio.c:68. + Called from FRAMAC_SHARE/libc/stdio.c:70. [eva] Done for function feof -[eva] FRAMAC_SHARE/libc/stdio.c:73: Call to builtin malloc +[eva] FRAMAC_SHARE/libc/stdio.c:75: Call to builtin malloc [eva] computing for function ferror <- getline <- main. - Called from FRAMAC_SHARE/libc/stdio.c:82. + Called from FRAMAC_SHARE/libc/stdio.c:84. [eva] Done for function ferror [eva] computing for function feof <- getline <- main. - Called from FRAMAC_SHARE/libc/stdio.c:82. + Called from FRAMAC_SHARE/libc/stdio.c:84. [eva] Done for function feof -[eva] FRAMAC_SHARE/libc/stdio.c:84: Reusing old results for call to fgetc -[eva] FRAMAC_SHARE/libc/stdio.c:84: Reusing old results for call to fgetc -[eva] FRAMAC_SHARE/libc/stdio.c:84: Reusing old results for call to fgetc -[eva] FRAMAC_SHARE/libc/stdio.c:84: Reusing old results for call to fgetc -[eva] FRAMAC_SHARE/libc/stdio.c:104: Call to builtin realloc +[eva] FRAMAC_SHARE/libc/stdio.c:86: Reusing old results for call to fgetc +[eva] FRAMAC_SHARE/libc/stdio.c:86: Reusing old results for call to fgetc +[eva] FRAMAC_SHARE/libc/stdio.c:86: Reusing old results for call to fgetc +[eva] FRAMAC_SHARE/libc/stdio.c:86: Reusing old results for call to fgetc +[eva] FRAMAC_SHARE/libc/stdio.c:106: Call to builtin realloc [eva] computing for function ferror <- getline <- main. - Called from FRAMAC_SHARE/libc/stdio.c:82. + Called from FRAMAC_SHARE/libc/stdio.c:84. [eva] Done for function ferror [eva] computing for function feof <- getline <- main. - Called from FRAMAC_SHARE/libc/stdio.c:82. + Called from FRAMAC_SHARE/libc/stdio.c:84. [eva] Done for function feof [eva] Recording results for getline [eva] Done for function getline -[eva] stdio_c.c:16: Call to builtin strlen +[eva] stdio_c.c:20: Call to builtin strlen [eva] computing for function getline <- main. - Called from stdio_c.c:14. + Called from stdio_c.c:18. [eva] computing for function ferror <- getline <- main. - Called from FRAMAC_SHARE/libc/stdio.c:68. + Called from FRAMAC_SHARE/libc/stdio.c:70. [eva] Done for function ferror [eva] computing for function feof <- getline <- main. - Called from FRAMAC_SHARE/libc/stdio.c:68. + Called from FRAMAC_SHARE/libc/stdio.c:70. [eva] Done for function feof -[eva] FRAMAC_SHARE/libc/stdio.c:73: Call to builtin malloc +[eva] FRAMAC_SHARE/libc/stdio.c:75: Call to builtin malloc [eva] computing for function ferror <- getline <- main. - Called from FRAMAC_SHARE/libc/stdio.c:82. + Called from FRAMAC_SHARE/libc/stdio.c:84. [eva] Done for function ferror [eva] computing for function feof <- getline <- main. - Called from FRAMAC_SHARE/libc/stdio.c:82. + Called from FRAMAC_SHARE/libc/stdio.c:84. [eva] Done for function feof -[eva] FRAMAC_SHARE/libc/stdio.c:84: Reusing old results for call to fgetc -[eva] FRAMAC_SHARE/libc/stdio.c:84: Reusing old results for call to fgetc -[eva] FRAMAC_SHARE/libc/stdio.c:84: Reusing old results for call to fgetc -[eva] FRAMAC_SHARE/libc/stdio.c:84: Reusing old results for call to fgetc -[eva] FRAMAC_SHARE/libc/stdio.c:104: Call to builtin realloc +[eva] FRAMAC_SHARE/libc/stdio.c:86: Reusing old results for call to fgetc +[eva] FRAMAC_SHARE/libc/stdio.c:86: Reusing old results for call to fgetc +[eva] FRAMAC_SHARE/libc/stdio.c:86: Reusing old results for call to fgetc +[eva] FRAMAC_SHARE/libc/stdio.c:86: Reusing old results for call to fgetc +[eva] FRAMAC_SHARE/libc/stdio.c:106: Call to builtin realloc [eva] computing for function ferror <- getline <- main. - Called from FRAMAC_SHARE/libc/stdio.c:82. + Called from FRAMAC_SHARE/libc/stdio.c:84. [eva] Done for function ferror [eva] computing for function feof <- getline <- main. - Called from FRAMAC_SHARE/libc/stdio.c:82. + Called from FRAMAC_SHARE/libc/stdio.c:84. [eva] Done for function feof [eva] Recording results for getline [eva] Done for function getline -[eva] stdio_c.c:16: Call to builtin strlen -[eva] stdio_c.c:20: Call to builtin free -[eva] stdio_c.c:20: function free: precondition 'freeable' got status valid. +[eva] stdio_c.c:20: Call to builtin strlen +[eva] stdio_c.c:24: Call to builtin free +[eva] stdio_c.c:24: function free: precondition 'freeable' got status valid. [eva] computing for function fclose <- main. - Called from stdio_c.c:21. + Called from stdio_c.c:25. [eva] using specification for function fclose -[eva] stdio_c.c:21: +[eva] stdio_c.c:25: function fclose: precondition 'valid_stream' got status valid. [eva] Done for function fclose [eva] computing for function asprintf <- main. - Called from stdio_c.c:28. -[eva] computing for function Frama_C_interval <- asprintf <- main. + Called from stdio_c.c:31. +[eva] computing for function vasprintf <- asprintf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:137. +[eva] computing for function Frama_C_interval <- vasprintf <- asprintf <- main. Called from FRAMAC_SHARE/libc/stdio.c:123. [eva] FRAMAC_SHARE/libc/stdio.c:123: function Frama_C_interval: precondition 'order' got status valid. [eva] Done for function Frama_C_interval [eva] FRAMAC_SHARE/libc/stdio.c:124: Call to builtin malloc -[eva] FRAMAC_SHARE/libc/stdio.c:124: allocating variable __malloc_asprintf_l124 -[eva] computing for function Frama_C_make_unknown <- asprintf <- main. - Called from FRAMAC_SHARE/libc/stdio.c:130. +[eva] FRAMAC_SHARE/libc/stdio.c:124: allocating variable __malloc_vasprintf_l124 +[eva] computing for function Frama_C_make_unknown <- vasprintf <- asprintf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:129. [eva] using specification for function Frama_C_make_unknown -[eva:alarm] FRAMAC_SHARE/libc/stdio.c:130: Warning: +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:129: Warning: function Frama_C_make_unknown: precondition 'valid_p' got status unknown. [eva] Done for function Frama_C_make_unknown -[eva:alarm] FRAMAC_SHARE/libc/stdio.c:131: Warning: +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:130: Warning: out of bounds write. assert \valid(*strp + (size_t)(len - 1U)); +[eva] Recording results for vasprintf +[eva] Done for function vasprintf [eva] Recording results for asprintf [eva] Done for function asprintf [eva] computing for function printf_va_1 <- main. - Called from stdio_c.c:30. + Called from stdio_c.c:33. [eva] using specification for function printf_va_1 -[eva:alarm] stdio_c.c:30: Warning: +[eva:alarm] stdio_c.c:33: Warning: function printf_va_1: precondition valid_read_string(param0) got status unknown. -[eva] stdio_c.c:30: +[eva] stdio_c.c:33: function printf_va_1: precondition valid_read_string(format) got status valid. [eva] Done for function printf_va_1 -[eva] stdio_c.c:31: Call to builtin free -[eva] stdio_c.c:31: function free: precondition 'freeable' got status valid. +[eva] stdio_c.c:34: Call to builtin free +[eva] stdio_c.c:34: function free: precondition 'freeable' got status valid. [eva] computing for function fmemopen <- main. - Called from stdio_c.c:39. + Called from stdio_c.c:42. [eva] computing for function is_valid_mode <- fmemopen <- main. - Called from FRAMAC_SHARE/libc/stdio.c:206. + Called from FRAMAC_SHARE/libc/stdio.c:213. [eva] Recording results for is_valid_mode [eva] Done for function is_valid_mode -[eva] FRAMAC_SHARE/libc/stdio.c:224: Call to builtin malloc -[eva] FRAMAC_SHARE/libc/stdio.c:224: allocating variable __malloc_fmemopen_l224 +[eva] FRAMAC_SHARE/libc/stdio.c:231: Call to builtin malloc +[eva] FRAMAC_SHARE/libc/stdio.c:231: allocating variable __malloc_fmemopen_l231 [eva] computing for function Frama_C_interval <- fmemopen <- main. - Called from FRAMAC_SHARE/libc/stdio.c:232. -[eva] FRAMAC_SHARE/libc/stdio.c:232: + Called from FRAMAC_SHARE/libc/stdio.c:239. +[eva] FRAMAC_SHARE/libc/stdio.c:239: function Frama_C_interval: precondition 'order' got status valid. [eva] Done for function Frama_C_interval [eva] computing for function Frama_C_interval <- fmemopen <- main. - Called from FRAMAC_SHARE/libc/stdio.c:237. -[eva] FRAMAC_SHARE/libc/stdio.c:237: + Called from FRAMAC_SHARE/libc/stdio.c:244. +[eva] FRAMAC_SHARE/libc/stdio.c:244: function Frama_C_interval: precondition 'order' got status valid. [eva] Done for function Frama_C_interval [eva] Recording results for fmemopen [eva] Done for function fmemopen [eva] computing for function fwrite <- main. - Called from stdio_c.c:42. + Called from stdio_c.c:45. [eva] using specification for function fwrite -[eva] stdio_c.c:42: +[eva] stdio_c.c:45: function fwrite: precondition 'valid_ptr_block' got status valid. -[eva] stdio_c.c:42: +[eva] stdio_c.c:45: function fwrite: precondition 'valid_stream' got status valid. [eva] Done for function fwrite -[eva] stdio_c.c:43: assertion got status valid. +[eva] stdio_c.c:46: assertion got status valid. [eva] computing for function getchar <- main. - Called from stdio_c.c:46. + Called from stdio_c.c:49. [eva] computing for function fgetc <- getchar <- main. - Called from FRAMAC_SHARE/libc/stdio.c:198. + Called from FRAMAC_SHARE/libc/stdio.c:205. [eva] computing for function Frama_C_interval <- fgetc <- getchar <- main. - Called from FRAMAC_SHARE/libc/stdio.c:174. + Called from FRAMAC_SHARE/libc/stdio.c:181. [eva] Done for function Frama_C_interval [eva] computing for function Frama_C_interval <- fgetc <- getchar <- main. - Called from FRAMAC_SHARE/libc/stdio.c:185. + Called from FRAMAC_SHARE/libc/stdio.c:192. [eva] Done for function Frama_C_interval [eva] computing for function Frama_C_interval <- fgetc <- getchar <- main. - Called from FRAMAC_SHARE/libc/stdio.c:190. + Called from FRAMAC_SHARE/libc/stdio.c:197. [eva] Done for function Frama_C_interval [eva] computing for function Frama_C_unsigned_char_interval <- fgetc <- getchar <- main. - Called from FRAMAC_SHARE/libc/stdio.c:193. + Called from FRAMAC_SHARE/libc/stdio.c:200. [eva] Done for function Frama_C_unsigned_char_interval [eva] Recording results for fgetc [eva] Done for function fgetc [eva] Recording results for getchar [eva] Done for function getchar -[eva] stdio_c.c:47: Frama_C_show_each_getchar: [-1..255] -[eva] stdio_c.c:48: Reusing old results for call to fgetc -[eva] stdio_c.c:49: Frama_C_show_each_fgetc: [-1..255] +[eva] stdio_c.c:50: Frama_C_show_each_getchar: [-1..255] +[eva] stdio_c.c:51: Reusing old results for call to fgetc +[eva] stdio_c.c:52: Frama_C_show_each_fgetc: [-1..255] [eva] computing for function fgets <- main. - Called from stdio_c.c:51. + Called from stdio_c.c:54. [eva] computing for function Frama_C_interval <- fgets <- main. - Called from FRAMAC_SHARE/libc/stdio.c:136. -[eva] FRAMAC_SHARE/libc/stdio.c:136: + Called from FRAMAC_SHARE/libc/stdio.c:143. +[eva] FRAMAC_SHARE/libc/stdio.c:143: function Frama_C_interval: precondition 'order' got status valid. [eva] Done for function Frama_C_interval [eva] computing for function Frama_C_interval <- fgets <- main. - Called from FRAMAC_SHARE/libc/stdio.c:147. -[eva] FRAMAC_SHARE/libc/stdio.c:147: + Called from FRAMAC_SHARE/libc/stdio.c:154. +[eva] FRAMAC_SHARE/libc/stdio.c:154: function Frama_C_interval: precondition 'order' got status valid. [eva] Done for function Frama_C_interval [eva] computing for function Frama_C_interval <- fgets <- main. - Called from FRAMAC_SHARE/libc/stdio.c:154. -[eva] FRAMAC_SHARE/libc/stdio.c:154: + Called from FRAMAC_SHARE/libc/stdio.c:161. +[eva] FRAMAC_SHARE/libc/stdio.c:161: function Frama_C_interval: precondition 'order' got status valid. [eva] Done for function Frama_C_interval [eva] computing for function Frama_C_interval <- fgets <- main. - Called from FRAMAC_SHARE/libc/stdio.c:160. -[eva] FRAMAC_SHARE/libc/stdio.c:160: + Called from FRAMAC_SHARE/libc/stdio.c:167. +[eva] FRAMAC_SHARE/libc/stdio.c:167: function Frama_C_interval: precondition 'order' got status valid. [eva] Done for function Frama_C_interval -[eva] FRAMAC_SHARE/libc/stdio.c:151: starting to merge loop iterations +[eva] FRAMAC_SHARE/libc/stdio.c:158: starting to merge loop iterations [eva] computing for function Frama_C_interval <- fgets <- main. - Called from FRAMAC_SHARE/libc/stdio.c:154. + Called from FRAMAC_SHARE/libc/stdio.c:161. [eva] Done for function Frama_C_interval [eva] computing for function Frama_C_interval <- fgets <- main. - Called from FRAMAC_SHARE/libc/stdio.c:160. + Called from FRAMAC_SHARE/libc/stdio.c:167. [eva] Done for function Frama_C_interval [eva] computing for function Frama_C_interval <- fgets <- main. - Called from FRAMAC_SHARE/libc/stdio.c:154. + Called from FRAMAC_SHARE/libc/stdio.c:161. [eva] Done for function Frama_C_interval [eva] computing for function Frama_C_interval <- fgets <- main. - Called from FRAMAC_SHARE/libc/stdio.c:160. + Called from FRAMAC_SHARE/libc/stdio.c:167. [eva] Done for function Frama_C_interval [eva] computing for function Frama_C_interval <- fgets <- main. - Called from FRAMAC_SHARE/libc/stdio.c:154. + Called from FRAMAC_SHARE/libc/stdio.c:161. [eva] Done for function Frama_C_interval [eva] computing for function Frama_C_interval <- fgets <- main. - Called from FRAMAC_SHARE/libc/stdio.c:160. + Called from FRAMAC_SHARE/libc/stdio.c:167. [eva] Done for function Frama_C_interval [eva] computing for function Frama_C_interval <- fgets <- main. - Called from FRAMAC_SHARE/libc/stdio.c:154. + Called from FRAMAC_SHARE/libc/stdio.c:161. [eva] Done for function Frama_C_interval [eva] computing for function Frama_C_interval <- fgets <- main. - Called from FRAMAC_SHARE/libc/stdio.c:160. + Called from FRAMAC_SHARE/libc/stdio.c:167. [eva] Done for function Frama_C_interval -[eva:alarm] FRAMAC_SHARE/libc/stdio.c:169: Warning: +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:176: Warning: out of bounds write. assert \valid(s + i); [eva] Recording results for fgets [eva] Done for function fgets -[eva:alarm] stdio_c.c:53: Warning: +[eva:alarm] stdio_c.c:56: Warning: assertion 'at_least_one_char' got status unknown. +[eva] computing for function caller_stub_for_vscanf <- main. + Called from stdio_c.c:66. +[eva] computing for function vscanf <- caller_stub_for_vscanf <- main. + Called from stdio_c.c:79. +[eva] computing for function vfscanf <- vscanf <- caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:513. +[eva] FRAMAC_SHARE/libc/stdio.c:265: starting to merge loop iterations +[eva] computing for function Frama_C_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:350. +[eva] FRAMAC_SHARE/libc/stdio.c:350: + function Frama_C_interval: precondition 'order' got status valid. +[eva] Done for function Frama_C_interval +[eva] FRAMAC_SHARE/libc/stdio.c:256: starting to merge loop iterations +[eva] FRAMAC_SHARE/libc/stdio.c:280: starting to merge loop iterations +[eva] FRAMAC_SHARE/libc/stdio.c:338: starting to merge loop iterations +[eva] computing for function Frama_C_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:350. +[eva] Done for function Frama_C_interval +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:350: Warning: + out of bounds write. assert \valid(tmp_0); + (tmp_0 from vararg) +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:340: Warning: + out of bounds read. assert \valid_read(arg); +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:350: Warning: + out of bounds read. assert \valid_read(arg); +[eva] computing for function Frama_C_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:350. +[eva] Done for function Frama_C_interval +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:353: Warning: + out of bounds read. assert \valid_read(arg); +[eva] computing for function Frama_C_char_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:353. +[eva] using specification for function Frama_C_char_interval +[eva] FRAMAC_SHARE/libc/stdio.c:353: + function Frama_C_char_interval: precondition 'order' got status valid. +[eva] Done for function Frama_C_char_interval +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:356: Warning: + out of bounds read. assert \valid_read(arg); +[eva] computing for function Frama_C_short_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:356. +[eva] using specification for function Frama_C_short_interval +[eva] FRAMAC_SHARE/libc/stdio.c:356: + function Frama_C_short_interval: precondition 'order' got status valid. +[eva] Done for function Frama_C_short_interval +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:356: Warning: + out of bounds write. assert \valid(tmp_2_0); + (tmp_2_0 from vararg) +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:359: Warning: + out of bounds read. assert \valid_read(arg); +[eva] computing for function Frama_C_long_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:359. +[eva] using specification for function Frama_C_long_interval +[eva] FRAMAC_SHARE/libc/stdio.c:359: + function Frama_C_long_interval: precondition 'order' got status valid. +[eva] Done for function Frama_C_long_interval +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:359: Warning: + out of bounds write. assert \valid(tmp_3); + (tmp_3 from vararg) +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:363: Warning: + out of bounds read. assert \valid_read(arg); +[eva] computing for function Frama_C_long_long_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:364. +[eva] using specification for function Frama_C_long_long_interval +[eva] FRAMAC_SHARE/libc/stdio.c:364: + function Frama_C_long_long_interval: precondition 'order' got status valid. +[eva] Done for function Frama_C_long_long_interval +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:364: Warning: + out of bounds write. assert \valid(tmp_4); + (tmp_4 from vararg) +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:367: Warning: + out of bounds read. assert \valid_read(arg); +[eva] computing for function Frama_C_intmax_t_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:368. +[eva] using specification for function Frama_C_intmax_t_interval +[eva] FRAMAC_SHARE/libc/stdio.c:368: + function Frama_C_intmax_t_interval: precondition 'order' got status valid. +[eva] Done for function Frama_C_intmax_t_interval +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:368: Warning: + out of bounds write. assert \valid(tmp_5); + (tmp_5 from vararg) +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:371: Warning: + out of bounds read. assert \valid_read(arg); +[eva] computing for function Frama_C_size_t_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:371. +[eva] using specification for function Frama_C_size_t_interval +[eva] FRAMAC_SHARE/libc/stdio.c:371: + function Frama_C_size_t_interval: precondition 'order' got status valid. +[eva] Done for function Frama_C_size_t_interval +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:371: Warning: + out of bounds write. assert \valid(tmp_6); + (tmp_6 from vararg) +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:374: Warning: + out of bounds read. assert \valid_read(arg); +[eva] computing for function Frama_C_ptrdiff_t_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:375. +[eva] using specification for function Frama_C_ptrdiff_t_interval +[eva] FRAMAC_SHARE/libc/stdio.c:375: + function Frama_C_ptrdiff_t_interval: precondition 'order' got status valid. +[eva] Done for function Frama_C_ptrdiff_t_interval +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:375: Warning: + out of bounds write. assert \valid(tmp_7); + (tmp_7 from vararg) +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:385: Warning: + out of bounds read. assert \valid_read(arg); +[eva] computing for function Frama_C_unsigned_int_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:386. +[eva] using specification for function Frama_C_unsigned_int_interval +[eva] FRAMAC_SHARE/libc/stdio.c:386: + function Frama_C_unsigned_int_interval: precondition 'order' got status valid. +[eva] Done for function Frama_C_unsigned_int_interval +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:386: Warning: + out of bounds write. assert \valid(tmp_8); + (tmp_8 from vararg) +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:389: Warning: + out of bounds read. assert \valid_read(arg); +[eva] computing for function Frama_C_unsigned_char_interval <- vfscanf <- + vscanf <- caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:390. +[eva] FRAMAC_SHARE/libc/stdio.c:390: + function Frama_C_unsigned_char_interval: precondition 'order' got status valid. +[eva] Done for function Frama_C_unsigned_char_interval +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:393: Warning: + out of bounds read. assert \valid_read(arg); +[eva] computing for function Frama_C_unsigned_short_interval <- vfscanf <- + vscanf <- caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:394. +[eva] using specification for function Frama_C_unsigned_short_interval +[eva] FRAMAC_SHARE/libc/stdio.c:394: + function Frama_C_unsigned_short_interval: precondition 'order' got status valid. +[eva] Done for function Frama_C_unsigned_short_interval +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:394: Warning: + out of bounds write. assert \valid(tmp_10); + (tmp_10 from vararg) +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:397: Warning: + out of bounds read. assert \valid_read(arg); +[eva] computing for function Frama_C_unsigned_long_interval <- vfscanf <- + vscanf <- caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:398. +[eva] using specification for function Frama_C_unsigned_long_interval +[eva] FRAMAC_SHARE/libc/stdio.c:398: + function Frama_C_unsigned_long_interval: precondition 'order' got status valid. +[eva] Done for function Frama_C_unsigned_long_interval +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:398: Warning: + out of bounds write. assert \valid(tmp_11); + (tmp_11 from vararg) +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:402: Warning: + out of bounds read. assert \valid_read(arg); +[eva] computing for function Frama_C_unsigned_long_long_interval <- vfscanf <- + vscanf <- caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:403. +[eva] using specification for function Frama_C_unsigned_long_long_interval +[eva] FRAMAC_SHARE/libc/stdio.c:403: + function Frama_C_unsigned_long_long_interval: precondition 'order' got status valid. +[eva] Done for function Frama_C_unsigned_long_long_interval +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:403: Warning: + out of bounds write. assert \valid(tmp_12); + (tmp_12 from vararg) +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:406: Warning: + out of bounds read. assert \valid_read(arg); +[eva] computing for function Frama_C_uintmax_t_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:406. +[eva] using specification for function Frama_C_uintmax_t_interval +[eva] FRAMAC_SHARE/libc/stdio.c:406: + function Frama_C_uintmax_t_interval: precondition 'order' got status valid. +[eva] Done for function Frama_C_uintmax_t_interval +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:406: Warning: + out of bounds write. assert \valid(tmp_13); + (tmp_13 from vararg) +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:409: Warning: + out of bounds read. assert \valid_read(arg); +[eva] computing for function Frama_C_size_t_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:409. +[eva] FRAMAC_SHARE/libc/stdio.c:409: + function Frama_C_size_t_interval: precondition 'order' got status valid. +[eva] Done for function Frama_C_size_t_interval +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:409: Warning: + out of bounds write. assert \valid(tmp_14); + (tmp_14 from vararg) +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:412: Warning: + out of bounds read. assert \valid_read(arg); +[eva] computing for function Frama_C_ptrdiff_t_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:413. +[eva] FRAMAC_SHARE/libc/stdio.c:413: + function Frama_C_ptrdiff_t_interval: precondition 'order' got status valid. +[eva] Done for function Frama_C_ptrdiff_t_interval +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:413: Warning: + out of bounds write. assert \valid(tmp_15); + (tmp_15 from vararg) +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:429: Warning: + out of bounds read. assert \valid_read(arg); +[eva] computing for function Frama_C_double_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:429. +[eva] using specification for function Frama_C_double_interval +[eva] FRAMAC_SHARE/libc/stdio.c:429: + function Frama_C_double_interval, behavior finite: precondition 'order' got status valid. +[eva] Done for function Frama_C_double_interval +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:429: Warning: + out of bounds write. assert \valid(tmp_16); + (tmp_16 from vararg) +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:435: Warning: + out of bounds read. assert \valid_read(arg); +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:435: Warning: + out of bounds write. assert \valid(tmp_17); + (tmp_17 from vararg) +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:435: Warning: + accessing uninitialized left-value. assert \initialized(&vld); +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:435: Warning: + non-finite long double value. assert \is_finite(vld); +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:440: Warning: + assertion 'invalid_scanf_specifier' got status invalid (stopping propagation). +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:447: Warning: + out of bounds read. assert \valid_read(arg); +[eva] computing for function Frama_C_char_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:447. +[eva] FRAMAC_SHARE/libc/stdio.c:447: + function Frama_C_char_interval: precondition 'order' got status valid. +[eva] Done for function Frama_C_char_interval +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:450: Warning: + out of bounds read. assert \valid_read(arg); +[eva] computing for function Frama_C_wint_t_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:450. +[eva] using specification for function Frama_C_wint_t_interval +[eva] FRAMAC_SHARE/libc/stdio.c:450: + function Frama_C_wint_t_interval: precondition 'order' got status valid. +[eva] Done for function Frama_C_wint_t_interval +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:450: Warning: + out of bounds write. assert \valid(tmp_19); + (tmp_19 from vararg) +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:453: Warning: + assertion 'invalid_scanf_specifier' got status invalid (stopping propagation). +[eva] computing for function Frama_C_size_t_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:462. +[eva] FRAMAC_SHARE/libc/stdio.c:462: + function Frama_C_size_t_interval: precondition 'order' got status valid. +[eva] Done for function Frama_C_size_t_interval +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:461: Warning: + out of bounds read. assert \valid_read(arg); +[eva] computing for function Frama_C_make_unknown <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:461. +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:461: Warning: + function Frama_C_make_unknown: precondition 'valid_p' got status unknown. +[eva] Done for function Frama_C_make_unknown +[eva] computing for function Frama_C_size_t_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:467. +[eva] FRAMAC_SHARE/libc/stdio.c:467: + function Frama_C_size_t_interval: precondition 'order' got status valid. +[eva] Done for function Frama_C_size_t_interval +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:466: Warning: + out of bounds read. assert \valid_read(arg); +[eva] computing for function Frama_C_make_unknown_wchar <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:466. +[eva] using specification for function Frama_C_make_unknown_wchar +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:466: Warning: + function Frama_C_make_unknown_wchar: precondition 'valid_p' got status unknown. +[eva] Done for function Frama_C_make_unknown_wchar +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:470: Warning: + assertion 'invalid_scanf_specifier' got status invalid (stopping propagation). +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:477: Warning: + out of bounds read. assert \valid_read(arg); +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:477: Warning: + out of bounds write. assert \valid(tmp_24); + (tmp_24 from vararg) +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:480: Warning: + out of bounds read. assert \valid_read(arg); +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:483: Warning: + out of bounds read. assert \valid_read(arg); +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:483: Warning: + out of bounds write. assert \valid(tmp_26); + (tmp_26 from vararg) +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:486: Warning: + out of bounds read. assert \valid_read(arg); +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:486: Warning: + out of bounds write. assert \valid(tmp_27); + (tmp_27 from vararg) +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:490: Warning: + out of bounds read. assert \valid_read(arg); +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:490: Warning: + out of bounds write. assert \valid(tmp_28); + (tmp_28 from vararg) +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:493: Warning: + out of bounds read. assert \valid_read(arg); +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:493: Warning: + out of bounds write. assert \valid(tmp_29); + (tmp_29 from vararg) +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:496: Warning: + out of bounds read. assert \valid_read(arg); +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:496: Warning: + out of bounds write. assert \valid(tmp_30); + (tmp_30 from vararg) +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:499: Warning: + out of bounds read. assert \valid_read(arg); +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:499: Warning: + out of bounds write. assert \valid(tmp_31); + (tmp_31 from vararg) +[eva:alarm] FRAMAC_SHARE/libc/stdio.c:256: Warning: + out of bounds read. assert \valid_read(p); +[eva] FRAMAC_SHARE/libc/stdio.c:291: starting to merge loop iterations +[eva] computing for function Frama_C_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:350. +[eva] Done for function Frama_C_interval +[eva] computing for function Frama_C_char_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:353. +[eva] Done for function Frama_C_char_interval +[eva] computing for function Frama_C_short_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:356. +[eva] Done for function Frama_C_short_interval +[eva] computing for function Frama_C_long_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:359. +[eva] Done for function Frama_C_long_interval +[eva] computing for function Frama_C_long_long_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:364. +[eva] Done for function Frama_C_long_long_interval +[eva] computing for function Frama_C_intmax_t_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:368. +[eva] Done for function Frama_C_intmax_t_interval +[eva] computing for function Frama_C_size_t_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:371. +[eva] Done for function Frama_C_size_t_interval +[eva] computing for function Frama_C_ptrdiff_t_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:375. +[eva] Done for function Frama_C_ptrdiff_t_interval +[eva] computing for function Frama_C_unsigned_int_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:386. +[eva] Done for function Frama_C_unsigned_int_interval +[eva] computing for function Frama_C_unsigned_char_interval <- vfscanf <- + vscanf <- caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:390. +[eva] Done for function Frama_C_unsigned_char_interval +[eva] computing for function Frama_C_unsigned_short_interval <- vfscanf <- + vscanf <- caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:394. +[eva] Done for function Frama_C_unsigned_short_interval +[eva] computing for function Frama_C_unsigned_long_interval <- vfscanf <- + vscanf <- caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:398. +[eva] Done for function Frama_C_unsigned_long_interval +[eva] computing for function Frama_C_unsigned_long_long_interval <- vfscanf <- + vscanf <- caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:403. +[eva] Done for function Frama_C_unsigned_long_long_interval +[eva] computing for function Frama_C_uintmax_t_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:406. +[eva] Done for function Frama_C_uintmax_t_interval +[eva] computing for function Frama_C_size_t_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:409. +[eva] Done for function Frama_C_size_t_interval +[eva] computing for function Frama_C_ptrdiff_t_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:413. +[eva] Done for function Frama_C_ptrdiff_t_interval +[eva] computing for function Frama_C_double_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:429. +[eva] Done for function Frama_C_double_interval +[eva] computing for function Frama_C_char_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:447. +[eva] Done for function Frama_C_char_interval +[eva] computing for function Frama_C_wint_t_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:450. +[eva] Done for function Frama_C_wint_t_interval +[eva] computing for function Frama_C_size_t_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:462. +[eva] Done for function Frama_C_size_t_interval +[eva] computing for function Frama_C_make_unknown <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:461. +[eva] Done for function Frama_C_make_unknown +[eva] computing for function Frama_C_size_t_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:467. +[eva] Done for function Frama_C_size_t_interval +[eva] computing for function Frama_C_make_unknown_wchar <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:466. +[eva] Done for function Frama_C_make_unknown_wchar +[eva] computing for function Frama_C_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:350. +[eva] Done for function Frama_C_interval +[eva] computing for function Frama_C_char_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:353. +[eva] Done for function Frama_C_char_interval +[eva] computing for function Frama_C_short_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:356. +[eva] Done for function Frama_C_short_interval +[eva] computing for function Frama_C_long_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:359. +[eva] Done for function Frama_C_long_interval +[eva] computing for function Frama_C_long_long_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:364. +[eva] Done for function Frama_C_long_long_interval +[eva] computing for function Frama_C_intmax_t_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:368. +[eva] Done for function Frama_C_intmax_t_interval +[eva] computing for function Frama_C_size_t_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:371. +[eva] Done for function Frama_C_size_t_interval +[eva] computing for function Frama_C_ptrdiff_t_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:375. +[eva] Done for function Frama_C_ptrdiff_t_interval +[eva] computing for function Frama_C_unsigned_int_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:386. +[eva] Done for function Frama_C_unsigned_int_interval +[eva] computing for function Frama_C_unsigned_char_interval <- vfscanf <- + vscanf <- caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:390. +[eva] Done for function Frama_C_unsigned_char_interval +[eva] computing for function Frama_C_unsigned_short_interval <- vfscanf <- + vscanf <- caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:394. +[eva] Done for function Frama_C_unsigned_short_interval +[eva] computing for function Frama_C_unsigned_long_interval <- vfscanf <- + vscanf <- caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:398. +[eva] Done for function Frama_C_unsigned_long_interval +[eva] computing for function Frama_C_unsigned_long_long_interval <- vfscanf <- + vscanf <- caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:403. +[eva] Done for function Frama_C_unsigned_long_long_interval +[eva] computing for function Frama_C_uintmax_t_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:406. +[eva] Done for function Frama_C_uintmax_t_interval +[eva] computing for function Frama_C_size_t_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:409. +[eva] Done for function Frama_C_size_t_interval +[eva] computing for function Frama_C_ptrdiff_t_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:413. +[eva] Done for function Frama_C_ptrdiff_t_interval +[eva] computing for function Frama_C_double_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:429. +[eva] Done for function Frama_C_double_interval +[eva] computing for function Frama_C_char_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:447. +[eva] Done for function Frama_C_char_interval +[eva] computing for function Frama_C_wint_t_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:450. +[eva] Done for function Frama_C_wint_t_interval +[eva] computing for function Frama_C_size_t_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:462. +[eva] Done for function Frama_C_size_t_interval +[eva] computing for function Frama_C_make_unknown <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:461. +[eva] Done for function Frama_C_make_unknown +[eva] computing for function Frama_C_size_t_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:467. +[eva] Done for function Frama_C_size_t_interval +[eva] computing for function Frama_C_make_unknown_wchar <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:466. +[eva] Done for function Frama_C_make_unknown_wchar +[eva] computing for function Frama_C_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:350. +[eva] Done for function Frama_C_interval +[eva] computing for function Frama_C_char_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:353. +[eva] Done for function Frama_C_char_interval +[eva] computing for function Frama_C_short_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:356. +[eva] Done for function Frama_C_short_interval +[eva] computing for function Frama_C_long_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:359. +[eva] Done for function Frama_C_long_interval +[eva] computing for function Frama_C_long_long_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:364. +[eva] Done for function Frama_C_long_long_interval +[eva] computing for function Frama_C_intmax_t_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:368. +[eva] Done for function Frama_C_intmax_t_interval +[eva] computing for function Frama_C_size_t_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:371. +[eva] Done for function Frama_C_size_t_interval +[eva] computing for function Frama_C_ptrdiff_t_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:375. +[eva] Done for function Frama_C_ptrdiff_t_interval +[eva] computing for function Frama_C_unsigned_int_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:386. +[eva] Done for function Frama_C_unsigned_int_interval +[eva] computing for function Frama_C_unsigned_char_interval <- vfscanf <- + vscanf <- caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:390. +[eva] Done for function Frama_C_unsigned_char_interval +[eva] computing for function Frama_C_unsigned_short_interval <- vfscanf <- + vscanf <- caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:394. +[eva] Done for function Frama_C_unsigned_short_interval +[eva] computing for function Frama_C_unsigned_long_interval <- vfscanf <- + vscanf <- caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:398. +[eva] Done for function Frama_C_unsigned_long_interval +[eva] computing for function Frama_C_unsigned_long_long_interval <- vfscanf <- + vscanf <- caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:403. +[eva] Done for function Frama_C_unsigned_long_long_interval +[eva] computing for function Frama_C_uintmax_t_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:406. +[eva] Done for function Frama_C_uintmax_t_interval +[eva] computing for function Frama_C_size_t_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:409. +[eva] Done for function Frama_C_size_t_interval +[eva] computing for function Frama_C_ptrdiff_t_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:413. +[eva] Done for function Frama_C_ptrdiff_t_interval +[eva] computing for function Frama_C_double_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:429. +[eva] Done for function Frama_C_double_interval +[eva] computing for function Frama_C_char_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:447. +[eva] Done for function Frama_C_char_interval +[eva] computing for function Frama_C_wint_t_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:450. +[eva] Done for function Frama_C_wint_t_interval +[eva] computing for function Frama_C_size_t_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:462. +[eva] Done for function Frama_C_size_t_interval +[eva] computing for function Frama_C_make_unknown <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:461. +[eva] Done for function Frama_C_make_unknown +[eva] computing for function Frama_C_size_t_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:467. +[eva] Done for function Frama_C_size_t_interval +[eva] computing for function Frama_C_make_unknown_wchar <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:466. +[eva] Done for function Frama_C_make_unknown_wchar +[eva] computing for function Frama_C_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:350. +[eva] Done for function Frama_C_interval +[eva] computing for function Frama_C_char_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:353. +[eva] Done for function Frama_C_char_interval +[eva] computing for function Frama_C_short_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:356. +[eva] Done for function Frama_C_short_interval +[eva] computing for function Frama_C_long_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:359. +[eva] Done for function Frama_C_long_interval +[eva] computing for function Frama_C_long_long_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:364. +[eva] Done for function Frama_C_long_long_interval +[eva] computing for function Frama_C_intmax_t_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:368. +[eva] Done for function Frama_C_intmax_t_interval +[eva] computing for function Frama_C_size_t_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:371. +[eva] Done for function Frama_C_size_t_interval +[eva] computing for function Frama_C_ptrdiff_t_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:375. +[eva] Done for function Frama_C_ptrdiff_t_interval +[eva] computing for function Frama_C_unsigned_int_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:386. +[eva] Done for function Frama_C_unsigned_int_interval +[eva] computing for function Frama_C_unsigned_char_interval <- vfscanf <- + vscanf <- caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:390. +[eva] Done for function Frama_C_unsigned_char_interval +[eva] computing for function Frama_C_unsigned_short_interval <- vfscanf <- + vscanf <- caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:394. +[eva] Done for function Frama_C_unsigned_short_interval +[eva] computing for function Frama_C_unsigned_long_interval <- vfscanf <- + vscanf <- caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:398. +[eva] Done for function Frama_C_unsigned_long_interval +[eva] computing for function Frama_C_unsigned_long_long_interval <- vfscanf <- + vscanf <- caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:403. +[eva] Done for function Frama_C_unsigned_long_long_interval +[eva] computing for function Frama_C_uintmax_t_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:406. +[eva] Done for function Frama_C_uintmax_t_interval +[eva] computing for function Frama_C_size_t_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:409. +[eva] Done for function Frama_C_size_t_interval +[eva] computing for function Frama_C_ptrdiff_t_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:413. +[eva] Done for function Frama_C_ptrdiff_t_interval +[eva] computing for function Frama_C_double_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:429. +[eva] Done for function Frama_C_double_interval +[eva] computing for function Frama_C_char_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:447. +[eva] Done for function Frama_C_char_interval +[eva] computing for function Frama_C_wint_t_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:450. +[eva] Done for function Frama_C_wint_t_interval +[eva] computing for function Frama_C_size_t_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:462. +[eva] Done for function Frama_C_size_t_interval +[eva] computing for function Frama_C_make_unknown <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:461. +[eva] Done for function Frama_C_make_unknown +[eva] computing for function Frama_C_size_t_interval <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:467. +[eva] Done for function Frama_C_size_t_interval +[eva] computing for function Frama_C_make_unknown_wchar <- vfscanf <- vscanf <- + caller_stub_for_vscanf <- main. + Called from FRAMAC_SHARE/libc/stdio.c:466. +[eva] Done for function Frama_C_make_unknown_wchar +[eva] Recording results for vfscanf +[eva] Done for function vfscanf +[eva] Recording results for vscanf +[eva] Done for function vscanf +[eva] Recording results for caller_stub_for_vscanf +[eva] Done for function caller_stub_for_vscanf +[eva:alarm] stdio_c.c:68: Warning: check got status unknown. +[eva:alarm] stdio_c.c:69: Warning: check got status unknown. +[eva] stdio_c.c:70: + Frama_C_show_each_must_be_reachable: + [-2147483648..2147483647], + {{ &vscanf_c }}, + {{ &vscanf_Ld }}, + [--..--] or UNINITIALIZED, + [-2147483648..2147483647], + [-9223372036854775808..9223372036854775807], + [0..4294967295] [eva] Recording results for main [eva] Done for function main [eva] ====== VALUES COMPUTED ====== @@ -370,20 +1077,11 @@ Frama_C_entropy_source ∈ [--..--] [eva:final-states] Values at end of function is_valid_mode: __retres ∈ {1} -[eva:final-states] Values at end of function asprintf: - __fc_heap_status ∈ [--..--] - Frama_C_entropy_source ∈ [--..--] - args ∈ {{ &__va_args[0] }} - len ∈ [1..256] - s ∈ {{ NULL ; &__malloc_asprintf_l124[0] }} - __retres ∈ [-1..256] - __malloc_asprintf_l124[0..254] ∈ [--..--] or UNINITIALIZED - [255] ∈ {0} or UNINITIALIZED [eva:final-states] Values at end of function fmemopen: __fc_heap_status ∈ [--..--] __fc_errno ∈ [--..--] Frama_C_entropy_source ∈ [--..--] - buf ∈ {{ NULL ; (void *)&__malloc_fmemopen_l224 }} + buf ∈ {{ NULL ; (void *)&__malloc_fmemopen_l231 }} __retres ∈ {{ NULL ; &__fc_fopen + [0..120],0%8 }} [eva:final-states] Values at end of function getline: __fc_heap_status ∈ [--..--] @@ -391,12 +1089,61 @@ Frama_C_entropy_source ∈ [--..--] cur ∈ [0..2147483647] or UNINITIALIZED line ∈ - {{ NULL ; &__malloc_w_getline_l73[0] ; &__realloc_w_getline_l104[0] }} + {{ NULL ; &__malloc_w_getline_l75[0] ; &__realloc_w_getline_l106[0] }} len ∈ [0..2147483647] __retres ∈ [-1..2147483646] - __malloc_w_getline_l73[0..1] ∈ [--..--] or UNINITIALIZED - __realloc_w_getline_l104[0..2147483645] ∈ [--..--] or UNINITIALIZED + __malloc_w_getline_l75[0..1] ∈ [--..--] or UNINITIALIZED + __realloc_w_getline_l106[0..2147483645] ∈ [--..--] or UNINITIALIZED [2147483646] ∈ {0} or UNINITIALIZED +[eva:final-states] Values at end of function vasprintf: + __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] + len ∈ [1..256] + s ∈ {{ NULL ; &__malloc_vasprintf_l124[0] }} + __retres ∈ [-1..256] + __malloc_vasprintf_l124[0..254] ∈ [--..--] or UNINITIALIZED + [255] ∈ {0} or UNINITIALIZED +[eva:final-states] Values at end of function asprintf: + __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] + args ∈ {{ &__va_args[0] }} + res ∈ [-1..256] + s ∈ {{ NULL ; &__malloc_vasprintf_l124[0] }} + __malloc_vasprintf_l124[0..254] ∈ [--..--] or UNINITIALIZED + [255] ∈ {0} or UNINITIALIZED +[eva:final-states] Values at end of function vfscanf: + Frama_C_entropy_source ∈ [--..--] + arg ∈ {{ &__va_args_39{[0], [1], [2], [3], [4], [5], [6], [7]} }} + p ∈ {{ "%+d %-2c % 41.999Lf %s %ti %jx %zu" + [2..34] }} + conversion_counter ∈ [--..--] + vscanf_d ∈ [--..--] or UNINITIALIZED + vscanf_c ∈ [--..--] or UNINITIALIZED + vscanf_Ld ∈ [--..--] or UNINITIALIZED + vscanf_s[0..29] ∈ [--..--] or UNINITIALIZED + vscanf_t ∈ [--..--] or UNINITIALIZED + vscanf_j ∈ [--..--] or UNINITIALIZED + vscanf_z ∈ [--..--] or UNINITIALIZED + __retres ∈ [-128..127] +[eva:final-states] Values at end of function vscanf: + Frama_C_entropy_source ∈ [--..--] + vscanf_d ∈ [--..--] or UNINITIALIZED + vscanf_c ∈ [--..--] or UNINITIALIZED + vscanf_Ld ∈ [--..--] or UNINITIALIZED + vscanf_s[0..29] ∈ [--..--] or UNINITIALIZED + vscanf_t ∈ [--..--] or UNINITIALIZED + vscanf_j ∈ [--..--] or UNINITIALIZED + vscanf_z ∈ [--..--] or UNINITIALIZED +[eva:final-states] Values at end of function caller_stub_for_vscanf: + Frama_C_entropy_source ∈ [--..--] + vscanf_d ∈ [--..--] or UNINITIALIZED + vscanf_c ∈ [--..--] or UNINITIALIZED + vscanf_Ld ∈ [--..--] or UNINITIALIZED + vscanf_s[0..29] ∈ [--..--] or UNINITIALIZED + vscanf_t ∈ [--..--] or UNINITIALIZED + vscanf_j ∈ [--..--] or UNINITIALIZED + vscanf_z ∈ [--..--] or UNINITIALIZED + args ∈ {{ &__va_args_39[0] }} + res ∈ [-128..127] [eva:final-states] Values at end of function main: __fc_heap_status ∈ [--..--] __fc_errno ∈ [--..--] @@ -406,7 +1153,7 @@ .__fc_FILE_data ∈ [--..--] stream ∈ {{ NULL ; &__fc_fopen + [0..120],0%8 }} line ∈ - {{ NULL ; &__malloc_w_getline_l73[0] ; &__realloc_w_getline_l104[0] }} or ESCAPINGADDR + {{ NULL ; &__malloc_w_getline_l75[0] ; &__realloc_w_getline_l106[0] }} or ESCAPINGADDR len ∈ [0..2147483647] total_len ∈ [--..--] read ∈ {-1} or UNINITIALIZED @@ -414,9 +1161,31 @@ buf[0..8] ∈ [--..--] or UNINITIALIZED [9] ∈ {0} or UNINITIALIZED r_1 ∈ {{ NULL ; &buf[0] }} or UNINITIALIZED + vscanf_d ∈ [--..--] or UNINITIALIZED + vscanf_c ∈ [--..--] or UNINITIALIZED + vscanf_Ld ∈ [--..--] or UNINITIALIZED + vscanf_s[0..29] ∈ [--..--] or UNINITIALIZED + vscanf_t ∈ [--..--] or UNINITIALIZED + vscanf_j ∈ [--..--] or UNINITIALIZED + vscanf_z ∈ [--..--] or UNINITIALIZED + vscanf_res ∈ [-128..127] or UNINITIALIZED + __va_arg0_31 ∈ {{ &vscanf_d }} or UNINITIALIZED + __va_arg1 ∈ {{ &vscanf_c }} or UNINITIALIZED + __va_arg2 ∈ {{ &vscanf_Ld }} or UNINITIALIZED + __va_arg3 ∈ {{ &vscanf_s[0] }} or UNINITIALIZED + __va_arg4 ∈ {{ &vscanf_t }} or UNINITIALIZED + __va_arg5 ∈ {{ &vscanf_j }} or UNINITIALIZED + __va_arg6 ∈ {{ &vscanf_z }} or UNINITIALIZED + __va_args_39[0] ∈ {{ (void *)&__va_arg0_31 }} or UNINITIALIZED + [1] ∈ {{ (void *)&__va_arg1 }} or UNINITIALIZED + [2] ∈ {{ (void *)&__va_arg2 }} or UNINITIALIZED + [3] ∈ {{ (void *)&__va_arg3 }} or UNINITIALIZED + [4] ∈ {{ (void *)&__va_arg4 }} or UNINITIALIZED + [5] ∈ {{ (void *)&__va_arg5 }} or UNINITIALIZED + [6] ∈ {{ (void *)&__va_arg6 }} or UNINITIALIZED __retres ∈ {0; 1} - __malloc_w_getline_l73[0..1] ∈ [--..--] or UNINITIALIZED - __realloc_w_getline_l104[0..2147483645] ∈ [--..--] or UNINITIALIZED + __malloc_w_getline_l75[0..1] ∈ [--..--] or UNINITIALIZED + __realloc_w_getline_l106[0..2147483645] ∈ [--..--] or UNINITIALIZED [2147483646] ∈ {0} or UNINITIALIZED - __malloc_asprintf_l124[0..254] ∈ [--..--] or UNINITIALIZED - [255] ∈ {0} or UNINITIALIZED + __malloc_vasprintf_l124[0..254] ∈ [--..--] or UNINITIALIZED + [255] ∈ {0} or UNINITIALIZED diff --git a/tests/libc/oracle/stdio_h.res.oracle b/tests/libc/oracle/stdio_h.res.oracle index 0bbf2f381b0429cf2a075a45800b5fdf5444d5d2..473073174b670ab1fea643f327945e86dfc31f05 100644 --- a/tests/libc/oracle/stdio_h.res.oracle +++ b/tests/libc/oracle/stdio_h.res.oracle @@ -5,167 +5,228 @@ [eva:initial-state] Values of globals at initialization nondet ∈ [--..--] [eva] computing for function fopen <- main. - Called from stdio_h.c:6. + Called from stdio_h.c:9. [eva] using specification for function fopen -[eva] stdio_h.c:6: +[eva] stdio_h.c:9: function fopen: precondition 'valid_filename' got status valid. -[eva] stdio_h.c:6: function fopen: precondition 'valid_mode' got status valid. +[eva] stdio_h.c:9: function fopen: precondition 'valid_mode' got status valid. [eva] Done for function fopen [eva] computing for function fseek <- main. - Called from stdio_h.c:8. + Called from stdio_h.c:11. [eva] using specification for function fseek -[eva] stdio_h.c:8: function fseek: precondition 'valid_stream' got status valid. -[eva] stdio_h.c:8: function fseek: precondition 'whence_enum' got status valid. +[eva] stdio_h.c:11: + function fseek: precondition 'valid_stream' got status valid. +[eva] stdio_h.c:11: function fseek: precondition 'whence_enum' got status valid. [eva] Done for function fseek [eva] computing for function fseek <- main. - Called from stdio_h.c:10. -[eva:alarm] stdio_h.c:10: Warning: + Called from stdio_h.c:13. +[eva:alarm] stdio_h.c:13: Warning: function fseek: precondition 'valid_stream' got status invalid. -[eva] stdio_h.c:10: +[eva] stdio_h.c:13: function fseek: no state left, precondition 'whence_enum' got status valid. [eva] Done for function fseek [eva] computing for function Frama_C_interval <- main. - Called from stdio_h.c:16. + Called from stdio_h.c:19. [eva] using specification for function Frama_C_interval -[eva] stdio_h.c:16: +[eva] stdio_h.c:19: function Frama_C_interval: precondition 'order' got status valid. [eva] Done for function Frama_C_interval [eva] computing for function fseek <- main. - Called from stdio_h.c:19. -[eva] stdio_h.c:19: + Called from stdio_h.c:22. +[eva] stdio_h.c:22: function fseek: precondition 'valid_stream' got status valid. -[eva:alarm] stdio_h.c:19: Warning: +[eva:alarm] stdio_h.c:22: Warning: function fseek: precondition 'whence_enum' got status invalid. [eva] Done for function fseek [eva] computing for function tmpfile <- main. - Called from stdio_h.c:23. + Called from stdio_h.c:26. [eva] using specification for function tmpfile [eva] Done for function tmpfile [eva] computing for function fseek <- main. - Called from stdio_h.c:25. -[eva] stdio_h.c:25: + Called from stdio_h.c:28. +[eva] stdio_h.c:28: function fseek: precondition 'valid_stream' got status valid. -[eva] stdio_h.c:25: function fseek: precondition 'whence_enum' got status valid. +[eva] stdio_h.c:28: function fseek: precondition 'whence_enum' got status valid. [eva] Done for function fseek [eva] computing for function fseeko <- main. - Called from stdio_h.c:26. + Called from stdio_h.c:29. [eva] using specification for function fseeko -[eva] stdio_h.c:26: +[eva] stdio_h.c:29: function fseeko: precondition 'valid_stream' got status valid. -[eva] stdio_h.c:26: +[eva] stdio_h.c:29: function fseeko: precondition 'whence_enum' got status valid. [eva] Done for function fseeko [eva] computing for function ftell <- main. - Called from stdio_h.c:27. + Called from stdio_h.c:30. [eva] using specification for function ftell -[eva] stdio_h.c:27: +[eva] stdio_h.c:30: function ftell: precondition 'valid_stream' got status valid. [eva] Done for function ftell [eva] computing for function ftello <- main. - Called from stdio_h.c:28. + Called from stdio_h.c:31. [eva] using specification for function ftello -[eva] stdio_h.c:28: +[eva] stdio_h.c:31: function ftello: precondition 'valid_stream' got status valid. [eva] Done for function ftello [eva] computing for function fclose <- main. - Called from stdio_h.c:29. + Called from stdio_h.c:32. [eva] using specification for function fclose -[eva] stdio_h.c:29: +[eva] stdio_h.c:32: function fclose: precondition 'valid_stream' got status valid. [eva] Done for function fclose [eva] computing for function freopen <- main. - Called from stdio_h.c:31. + Called from stdio_h.c:34. [eva] using specification for function freopen -[eva] stdio_h.c:31: +[eva] stdio_h.c:34: function freopen: precondition 'valid_filename' got status valid. -[eva] stdio_h.c:31: +[eva] stdio_h.c:34: function freopen: precondition 'valid_mode' got status valid. -[eva:alarm] stdio_h.c:31: Warning: +[eva:alarm] stdio_h.c:34: Warning: function freopen: precondition 'valid_stream' got status unknown. [eva] Done for function freopen [eva] computing for function printf_va_1 <- main. - Called from stdio_h.c:33. + Called from stdio_h.c:36. [eva] using specification for function printf_va_1 -[eva] stdio_h.c:33: function printf_va_1: precondition got status valid. +[eva] stdio_h.c:36: function printf_va_1: precondition got status valid. [eva] Done for function printf_va_1 [eva] computing for function fclose <- main. - Called from stdio_h.c:34. -[eva] stdio_h.c:34: + Called from stdio_h.c:37. +[eva] stdio_h.c:37: function fclose: precondition 'valid_stream' got status valid. [eva] Done for function fclose [eva] computing for function fgets <- main. - Called from stdio_h.c:37. + Called from stdio_h.c:40. [eva] using specification for function fgets -[eva] stdio_h.c:37: +[eva] stdio_h.c:40: function fgets: precondition 'valid_stream' got status valid. -[eva] stdio_h.c:37: function fgets: precondition 'room_s' got status valid. +[eva] stdio_h.c:40: function fgets: precondition 'room_s' got status valid. [eva] Done for function fgets -[eva:alarm] stdio_h.c:39: Warning: check got status unknown. +[eva:alarm] stdio_h.c:42: Warning: check got status unknown. [eva] computing for function fgets <- main. - Called from stdio_h.c:41. -[eva] stdio_h.c:41: + Called from stdio_h.c:44. +[eva] stdio_h.c:44: function fgets: precondition 'valid_stream' got status valid. -[eva:alarm] stdio_h.c:41: Warning: +[eva:alarm] stdio_h.c:44: Warning: function fgets: precondition 'room_s' got status invalid. [eva] Done for function fgets [eva] computing for function fgetpos <- main. - Called from stdio_h.c:46. + Called from stdio_h.c:49. [eva] using specification for function fgetpos -[eva] stdio_h.c:46: +[eva] stdio_h.c:49: function fgetpos: precondition 'valid_stream' got status valid. -[eva] stdio_h.c:46: function fgetpos: precondition 'valid_pos' got status valid. +[eva] stdio_h.c:49: function fgetpos: precondition 'valid_pos' got status valid. [eva] Done for function fgetpos [eva] computing for function fsetpos <- main. - Called from stdio_h.c:47. + Called from stdio_h.c:50. [eva] using specification for function fsetpos -[eva] stdio_h.c:47: +[eva] stdio_h.c:50: function fsetpos: precondition 'valid_stream' got status valid. -[eva] stdio_h.c:47: function fsetpos: precondition 'valid_pos' got status valid. -[eva] stdio_h.c:47: +[eva] stdio_h.c:50: function fsetpos: precondition 'valid_pos' got status valid. +[eva] stdio_h.c:50: function fsetpos: precondition 'initialization,pos' got status valid. [eva] Done for function fsetpos [eva] computing for function fclose <- main. - Called from stdio_h.c:48. -[eva] stdio_h.c:48: + Called from stdio_h.c:51. +[eva] stdio_h.c:51: function fclose: precondition 'valid_stream' got status valid. [eva] Done for function fclose [eva] computing for function asprintf <- main. - Called from stdio_h.c:52. + Called from stdio_h.c:58. [eva] using specification for function asprintf -[eva:libc:unsupported-spec] stdio_h.c:52: Warning: +[eva:libc:unsupported-spec] stdio_h.c:58: Warning: The specification of function 'asprintf' is currently not supported by Eva. Consider adding 'FRAMAC_SHARE/libc/stdio.c' to the analyzed source files. -[eva] stdio_h.c:52: Warning: ignoring unsupported allocates clause -[eva] stdio_h.c:52: +[eva] stdio_h.c:58: Warning: ignoring unsupported allocates clause +[eva] stdio_h.c:58: function asprintf: precondition 'valid_strp' got status valid. -[eva] stdio_h.c:52: +[eva] stdio_h.c:58: function asprintf: precondition 'valid_fmt' got status valid. [eva] Done for function asprintf -[eva:alarm] stdio_h.c:54: Warning: +[eva:alarm] stdio_h.c:60: Warning: accessing uninitialized left-value. assert \initialized(&s); [eva] computing for function printf_va_2 <- main. - Called from stdio_h.c:54. + Called from stdio_h.c:60. [eva] using specification for function printf_va_2 -[eva:alarm] stdio_h.c:54: Warning: +[eva:alarm] stdio_h.c:60: Warning: function printf_va_2: precondition valid_read_string(param0) got status invalid. -[eva] stdio_h.c:54: +[eva] stdio_h.c:60: function printf_va_2: no state left, precondition valid_read_string(format) got status valid. [eva] Done for function printf_va_2 +[eva] computing for function caller_stub_for_vasprintf <- main. + Called from stdio_h.c:69. +[eva] computing for function vasprintf <- caller_stub_for_vasprintf <- main. + Called from stdio_h.c:91. +[eva] using specification for function vasprintf +[eva:libc:unsupported-spec] stdio_h.c:91: Warning: + The specification of function 'vasprintf' is currently not supported by Eva. + Consider adding 'FRAMAC_SHARE/libc/stdio.c' to the analyzed source files. +[eva] stdio_h.c:91: Warning: ignoring unsupported allocates clause +[eva] stdio_h.c:91: + function vasprintf: precondition 'valid_strp' got status valid. +[eva] stdio_h.c:91: + function vasprintf: precondition 'valid_fmt' got status valid. +[eva:garbled-mix:assigns] stdio_h.c:91: + The specification of function vasprintf + has generated a garbled mix of addresses for assigns clause *strp. +[eva] Done for function vasprintf +[eva] Recording results for caller_stub_for_vasprintf +[eva] Done for function caller_stub_for_vasprintf +[eva:locals-escaping] stdio_h.c:69: Warning: + locals {__va_args_30} escaping the scope of a block of main through s_0 +[eva:alarm] stdio_h.c:71: Warning: + accessing uninitialized left-value. assert \initialized(&s_0); +[eva:alarm] stdio_h.c:71: Warning: + accessing left-value that contains escaping addresses. + assert ¬\dangling(&s_0); +[eva] computing for function printf_va_3 <- main. + Called from stdio_h.c:71. +[eva] using specification for function printf_va_3 +[eva:alarm] stdio_h.c:71: Warning: + function printf_va_3: precondition valid_read_string(param0) got status invalid. +[eva] stdio_h.c:71: + function printf_va_3: no state left, precondition valid_read_string(format) got status valid. +[eva] Done for function printf_va_3 [eva] computing for function fmemopen <- main. - Called from stdio_h.c:58. + Called from stdio_h.c:75. [eva] using specification for function fmemopen -[eva:libc:unsupported-spec] stdio_h.c:58: Warning: +[eva:libc:unsupported-spec] stdio_h.c:75: Warning: The specification of function 'fmemopen' is currently not supported by Eva. Consider adding 'FRAMAC_SHARE/libc/stdio.c' to the analyzed source files. -[eva] stdio_h.c:58: Warning: ignoring unsupported allocates clause -[eva] stdio_h.c:58: +[eva] stdio_h.c:75: Warning: ignoring unsupported allocates clause +[eva] stdio_h.c:75: function fmemopen: precondition 'valid_or_null_buff' got status valid. -[eva] stdio_h.c:58: +[eva] stdio_h.c:75: function fmemopen: precondition 'valid_mode' got status valid. [eva] Done for function fmemopen +[eva] computing for function caller_stub_for_vscanf <- main. + Called from stdio_h.c:79. +[eva] computing for function vscanf <- caller_stub_for_vscanf <- main. + Called from stdio_h.c:99. +[eva] using specification for function vscanf +[eva:libc:unsupported-spec] stdio_h.c:99: Warning: + The specification of function 'vscanf' is currently not supported by Eva. + Consider adding 'FRAMAC_SHARE/libc/stdio.c' to the analyzed source files. +[eva] FRAMAC_SHARE/libc/stdio.h:239: Warning: + no 'assigns \result \from ...' clause specified for function vscanf +[eva] Done for function vscanf +[eva] Recording results for caller_stub_for_vscanf +[eva] Done for function caller_stub_for_vscanf +[eva:alarm] stdio_h.c:81: Warning: + assertion got status invalid (stopping propagation). [eva] Recording results for main [eva] Done for function main [eva] ====== VALUES COMPUTED ====== +[eva:final-states] Values at end of function caller_stub_for_vasprintf: + __fc_heap_status ∈ [--..--] + s_0 ∈ + {{ garbled mix of &{__va_args_30} + (origin: Library function {stdio_h.c:91}) }} or UNINITIALIZED + args ∈ {{ &__va_args_30[0] }} + res ∈ [-1..2147483647] +[eva:final-states] Values at end of function caller_stub_for_vscanf: + args ∈ {{ &__va_args_35[0] }} + res ∈ [--..--] + S___fc_stdin[0..1] ∈ [--..--] [eva:final-states] Values at end of function main: __fc_errno ∈ [--..--] __fc_fopen[0..15] ∈ [--..--] @@ -182,4 +243,5 @@ pos ∈ [--..--] or UNINITIALIZED res_fclose ∈ {-1; 0} or UNINITIALIZED __retres ∈ {0; 1; 2; 3} + S___fc_stdin[0..1] ∈ [--..--] S___fc_stdout[0..1] ∈ [--..--] diff --git a/tests/libc/oracle/stdlib_c.0.res.oracle b/tests/libc/oracle/stdlib_c.0.res.oracle index 311025d26fd3425b42362fd4c546daeeab9dacc2..0d0926fd83f88b499a5fca3e923c499dfb5b5d74 100644 --- a/tests/libc/oracle/stdlib_c.0.res.oracle +++ b/tests/libc/oracle/stdlib_c.0.res.oracle @@ -61,11 +61,11 @@ (0..31/34359738367) to fit 0..63/34359738367 [eva] computing for function posix_memalign <- main. Called from stdlib_c.c:38. -[eva] FRAMAC_SHARE/libc/stdlib.c:196: +[eva] FRAMAC_SHARE/libc/stdlib.c:200: assertion 'alignment_is_a_suitable_power_of_two' got status valid. -[eva] FRAMAC_SHARE/libc/stdlib.c:199: Call to builtin Frama_C_malloc -[eva] FRAMAC_SHARE/libc/stdlib.c:199: - allocating variable __malloc_posix_memalign_l199 +[eva] FRAMAC_SHARE/libc/stdlib.c:203: Call to builtin Frama_C_malloc +[eva] FRAMAC_SHARE/libc/stdlib.c:203: + allocating variable __malloc_posix_memalign_l203 [eva] Recording results for posix_memalign [eva] Done for function posix_memalign [eva] computing for function free <- main. @@ -76,14 +76,14 @@ [eva] Done for function free [eva] computing for function posix_memalign <- main. Called from stdlib_c.c:40. -[eva] FRAMAC_SHARE/libc/stdlib.c:199: Call to builtin Frama_C_malloc -[eva] FRAMAC_SHARE/libc/stdlib.c:199: - allocating variable __malloc_posix_memalign_l199_0 +[eva] FRAMAC_SHARE/libc/stdlib.c:203: Call to builtin Frama_C_malloc +[eva] FRAMAC_SHARE/libc/stdlib.c:203: + allocating variable __malloc_posix_memalign_l203_0 [eva] Recording results for posix_memalign [eva] Done for function posix_memalign [eva] computing for function posix_memalign <- main. Called from stdlib_c.c:40. -[eva] FRAMAC_SHARE/libc/stdlib.c:199: Call to builtin Frama_C_malloc +[eva] FRAMAC_SHARE/libc/stdlib.c:203: Call to builtin Frama_C_malloc [eva] Recording results for posix_memalign [eva] Done for function posix_memalign [eva] computing for function free <- main. @@ -102,20 +102,20 @@ [eva] computing for function realpath <- main. Called from stdlib_c.c:46. [eva] computing for function Frama_C_interval <- realpath <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:213. + Called from FRAMAC_SHARE/libc/stdlib.c:217. [eva] using specification for function Frama_C_interval -[eva] FRAMAC_SHARE/libc/stdlib.c:213: +[eva] FRAMAC_SHARE/libc/stdlib.c:217: function Frama_C_interval: precondition 'order' got status valid. [eva] Done for function Frama_C_interval [eva] computing for function Frama_C_interval <- realpath <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:222. -[eva] FRAMAC_SHARE/libc/stdlib.c:222: + Called from FRAMAC_SHARE/libc/stdlib.c:226. +[eva] FRAMAC_SHARE/libc/stdlib.c:226: function Frama_C_interval: precondition 'order' got status valid. [eva] Done for function Frama_C_interval [eva] computing for function Frama_C_make_unknown <- realpath <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:230. + Called from FRAMAC_SHARE/libc/stdlib.c:234. [eva] using specification for function Frama_C_make_unknown -[eva] FRAMAC_SHARE/libc/stdlib.c:230: +[eva] FRAMAC_SHARE/libc/stdlib.c:234: function Frama_C_make_unknown: precondition 'valid_p' got status valid. [eva] Done for function Frama_C_make_unknown [eva] Recording results for realpath @@ -163,50 +163,50 @@ [eva] computing for function realpath <- main. Called from stdlib_c.c:54. [eva] computing for function Frama_C_interval <- realpath <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:213. + Called from FRAMAC_SHARE/libc/stdlib.c:217. [eva] Done for function Frama_C_interval [eva] computing for function Frama_C_interval <- realpath <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:222. + Called from FRAMAC_SHARE/libc/stdlib.c:226. [eva] Done for function Frama_C_interval -[eva] FRAMAC_SHARE/libc/stdlib.c:224: Call to builtin Frama_C_malloc -[eva] FRAMAC_SHARE/libc/stdlib.c:224: allocating variable __malloc_realpath_l224 +[eva] FRAMAC_SHARE/libc/stdlib.c:228: Call to builtin Frama_C_malloc +[eva] FRAMAC_SHARE/libc/stdlib.c:228: allocating variable __malloc_realpath_l228 [eva] computing for function Frama_C_make_unknown <- realpath <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:230. + Called from FRAMAC_SHARE/libc/stdlib.c:234. [eva] Done for function Frama_C_make_unknown [eva] Recording results for realpath [eva] Done for function realpath [eva] computing for function realpath <- main. Called from stdlib_c.c:54. [eva] computing for function Frama_C_interval <- realpath <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:213. + Called from FRAMAC_SHARE/libc/stdlib.c:217. [eva] Done for function Frama_C_interval [eva] computing for function Frama_C_interval <- realpath <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:222. + Called from FRAMAC_SHARE/libc/stdlib.c:226. [eva] Done for function Frama_C_interval -[eva] FRAMAC_SHARE/libc/stdlib.c:224: Call to builtin Frama_C_malloc +[eva] FRAMAC_SHARE/libc/stdlib.c:228: Call to builtin Frama_C_malloc [eva] computing for function Frama_C_make_unknown <- realpath <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:230. + Called from FRAMAC_SHARE/libc/stdlib.c:234. [eva] Done for function Frama_C_make_unknown [eva] Recording results for realpath [eva] Done for function realpath [eva] computing for function canonicalize_file_name <- main. Called from stdlib_c.c:56. [eva] computing for function realpath <- canonicalize_file_name <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:236. + Called from FRAMAC_SHARE/libc/stdlib.c:240. [eva] computing for function Frama_C_interval <- realpath <- canonicalize_file_name <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:213. + Called from FRAMAC_SHARE/libc/stdlib.c:217. [eva] Done for function Frama_C_interval [eva] computing for function Frama_C_interval <- realpath <- canonicalize_file_name <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:222. + Called from FRAMAC_SHARE/libc/stdlib.c:226. [eva] Done for function Frama_C_interval -[eva] FRAMAC_SHARE/libc/stdlib.c:224: Call to builtin Frama_C_malloc -[eva] FRAMAC_SHARE/libc/stdlib.c:224: - allocating variable __malloc_realpath_l224_0 +[eva] FRAMAC_SHARE/libc/stdlib.c:228: Call to builtin Frama_C_malloc +[eva] FRAMAC_SHARE/libc/stdlib.c:228: + allocating variable __malloc_realpath_l228_0 [eva] computing for function Frama_C_make_unknown <- realpath <- canonicalize_file_name <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:230. + Called from FRAMAC_SHARE/libc/stdlib.c:234. [eva] Done for function Frama_C_make_unknown [eva] Recording results for realpath [eva] Done for function realpath @@ -215,19 +215,19 @@ [eva] computing for function canonicalize_file_name <- main. Called from stdlib_c.c:56. [eva] computing for function realpath <- canonicalize_file_name <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:236. + Called from FRAMAC_SHARE/libc/stdlib.c:240. [eva] computing for function Frama_C_interval <- realpath <- canonicalize_file_name <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:213. + Called from FRAMAC_SHARE/libc/stdlib.c:217. [eva] Done for function Frama_C_interval [eva] computing for function Frama_C_interval <- realpath <- canonicalize_file_name <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:222. + Called from FRAMAC_SHARE/libc/stdlib.c:226. [eva] Done for function Frama_C_interval -[eva] FRAMAC_SHARE/libc/stdlib.c:224: Call to builtin Frama_C_malloc +[eva] FRAMAC_SHARE/libc/stdlib.c:228: Call to builtin Frama_C_malloc [eva] computing for function Frama_C_make_unknown <- realpath <- canonicalize_file_name <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:230. + Called from FRAMAC_SHARE/libc/stdlib.c:234. [eva] Done for function Frama_C_make_unknown [eva] Recording results for realpath [eva] Done for function realpath @@ -246,30 +246,30 @@ [eva] ====== VALUES COMPUTED ====== [eva:final-states] Values at end of function posix_memalign: __fc_heap_status ∈ [--..--] - p_al0 ∈ {{ NULL ; &__malloc_posix_memalign_l199[0] }} - p_al1 ∈ {{ NULL ; &__malloc_posix_memalign_l199_0[0] }} or UNINITIALIZED + p_al0 ∈ {{ NULL ; &__malloc_posix_memalign_l203[0] }} + p_al1 ∈ {{ NULL ; &__malloc_posix_memalign_l203_0[0] }} or UNINITIALIZED __retres ∈ {0; 12} [eva:final-states] Values at end of function realpath: __fc_heap_status ∈ [--..--] __fc_errno ∈ [--..--] Frama_C_entropy_source ∈ [--..--] resolved_name ∈ - {{ NULL ; &__malloc_main_l44[0] ; &__malloc_realpath_l224[0] ; - &__malloc_realpath_l224_0[0] }} + {{ NULL ; &__malloc_main_l44[0] ; &__malloc_realpath_l228[0] ; + &__malloc_realpath_l228_0[0] }} realpath_len ∈ [1..4096] or UNINITIALIZED __retres ∈ - {{ NULL ; &__malloc_main_l44[0] ; &__malloc_realpath_l224[0] ; - &__malloc_realpath_l224_0[0] }} + {{ NULL ; &__malloc_main_l44[0] ; &__malloc_realpath_l228[0] ; + &__malloc_realpath_l228_0[0] }} __malloc_main_l44[0..4095] ∈ [--..--] or UNINITIALIZED - __malloc_realpath_l224[0] ∈ [--..--] + __malloc_realpath_l228[0] ∈ [--..--] [1..4095] ∈ [--..--] or UNINITIALIZED - __malloc_realpath_l224_0[0] ∈ [--..--] + __malloc_realpath_l228_0[0] ∈ [--..--] [1..4095] ∈ [--..--] or UNINITIALIZED [eva:final-states] Values at end of function canonicalize_file_name: __fc_heap_status ∈ [--..--] __fc_errno ∈ [--..--] Frama_C_entropy_source ∈ [--..--] - __malloc_realpath_l224_0[0] ∈ [--..--] + __malloc_realpath_l228_0[0] ∈ [--..--] [1..4095] ∈ [--..--] or UNINITIALIZED [eva:final-states] Values at end of function main: __fc_heap_status ∈ [--..--] @@ -280,17 +280,17 @@ q ∈ {{ NULL ; &__calloc_main_l22[0] }} r ∈ {0} s ∈ {{ NULL ; &__calloc_w_main_l33[0] }} - p_al0 ∈ {{ NULL ; &__malloc_posix_memalign_l199[0] }} - p_al1 ∈ {{ NULL ; &__malloc_posix_memalign_l199_0[0] }} + p_al0 ∈ {{ NULL ; &__malloc_posix_memalign_l203[0] }} + p_al1 ∈ {{ NULL ; &__malloc_posix_memalign_l203_0[0] }} p_memal_res ∈ {0; 12} p_memal_res2 ∈ {0; 12} resolved_name ∈ {{ NULL ; &__malloc_main_l44[0] }} - realpath_res ∈ {{ NULL ; &__malloc_realpath_l224[0] }} or UNINITIALIZED - canon ∈ {{ NULL ; &__malloc_realpath_l224_0[0] }} or UNINITIALIZED + realpath_res ∈ {{ NULL ; &__malloc_realpath_l228[0] }} or UNINITIALIZED + canon ∈ {{ NULL ; &__malloc_realpath_l228_0[0] }} or UNINITIALIZED __retres ∈ {0; 1} __calloc_w_main_l33[0..1073741823] ∈ {0; 42} __malloc_main_l44[0..4095] ∈ [--..--] or UNINITIALIZED - __malloc_realpath_l224[0] ∈ [--..--] + __malloc_realpath_l228[0] ∈ [--..--] [1..4095] ∈ [--..--] or UNINITIALIZED - __malloc_realpath_l224_0[0] ∈ [--..--] + __malloc_realpath_l228_0[0] ∈ [--..--] [1..4095] ∈ [--..--] or UNINITIALIZED diff --git a/tests/libc/oracle/stdlib_c.1.res.oracle b/tests/libc/oracle/stdlib_c.1.res.oracle index 2dd89afee8614a150420fa948b006bd6257deeea..679dd08280bd3dc8797e70018f62169126c4b578 100644 --- a/tests/libc/oracle/stdlib_c.1.res.oracle +++ b/tests/libc/oracle/stdlib_c.1.res.oracle @@ -77,11 +77,11 @@ (0..31/34359738367) to fit 0..191/34359738367 [eva] computing for function posix_memalign <- main. Called from stdlib_c.c:38. -[eva] FRAMAC_SHARE/libc/stdlib.c:196: +[eva] FRAMAC_SHARE/libc/stdlib.c:200: assertion 'alignment_is_a_suitable_power_of_two' got status valid. -[eva] FRAMAC_SHARE/libc/stdlib.c:199: Call to builtin Frama_C_malloc -[eva] FRAMAC_SHARE/libc/stdlib.c:199: - allocating variable __malloc_posix_memalign_l199 +[eva] FRAMAC_SHARE/libc/stdlib.c:203: Call to builtin Frama_C_malloc +[eva] FRAMAC_SHARE/libc/stdlib.c:203: + allocating variable __malloc_posix_memalign_l203 [eva] Recording results for posix_memalign [eva] Done for function posix_memalign [eva] computing for function free <- main. @@ -92,9 +92,9 @@ [eva] Done for function free [eva] computing for function posix_memalign <- main. Called from stdlib_c.c:40. -[eva] FRAMAC_SHARE/libc/stdlib.c:199: Call to builtin Frama_C_malloc -[eva] FRAMAC_SHARE/libc/stdlib.c:199: - allocating variable __malloc_posix_memalign_l199_0 +[eva] FRAMAC_SHARE/libc/stdlib.c:203: Call to builtin Frama_C_malloc +[eva] FRAMAC_SHARE/libc/stdlib.c:203: + allocating variable __malloc_posix_memalign_l203_0 [eva] Recording results for posix_memalign [eva] Done for function posix_memalign [eva] computing for function free <- main. @@ -107,20 +107,20 @@ [eva] computing for function realpath <- main. Called from stdlib_c.c:46. [eva] computing for function Frama_C_interval <- realpath <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:213. + Called from FRAMAC_SHARE/libc/stdlib.c:217. [eva] using specification for function Frama_C_interval -[eva] FRAMAC_SHARE/libc/stdlib.c:213: +[eva] FRAMAC_SHARE/libc/stdlib.c:217: function Frama_C_interval: precondition 'order' got status valid. [eva] Done for function Frama_C_interval [eva] computing for function Frama_C_interval <- realpath <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:222. -[eva] FRAMAC_SHARE/libc/stdlib.c:222: + Called from FRAMAC_SHARE/libc/stdlib.c:226. +[eva] FRAMAC_SHARE/libc/stdlib.c:226: function Frama_C_interval: precondition 'order' got status valid. [eva] Done for function Frama_C_interval [eva] computing for function Frama_C_make_unknown <- realpath <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:230. + Called from FRAMAC_SHARE/libc/stdlib.c:234. [eva] using specification for function Frama_C_make_unknown -[eva] FRAMAC_SHARE/libc/stdlib.c:230: +[eva] FRAMAC_SHARE/libc/stdlib.c:234: function Frama_C_make_unknown: precondition 'valid_p' got status valid. [eva] Done for function Frama_C_make_unknown [eva] Recording results for realpath @@ -153,78 +153,78 @@ [eva] computing for function realpath <- main. Called from stdlib_c.c:54. [eva] computing for function Frama_C_interval <- realpath <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:213. + Called from FRAMAC_SHARE/libc/stdlib.c:217. [eva] Done for function Frama_C_interval [eva] computing for function Frama_C_interval <- realpath <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:222. + Called from FRAMAC_SHARE/libc/stdlib.c:226. [eva] Done for function Frama_C_interval -[eva] FRAMAC_SHARE/libc/stdlib.c:224: Call to builtin Frama_C_malloc -[eva] FRAMAC_SHARE/libc/stdlib.c:224: allocating variable __malloc_realpath_l224 +[eva] FRAMAC_SHARE/libc/stdlib.c:228: Call to builtin Frama_C_malloc +[eva] FRAMAC_SHARE/libc/stdlib.c:228: allocating variable __malloc_realpath_l228 [eva] computing for function Frama_C_make_unknown <- realpath <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:230. + Called from FRAMAC_SHARE/libc/stdlib.c:234. [eva] Done for function Frama_C_make_unknown [eva] Recording results for realpath [eva] Done for function realpath [eva] computing for function realpath <- main. Called from stdlib_c.c:54. [eva] computing for function Frama_C_interval <- realpath <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:213. + Called from FRAMAC_SHARE/libc/stdlib.c:217. [eva] Done for function Frama_C_interval [eva] computing for function Frama_C_interval <- realpath <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:222. + Called from FRAMAC_SHARE/libc/stdlib.c:226. [eva] Done for function Frama_C_interval -[eva] FRAMAC_SHARE/libc/stdlib.c:224: Call to builtin Frama_C_malloc +[eva] FRAMAC_SHARE/libc/stdlib.c:228: Call to builtin Frama_C_malloc [eva] computing for function Frama_C_make_unknown <- realpath <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:230. + Called from FRAMAC_SHARE/libc/stdlib.c:234. [eva] Done for function Frama_C_make_unknown [eva] Recording results for realpath [eva] Done for function realpath [eva] computing for function realpath <- main. Called from stdlib_c.c:54. [eva] computing for function Frama_C_interval <- realpath <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:213. + Called from FRAMAC_SHARE/libc/stdlib.c:217. [eva] Done for function Frama_C_interval [eva] computing for function Frama_C_interval <- realpath <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:222. + Called from FRAMAC_SHARE/libc/stdlib.c:226. [eva] Done for function Frama_C_interval -[eva] FRAMAC_SHARE/libc/stdlib.c:224: Call to builtin Frama_C_malloc +[eva] FRAMAC_SHARE/libc/stdlib.c:228: Call to builtin Frama_C_malloc [eva] computing for function Frama_C_make_unknown <- realpath <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:230. + Called from FRAMAC_SHARE/libc/stdlib.c:234. [eva] Done for function Frama_C_make_unknown [eva] Recording results for realpath [eva] Done for function realpath [eva] computing for function realpath <- main. Called from stdlib_c.c:54. [eva] computing for function Frama_C_interval <- realpath <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:213. + Called from FRAMAC_SHARE/libc/stdlib.c:217. [eva] Done for function Frama_C_interval [eva] computing for function Frama_C_interval <- realpath <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:222. + Called from FRAMAC_SHARE/libc/stdlib.c:226. [eva] Done for function Frama_C_interval -[eva] FRAMAC_SHARE/libc/stdlib.c:224: Call to builtin Frama_C_malloc +[eva] FRAMAC_SHARE/libc/stdlib.c:228: Call to builtin Frama_C_malloc [eva] computing for function Frama_C_make_unknown <- realpath <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:230. + Called from FRAMAC_SHARE/libc/stdlib.c:234. [eva] Done for function Frama_C_make_unknown [eva] Recording results for realpath [eva] Done for function realpath [eva] computing for function canonicalize_file_name <- main. Called from stdlib_c.c:56. [eva] computing for function realpath <- canonicalize_file_name <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:236. + Called from FRAMAC_SHARE/libc/stdlib.c:240. [eva] computing for function Frama_C_interval <- realpath <- canonicalize_file_name <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:213. + Called from FRAMAC_SHARE/libc/stdlib.c:217. [eva] Done for function Frama_C_interval [eva] computing for function Frama_C_interval <- realpath <- canonicalize_file_name <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:222. + Called from FRAMAC_SHARE/libc/stdlib.c:226. [eva] Done for function Frama_C_interval -[eva] FRAMAC_SHARE/libc/stdlib.c:224: Call to builtin Frama_C_malloc -[eva] FRAMAC_SHARE/libc/stdlib.c:224: - allocating variable __malloc_realpath_l224_0 +[eva] FRAMAC_SHARE/libc/stdlib.c:228: Call to builtin Frama_C_malloc +[eva] FRAMAC_SHARE/libc/stdlib.c:228: + allocating variable __malloc_realpath_l228_0 [eva] computing for function Frama_C_make_unknown <- realpath <- canonicalize_file_name <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:230. + Called from FRAMAC_SHARE/libc/stdlib.c:234. [eva] Done for function Frama_C_make_unknown [eva] Recording results for realpath [eva] Done for function realpath @@ -233,19 +233,19 @@ [eva] computing for function canonicalize_file_name <- main. Called from stdlib_c.c:56. [eva] computing for function realpath <- canonicalize_file_name <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:236. + Called from FRAMAC_SHARE/libc/stdlib.c:240. [eva] computing for function Frama_C_interval <- realpath <- canonicalize_file_name <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:213. + Called from FRAMAC_SHARE/libc/stdlib.c:217. [eva] Done for function Frama_C_interval [eva] computing for function Frama_C_interval <- realpath <- canonicalize_file_name <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:222. + Called from FRAMAC_SHARE/libc/stdlib.c:226. [eva] Done for function Frama_C_interval -[eva] FRAMAC_SHARE/libc/stdlib.c:224: Call to builtin Frama_C_malloc +[eva] FRAMAC_SHARE/libc/stdlib.c:228: Call to builtin Frama_C_malloc [eva] computing for function Frama_C_make_unknown <- realpath <- canonicalize_file_name <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:230. + Called from FRAMAC_SHARE/libc/stdlib.c:234. [eva] Done for function Frama_C_make_unknown [eva] Recording results for realpath [eva] Done for function realpath @@ -264,30 +264,30 @@ [eva] ====== VALUES COMPUTED ====== [eva:final-states] Values at end of function posix_memalign: __fc_heap_status ∈ [--..--] - p_al0 ∈ {{ &__malloc_posix_memalign_l199[0] }} - p_al1 ∈ {{ &__malloc_posix_memalign_l199_0[0] }} or UNINITIALIZED + p_al0 ∈ {{ &__malloc_posix_memalign_l203[0] }} + p_al1 ∈ {{ &__malloc_posix_memalign_l203_0[0] }} or UNINITIALIZED __retres ∈ {0} [eva:final-states] Values at end of function realpath: __fc_heap_status ∈ [--..--] __fc_errno ∈ [--..--] Frama_C_entropy_source ∈ [--..--] resolved_name ∈ - {{ NULL ; &__malloc_main_l44[0] ; &__malloc_realpath_l224[0] ; - &__malloc_realpath_l224_0[0] }} + {{ NULL ; &__malloc_main_l44[0] ; &__malloc_realpath_l228[0] ; + &__malloc_realpath_l228_0[0] }} realpath_len ∈ [1..4096] or UNINITIALIZED __retres ∈ - {{ NULL ; &__malloc_main_l44[0] ; &__malloc_realpath_l224[0] ; - &__malloc_realpath_l224_0[0] }} + {{ NULL ; &__malloc_main_l44[0] ; &__malloc_realpath_l228[0] ; + &__malloc_realpath_l228_0[0] }} __malloc_main_l44[0..4095] ∈ [--..--] or UNINITIALIZED - __malloc_realpath_l224[0] ∈ [--..--] + __malloc_realpath_l228[0] ∈ [--..--] [1..4095] ∈ [--..--] or UNINITIALIZED - __malloc_realpath_l224_0[0] ∈ [--..--] + __malloc_realpath_l228_0[0] ∈ [--..--] [1..4095] ∈ [--..--] or UNINITIALIZED [eva:final-states] Values at end of function canonicalize_file_name: __fc_heap_status ∈ [--..--] __fc_errno ∈ [--..--] Frama_C_entropy_source ∈ [--..--] - __malloc_realpath_l224_0[0] ∈ [--..--] + __malloc_realpath_l228_0[0] ∈ [--..--] [1..4095] ∈ [--..--] or UNINITIALIZED [eva:final-states] Values at end of function main: __fc_heap_status ∈ [--..--] @@ -298,17 +298,17 @@ q ∈ {{ NULL ; &__calloc_main_l22[0] }} r ∈ {0} s ∈ {{ NULL ; &__calloc_w_main_l33[0] }} - p_al0 ∈ {{ &__malloc_posix_memalign_l199[0] }} - p_al1 ∈ {{ &__malloc_posix_memalign_l199_0[0] }} + p_al0 ∈ {{ &__malloc_posix_memalign_l203[0] }} + p_al1 ∈ {{ &__malloc_posix_memalign_l203_0[0] }} p_memal_res ∈ {0} p_memal_res2 ∈ {0} resolved_name ∈ {{ &__malloc_main_l44[0] }} - realpath_res ∈ {{ NULL ; &__malloc_realpath_l224[0] }} - canon ∈ {{ NULL ; &__malloc_realpath_l224_0[0] }} + realpath_res ∈ {{ NULL ; &__malloc_realpath_l228[0] }} + canon ∈ {{ NULL ; &__malloc_realpath_l228_0[0] }} __retres ∈ {0} __calloc_w_main_l33[0..1073741823] ∈ {0; 42} __malloc_main_l44[0..4095] ∈ [--..--] or UNINITIALIZED - __malloc_realpath_l224[0] ∈ [--..--] + __malloc_realpath_l228[0] ∈ [--..--] [1..4095] ∈ [--..--] or UNINITIALIZED - __malloc_realpath_l224_0[0] ∈ [--..--] + __malloc_realpath_l228_0[0] ∈ [--..--] [1..4095] ∈ [--..--] or UNINITIALIZED diff --git a/tests/libc/oracle/stdlib_c.2.res.oracle b/tests/libc/oracle/stdlib_c.2.res.oracle index 92a26b0f48e0b8e75ef495fdd9375ea676193e2a..2f4cdcf25ecf6df25a1e25f1252893c3c8694878 100644 --- a/tests/libc/oracle/stdlib_c.2.res.oracle +++ b/tests/libc/oracle/stdlib_c.2.res.oracle @@ -13,7 +13,7 @@ [eva] using specification for function memset [eva] FRAMAC_SHARE/libc/stdlib.c:73: function memset: precondition 'valid_s' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:134: +[eva] FRAMAC_SHARE/libc/string.h:151: cannot evaluate ACSL term, unsupported ACSL construct: logic function memset [eva] Done for function memset [eva] Recording results for calloc @@ -96,11 +96,11 @@ [eva] Done for function calloc [eva] computing for function posix_memalign <- main. Called from stdlib_c.c:38. -[eva] FRAMAC_SHARE/libc/stdlib.c:196: +[eva] FRAMAC_SHARE/libc/stdlib.c:200: assertion 'alignment_is_a_suitable_power_of_two' got status valid. -[eva] FRAMAC_SHARE/libc/stdlib.c:199: Call to builtin Frama_C_malloc -[eva] FRAMAC_SHARE/libc/stdlib.c:199: - allocating variable __malloc_posix_memalign_l199 +[eva] FRAMAC_SHARE/libc/stdlib.c:203: Call to builtin Frama_C_malloc +[eva] FRAMAC_SHARE/libc/stdlib.c:203: + allocating variable __malloc_posix_memalign_l203 [eva] Recording results for posix_memalign [eva] Done for function posix_memalign [eva] computing for function free <- main. @@ -111,9 +111,9 @@ [eva] Done for function free [eva] computing for function posix_memalign <- main. Called from stdlib_c.c:40. -[eva] FRAMAC_SHARE/libc/stdlib.c:199: Call to builtin Frama_C_malloc -[eva] FRAMAC_SHARE/libc/stdlib.c:199: - allocating variable __malloc_posix_memalign_l199_0 +[eva] FRAMAC_SHARE/libc/stdlib.c:203: Call to builtin Frama_C_malloc +[eva] FRAMAC_SHARE/libc/stdlib.c:203: + allocating variable __malloc_posix_memalign_l203_0 [eva] Recording results for posix_memalign [eva] Done for function posix_memalign [eva] computing for function free <- main. @@ -126,20 +126,20 @@ [eva] computing for function realpath <- main. Called from stdlib_c.c:46. [eva] computing for function Frama_C_interval <- realpath <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:213. + Called from FRAMAC_SHARE/libc/stdlib.c:217. [eva] using specification for function Frama_C_interval -[eva] FRAMAC_SHARE/libc/stdlib.c:213: +[eva] FRAMAC_SHARE/libc/stdlib.c:217: function Frama_C_interval: precondition 'order' got status valid. [eva] Done for function Frama_C_interval [eva] computing for function Frama_C_interval <- realpath <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:222. -[eva] FRAMAC_SHARE/libc/stdlib.c:222: + Called from FRAMAC_SHARE/libc/stdlib.c:226. +[eva] FRAMAC_SHARE/libc/stdlib.c:226: function Frama_C_interval: precondition 'order' got status valid. [eva] Done for function Frama_C_interval [eva] computing for function Frama_C_make_unknown <- realpath <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:230. + Called from FRAMAC_SHARE/libc/stdlib.c:234. [eva] using specification for function Frama_C_make_unknown -[eva] FRAMAC_SHARE/libc/stdlib.c:230: +[eva] FRAMAC_SHARE/libc/stdlib.c:234: function Frama_C_make_unknown: precondition 'valid_p' got status valid. [eva] Done for function Frama_C_make_unknown [eva] Recording results for realpath @@ -160,36 +160,36 @@ [eva] computing for function realpath <- main. Called from stdlib_c.c:54. [eva] computing for function Frama_C_interval <- realpath <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:213. + Called from FRAMAC_SHARE/libc/stdlib.c:217. [eva] Done for function Frama_C_interval [eva] computing for function Frama_C_interval <- realpath <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:222. + Called from FRAMAC_SHARE/libc/stdlib.c:226. [eva] Done for function Frama_C_interval -[eva] FRAMAC_SHARE/libc/stdlib.c:224: Call to builtin Frama_C_malloc -[eva] FRAMAC_SHARE/libc/stdlib.c:224: allocating variable __malloc_realpath_l224 +[eva] FRAMAC_SHARE/libc/stdlib.c:228: Call to builtin Frama_C_malloc +[eva] FRAMAC_SHARE/libc/stdlib.c:228: allocating variable __malloc_realpath_l228 [eva] computing for function Frama_C_make_unknown <- realpath <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:230. + Called from FRAMAC_SHARE/libc/stdlib.c:234. [eva] Done for function Frama_C_make_unknown [eva] Recording results for realpath [eva] Done for function realpath [eva] computing for function canonicalize_file_name <- main. Called from stdlib_c.c:56. [eva] computing for function realpath <- canonicalize_file_name <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:236. + Called from FRAMAC_SHARE/libc/stdlib.c:240. [eva] computing for function Frama_C_interval <- realpath <- canonicalize_file_name <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:213. + Called from FRAMAC_SHARE/libc/stdlib.c:217. [eva] Done for function Frama_C_interval [eva] computing for function Frama_C_interval <- realpath <- canonicalize_file_name <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:222. + Called from FRAMAC_SHARE/libc/stdlib.c:226. [eva] Done for function Frama_C_interval -[eva] FRAMAC_SHARE/libc/stdlib.c:224: Call to builtin Frama_C_malloc -[eva] FRAMAC_SHARE/libc/stdlib.c:224: - allocating variable __malloc_realpath_l224_0 +[eva] FRAMAC_SHARE/libc/stdlib.c:228: Call to builtin Frama_C_malloc +[eva] FRAMAC_SHARE/libc/stdlib.c:228: + allocating variable __malloc_realpath_l228_0 [eva] computing for function Frama_C_make_unknown <- realpath <- canonicalize_file_name <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:230. + Called from FRAMAC_SHARE/libc/stdlib.c:234. [eva] Done for function Frama_C_make_unknown [eva] Recording results for realpath [eva] Done for function realpath @@ -218,28 +218,28 @@ __malloc_w_calloc_l72_1[0..4294967291] ∈ [--..--] or UNINITIALIZED [eva:final-states] Values at end of function posix_memalign: __fc_heap_status ∈ [--..--] - p_al0 ∈ {{ NULL ; &__malloc_posix_memalign_l199[0] }} - p_al1 ∈ {{ NULL ; &__malloc_posix_memalign_l199_0[0] }} or UNINITIALIZED + p_al0 ∈ {{ NULL ; &__malloc_posix_memalign_l203[0] }} + p_al1 ∈ {{ NULL ; &__malloc_posix_memalign_l203_0[0] }} or UNINITIALIZED __retres ∈ {0; 12} [eva:final-states] Values at end of function realpath: __fc_heap_status ∈ [--..--] __fc_errno ∈ [--..--] Frama_C_entropy_source ∈ [--..--] resolved_name ∈ - {{ NULL ; &__malloc_main_l44[0] ; &__malloc_realpath_l224[0] ; - &__malloc_realpath_l224_0[0] }} + {{ NULL ; &__malloc_main_l44[0] ; &__malloc_realpath_l228[0] ; + &__malloc_realpath_l228_0[0] }} realpath_len ∈ [1..4096] or UNINITIALIZED __retres ∈ - {{ NULL ; &__malloc_main_l44[0] ; &__malloc_realpath_l224[0] ; - &__malloc_realpath_l224_0[0] }} + {{ NULL ; &__malloc_main_l44[0] ; &__malloc_realpath_l228[0] ; + &__malloc_realpath_l228_0[0] }} __malloc_main_l44[0..4095] ∈ [--..--] or UNINITIALIZED - __malloc_realpath_l224[0..4095] ∈ [--..--] or UNINITIALIZED - __malloc_realpath_l224_0[0..4095] ∈ [--..--] or UNINITIALIZED + __malloc_realpath_l228[0..4095] ∈ [--..--] or UNINITIALIZED + __malloc_realpath_l228_0[0..4095] ∈ [--..--] or UNINITIALIZED [eva:final-states] Values at end of function canonicalize_file_name: __fc_heap_status ∈ [--..--] __fc_errno ∈ [--..--] Frama_C_entropy_source ∈ [--..--] - __malloc_realpath_l224_0[0..4095] ∈ [--..--] or UNINITIALIZED + __malloc_realpath_l228_0[0..4095] ∈ [--..--] or UNINITIALIZED [eva:final-states] Values at end of function main: __fc_heap_status ∈ [--..--] __fc_errno ∈ [--..--] @@ -249,17 +249,17 @@ q ∈ {{ NULL ; (int *)&__malloc_calloc_l72_0 }} r ∈ {0} s ∈ {{ NULL ; (int *)&__malloc_w_calloc_l72_1 }} or UNINITIALIZED - p_al0 ∈ {{ NULL ; &__malloc_posix_memalign_l199[0] }} - p_al1 ∈ {{ NULL ; &__malloc_posix_memalign_l199_0[0] }} + p_al0 ∈ {{ NULL ; &__malloc_posix_memalign_l203[0] }} + p_al1 ∈ {{ NULL ; &__malloc_posix_memalign_l203_0[0] }} p_memal_res ∈ {0; 12} p_memal_res2 ∈ {0; 12} resolved_name ∈ {{ NULL ; &__malloc_main_l44[0] }} - realpath_res ∈ {{ NULL ; &__malloc_realpath_l224[0] }} or UNINITIALIZED - canon ∈ {{ NULL ; &__malloc_realpath_l224_0[0] }} or UNINITIALIZED + realpath_res ∈ {{ NULL ; &__malloc_realpath_l228[0] }} or UNINITIALIZED + canon ∈ {{ NULL ; &__malloc_realpath_l228_0[0] }} or UNINITIALIZED __retres ∈ {0; 1} __malloc_calloc_l72[0..3] ∈ [--..--] or UNINITIALIZED __malloc_calloc_l72_0[0..4294967291] ∈ [--..--] or UNINITIALIZED __malloc_w_calloc_l72_1[0..4294967291] ∈ [--..--] or UNINITIALIZED __malloc_main_l44[0..4095] ∈ [--..--] or UNINITIALIZED - __malloc_realpath_l224[0..4095] ∈ [--..--] or UNINITIALIZED - __malloc_realpath_l224_0[0..4095] ∈ [--..--] or UNINITIALIZED + __malloc_realpath_l228[0..4095] ∈ [--..--] or UNINITIALIZED + __malloc_realpath_l228_0[0..4095] ∈ [--..--] or UNINITIALIZED diff --git a/tests/libc/oracle/stdlib_c_env.res.oracle b/tests/libc/oracle/stdlib_c_env.res.oracle index 1f2d4bb2994253ac4ad94e7074c908d114de2f4a..980661bdbfe72311f1f83f22fb1f8402cc15a479 100644 --- a/tests/libc/oracle/stdlib_c_env.res.oracle +++ b/tests/libc/oracle/stdlib_c_env.res.oracle @@ -6,95 +6,95 @@ [eva] computing for function putenv <- main. Called from stdlib_c_env.c:8. -[eva] FRAMAC_SHARE/libc/stdlib.c:114: Call to builtin strchr -[eva] FRAMAC_SHARE/libc/stdlib.c:114: +[eva] FRAMAC_SHARE/libc/stdlib.c:118: Call to builtin strchr +[eva] FRAMAC_SHARE/libc/stdlib.c:118: function strchr: precondition 'valid_string_s' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:181: +[eva] FRAMAC_SHARE/libc/string.h:202: cannot evaluate ACSL term, unsupported logic var p -[eva] FRAMAC_SHARE/libc/stdlib.c:115: +[eva] FRAMAC_SHARE/libc/stdlib.c:119: assertion 'string_contains_separator' got status valid. -[eva] FRAMAC_SHARE/libc/stdlib.c:116: +[eva] FRAMAC_SHARE/libc/stdlib.c:120: assertion 'name_is_not_empty' got status valid. [eva] computing for function __fc_initenv <- putenv <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:118. + Called from FRAMAC_SHARE/libc/stdlib.c:122. [eva] computing for function Frama_C_make_unknown <- __fc_initenv <- putenv <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:87. + Called from FRAMAC_SHARE/libc/stdlib.c:91. [eva] using specification for function Frama_C_make_unknown -[eva] FRAMAC_SHARE/libc/stdlib.c:87: +[eva] FRAMAC_SHARE/libc/stdlib.c:91: function Frama_C_make_unknown: precondition 'valid_p' got status valid. [eva] Done for function Frama_C_make_unknown [eva] computing for function Frama_C_interval <- __fc_initenv <- putenv <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:89. + Called from FRAMAC_SHARE/libc/stdlib.c:93. [eva] using specification for function Frama_C_interval -[eva] FRAMAC_SHARE/libc/stdlib.c:89: +[eva] FRAMAC_SHARE/libc/stdlib.c:93: function Frama_C_interval: precondition 'order' got status valid. [eva] Done for function Frama_C_interval -[eva] FRAMAC_SHARE/libc/stdlib.c:88: starting to merge loop iterations +[eva] FRAMAC_SHARE/libc/stdlib.c:92: starting to merge loop iterations [eva] computing for function Frama_C_interval <- __fc_initenv <- putenv <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:89. + Called from FRAMAC_SHARE/libc/stdlib.c:93. [eva] Done for function Frama_C_interval [eva] computing for function Frama_C_interval <- __fc_initenv <- putenv <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:89. + Called from FRAMAC_SHARE/libc/stdlib.c:93. [eva] Done for function Frama_C_interval [eva] computing for function Frama_C_interval <- __fc_initenv <- putenv <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:89. + Called from FRAMAC_SHARE/libc/stdlib.c:93. [eva] Done for function Frama_C_interval [eva] computing for function Frama_C_interval <- __fc_initenv <- putenv <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:89. + Called from FRAMAC_SHARE/libc/stdlib.c:93. [eva] Done for function Frama_C_interval [eva] Recording results for __fc_initenv [eva] Done for function __fc_initenv [eva] computing for function Frama_C_nondet <- putenv <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:125. + Called from FRAMAC_SHARE/libc/stdlib.c:129. [eva] using specification for function Frama_C_nondet [eva] Done for function Frama_C_nondet [eva] computing for function Frama_C_nondet <- putenv <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:126. + Called from FRAMAC_SHARE/libc/stdlib.c:130. [eva] Done for function Frama_C_nondet [eva] computing for function Frama_C_interval <- putenv <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:128. -[eva] FRAMAC_SHARE/libc/stdlib.c:128: + Called from FRAMAC_SHARE/libc/stdlib.c:132. +[eva] FRAMAC_SHARE/libc/stdlib.c:132: function Frama_C_interval: precondition 'order' got status valid. [eva] Done for function Frama_C_interval [eva] computing for function Frama_C_interval <- putenv <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:130. -[eva] FRAMAC_SHARE/libc/stdlib.c:130: + Called from FRAMAC_SHARE/libc/stdlib.c:134. +[eva] FRAMAC_SHARE/libc/stdlib.c:134: function Frama_C_interval: precondition 'order' got status valid. [eva] Done for function Frama_C_interval [eva] Recording results for putenv [eva] Done for function putenv [eva] computing for function putenv <- main. Called from stdlib_c_env.c:10. -[eva] FRAMAC_SHARE/libc/stdlib.c:114: Call to builtin strchr +[eva] FRAMAC_SHARE/libc/stdlib.c:118: Call to builtin strchr [eva] computing for function __fc_initenv <- putenv <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:118. + Called from FRAMAC_SHARE/libc/stdlib.c:122. [eva] Recording results for __fc_initenv [eva] Done for function __fc_initenv [eva] computing for function Frama_C_nondet <- putenv <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:125. + Called from FRAMAC_SHARE/libc/stdlib.c:129. [eva] Done for function Frama_C_nondet [eva] computing for function Frama_C_nondet <- putenv <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:126. + Called from FRAMAC_SHARE/libc/stdlib.c:130. [eva] Done for function Frama_C_nondet [eva] computing for function Frama_C_interval <- putenv <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:128. + Called from FRAMAC_SHARE/libc/stdlib.c:132. [eva] Done for function Frama_C_interval [eva] computing for function Frama_C_interval <- putenv <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:130. + Called from FRAMAC_SHARE/libc/stdlib.c:134. [eva] Done for function Frama_C_interval [eva] Recording results for putenv [eva] Done for function putenv [eva] computing for function getenv <- main. Called from stdlib_c_env.c:11. -[eva] FRAMAC_SHARE/libc/stdlib.c:102: assertion got status valid. -[eva] FRAMAC_SHARE/libc/stdlib.c:104: +[eva] FRAMAC_SHARE/libc/stdlib.c:106: assertion got status valid. +[eva] FRAMAC_SHARE/libc/stdlib.c:108: Reusing old results for call to __fc_initenv [eva] computing for function Frama_C_nondet <- getenv <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:105. + Called from FRAMAC_SHARE/libc/stdlib.c:109. [eva] Done for function Frama_C_nondet [eva] computing for function Frama_C_interval <- getenv <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:106. -[eva] FRAMAC_SHARE/libc/stdlib.c:106: + Called from FRAMAC_SHARE/libc/stdlib.c:110. +[eva] FRAMAC_SHARE/libc/stdlib.c:110: function Frama_C_interval: precondition 'order' got status valid. [eva] Done for function Frama_C_interval [eva] Recording results for getenv @@ -109,118 +109,118 @@ function strcpy: precondition 'room_string' got status valid. [eva] stdlib_c_env.c:15: function strcpy: precondition 'separation' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:373: +[eva] FRAMAC_SHARE/libc/string.h:425: cannot evaluate ACSL term, unsupported ACSL construct: logic function strcmp [eva] Done for function strcpy [eva] computing for function getenv <- main. Called from stdlib_c_env.c:16. -[eva] FRAMAC_SHARE/libc/stdlib.c:104: +[eva] FRAMAC_SHARE/libc/stdlib.c:108: Reusing old results for call to __fc_initenv [eva] computing for function Frama_C_nondet <- getenv <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:105. + Called from FRAMAC_SHARE/libc/stdlib.c:109. [eva] Done for function Frama_C_nondet [eva] computing for function Frama_C_interval <- getenv <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:106. + Called from FRAMAC_SHARE/libc/stdlib.c:110. [eva] Done for function Frama_C_interval [eva] Recording results for getenv [eva] Done for function getenv [eva] computing for function setenv <- main. Called from stdlib_c_env.c:17. -[eva] FRAMAC_SHARE/libc/stdlib.c:137: Call to builtin strchr -[eva] FRAMAC_SHARE/libc/stdlib.c:137: - function strchr: precondition 'valid_string_s' got status valid. -[eva] FRAMAC_SHARE/libc/stdlib.c:141: Call to builtin strlen +[eva] FRAMAC_SHARE/libc/stdlib.c:141: Call to builtin strchr [eva] FRAMAC_SHARE/libc/stdlib.c:141: + function strchr: precondition 'valid_string_s' got status valid. +[eva] FRAMAC_SHARE/libc/stdlib.c:145: Call to builtin strlen +[eva] FRAMAC_SHARE/libc/stdlib.c:145: function strlen: precondition 'valid_string_s' got status valid. -[eva] FRAMAC_SHARE/libc/stdlib.c:147: +[eva] FRAMAC_SHARE/libc/stdlib.c:151: Reusing old results for call to __fc_initenv [eva] computing for function Frama_C_nondet <- setenv <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:153. + Called from FRAMAC_SHARE/libc/stdlib.c:157. [eva] Done for function Frama_C_nondet [eva] computing for function Frama_C_nondet <- setenv <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:157. + Called from FRAMAC_SHARE/libc/stdlib.c:161. [eva] Done for function Frama_C_nondet [eva] computing for function Frama_C_make_unknown <- setenv <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:158. -[eva] FRAMAC_SHARE/libc/stdlib.c:158: + Called from FRAMAC_SHARE/libc/stdlib.c:162. +[eva] FRAMAC_SHARE/libc/stdlib.c:162: function Frama_C_make_unknown: precondition 'valid_p' got status valid. [eva] Done for function Frama_C_make_unknown [eva] computing for function Frama_C_interval <- setenv <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:160. -[eva] FRAMAC_SHARE/libc/stdlib.c:160: + Called from FRAMAC_SHARE/libc/stdlib.c:164. +[eva] FRAMAC_SHARE/libc/stdlib.c:164: function Frama_C_interval: precondition 'order' got status valid. [eva] Done for function Frama_C_interval [eva] computing for function Frama_C_interval <- setenv <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:160. -[eva] FRAMAC_SHARE/libc/stdlib.c:160: + Called from FRAMAC_SHARE/libc/stdlib.c:164. +[eva] FRAMAC_SHARE/libc/stdlib.c:164: function Frama_C_interval: precondition 'order' got status valid. [eva] Done for function Frama_C_interval [eva] Recording results for setenv [eva] Done for function setenv [eva] computing for function setenv <- main. Called from stdlib_c_env.c:18. -[eva] FRAMAC_SHARE/libc/stdlib.c:137: Call to builtin strchr -[eva:alarm] FRAMAC_SHARE/libc/stdlib.c:137: Warning: +[eva] FRAMAC_SHARE/libc/stdlib.c:141: Call to builtin strchr +[eva:alarm] FRAMAC_SHARE/libc/stdlib.c:141: Warning: function strchr: precondition 'valid_string_s' got status unknown. -[eva] FRAMAC_SHARE/libc/stdlib.c:141: Call to builtin strlen -[eva] FRAMAC_SHARE/libc/stdlib.c:147: +[eva] FRAMAC_SHARE/libc/stdlib.c:145: Call to builtin strlen +[eva] FRAMAC_SHARE/libc/stdlib.c:151: Reusing old results for call to __fc_initenv [eva] computing for function Frama_C_nondet <- setenv <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:153. + Called from FRAMAC_SHARE/libc/stdlib.c:157. [eva] Done for function Frama_C_nondet [eva] computing for function Frama_C_nondet <- setenv <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:157. + Called from FRAMAC_SHARE/libc/stdlib.c:161. [eva] Done for function Frama_C_nondet [eva] computing for function Frama_C_make_unknown <- setenv <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:158. + Called from FRAMAC_SHARE/libc/stdlib.c:162. [eva] Done for function Frama_C_make_unknown [eva] computing for function Frama_C_interval <- setenv <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:160. + Called from FRAMAC_SHARE/libc/stdlib.c:164. [eva] Done for function Frama_C_interval [eva] computing for function Frama_C_interval <- setenv <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:160. + Called from FRAMAC_SHARE/libc/stdlib.c:164. [eva] Done for function Frama_C_interval [eva] Recording results for setenv [eva] Done for function setenv [eva] computing for function setenv <- main. Called from stdlib_c_env.c:19. -[eva] FRAMAC_SHARE/libc/stdlib.c:137: Call to builtin strchr -[eva] FRAMAC_SHARE/libc/stdlib.c:141: Call to builtin strlen -[eva] FRAMAC_SHARE/libc/stdlib.c:147: +[eva] FRAMAC_SHARE/libc/stdlib.c:141: Call to builtin strchr +[eva] FRAMAC_SHARE/libc/stdlib.c:145: Call to builtin strlen +[eva] FRAMAC_SHARE/libc/stdlib.c:151: Reusing old results for call to __fc_initenv [eva] computing for function Frama_C_nondet <- setenv <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:153. + Called from FRAMAC_SHARE/libc/stdlib.c:157. [eva] Done for function Frama_C_nondet [eva] computing for function Frama_C_nondet <- setenv <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:157. + Called from FRAMAC_SHARE/libc/stdlib.c:161. [eva] Done for function Frama_C_nondet [eva] computing for function Frama_C_make_unknown <- setenv <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:158. + Called from FRAMAC_SHARE/libc/stdlib.c:162. [eva] Done for function Frama_C_make_unknown [eva] computing for function Frama_C_interval <- setenv <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:160. + Called from FRAMAC_SHARE/libc/stdlib.c:164. [eva] Done for function Frama_C_interval [eva] computing for function Frama_C_interval <- setenv <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:160. + Called from FRAMAC_SHARE/libc/stdlib.c:164. [eva] Done for function Frama_C_interval [eva] Recording results for setenv [eva] Done for function setenv [eva] computing for function unsetenv <- main. Called from stdlib_c_env.c:20. -[eva] FRAMAC_SHARE/libc/stdlib.c:167: Call to builtin strchr -[eva] FRAMAC_SHARE/libc/stdlib.c:167: - function strchr: precondition 'valid_string_s' got status valid. -[eva] FRAMAC_SHARE/libc/stdlib.c:171: Call to builtin strlen +[eva] FRAMAC_SHARE/libc/stdlib.c:171: Call to builtin strchr [eva] FRAMAC_SHARE/libc/stdlib.c:171: + function strchr: precondition 'valid_string_s' got status valid. +[eva] FRAMAC_SHARE/libc/stdlib.c:175: Call to builtin strlen +[eva] FRAMAC_SHARE/libc/stdlib.c:175: function strlen: precondition 'valid_string_s' got status valid. -[eva] FRAMAC_SHARE/libc/stdlib.c:177: +[eva] FRAMAC_SHARE/libc/stdlib.c:181: Reusing old results for call to __fc_initenv [eva] computing for function Frama_C_nondet <- unsetenv <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:179. + Called from FRAMAC_SHARE/libc/stdlib.c:183. [eva] Done for function Frama_C_nondet [eva] computing for function Frama_C_interval <- unsetenv <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:180. -[eva] FRAMAC_SHARE/libc/stdlib.c:180: + Called from FRAMAC_SHARE/libc/stdlib.c:184. +[eva] FRAMAC_SHARE/libc/stdlib.c:184: function Frama_C_interval: precondition 'order' got status valid. [eva] Done for function Frama_C_interval [eva] Recording results for unsetenv @@ -228,38 +228,51 @@ [eva] stdlib_c_env.c:21: assertion got status valid. [eva] computing for function unsetenv <- main. Called from stdlib_c_env.c:22. -[eva] FRAMAC_SHARE/libc/stdlib.c:167: Call to builtin strchr +[eva] FRAMAC_SHARE/libc/stdlib.c:171: Call to builtin strchr [eva] Recording results for unsetenv [eva] Done for function unsetenv [eva] stdlib_c_env.c:23: assertion got status valid. [eva] computing for function unsetenv <- main. Called from stdlib_c_env.c:24. -[eva] FRAMAC_SHARE/libc/stdlib.c:167: Call to builtin strchr -[eva] FRAMAC_SHARE/libc/stdlib.c:171: Call to builtin strlen -[eva] FRAMAC_SHARE/libc/stdlib.c:177: +[eva] FRAMAC_SHARE/libc/stdlib.c:171: Call to builtin strchr +[eva] FRAMAC_SHARE/libc/stdlib.c:175: Call to builtin strlen +[eva] FRAMAC_SHARE/libc/stdlib.c:181: Reusing old results for call to __fc_initenv [eva] computing for function Frama_C_nondet <- unsetenv <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:179. + Called from FRAMAC_SHARE/libc/stdlib.c:183. [eva] Done for function Frama_C_nondet [eva] computing for function Frama_C_interval <- unsetenv <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:180. + Called from FRAMAC_SHARE/libc/stdlib.c:184. [eva] Done for function Frama_C_interval [eva] Recording results for unsetenv [eva] Done for function unsetenv [eva] computing for function getenv <- main. Called from stdlib_c_env.c:25. -[eva:alarm] FRAMAC_SHARE/libc/stdlib.c:102: Warning: +[eva:alarm] FRAMAC_SHARE/libc/stdlib.c:106: Warning: assertion got status unknown. -[eva] FRAMAC_SHARE/libc/stdlib.c:104: +[eva] FRAMAC_SHARE/libc/stdlib.c:108: Reusing old results for call to __fc_initenv [eva] computing for function Frama_C_nondet <- getenv <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:105. + Called from FRAMAC_SHARE/libc/stdlib.c:109. [eva] Done for function Frama_C_nondet [eva] computing for function Frama_C_interval <- getenv <- main. - Called from FRAMAC_SHARE/libc/stdlib.c:106. + Called from FRAMAC_SHARE/libc/stdlib.c:110. [eva] Done for function Frama_C_interval [eva] Recording results for getenv [eva] Done for function getenv +[eva] computing for function setenv <- main. + Called from stdlib_c_env.c:26. +[eva] FRAMAC_SHARE/libc/stdlib.c:141: Call to builtin strchr +[eva] Recording results for setenv +[eva] Done for function setenv +[eva] stdlib_c_env.c:27: check got status valid. +[eva] computing for function setenv <- main. + Called from stdlib_c_env.c:28. +[eva] FRAMAC_SHARE/libc/stdlib.c:141: Call to builtin strchr +[eva] FRAMAC_SHARE/libc/stdlib.c:145: Call to builtin strlen +[eva] Recording results for setenv +[eva] Done for function setenv +[eva] stdlib_c_env.c:29: check got status valid. [eva] Recording results for main [eva] Done for function main [eva] ====== VALUES COMPUTED ====== @@ -273,6 +286,7 @@ Frama_C_entropy_source ∈ [--..--] __retres ∈ {{ NULL ; &s[0] ; &__fc_env_strings + [0..63] ; "BLA=1" }} [eva:final-states] Values at end of function putenv: + __fc_errno ∈ [--..--] __fc_env[0..4095] ∈ {{ NULL ; &s[0] ; &__fc_env_strings + [0..63] ; "BLA=1" }} Frama_C_entropy_source ∈ [--..--] @@ -282,6 +296,7 @@ __fc_initenv_init ∈ {1} __retres ∈ [--..--] [eva:final-states] Values at end of function setenv: + __fc_errno ∈ [--..--] __fc_env[0..4095] ∈ {{ NULL ; &s[0] ; &__fc_env_strings + [0..63] ; "BLA=1" }} Frama_C_entropy_source ∈ [--..--] @@ -290,12 +305,14 @@ [63] ∈ {0} __retres ∈ {-1; 0} [eva:final-states] Values at end of function unsetenv: + __fc_errno ∈ [--..--] __fc_env[0..4095] ∈ {{ NULL ; &s[0] ; &__fc_env_strings + [0..63] ; "BLA=1" }} Frama_C_entropy_source ∈ [--..--] namelen ∈ [0..63] or UNINITIALIZED __retres ∈ {-1; 0} [eva:final-states] Values at end of function main: + __fc_errno ∈ {22} __fc_env[0..4095] ∈ {{ NULL ; &s[0] ; &__fc_env_strings + [0..63] ; "BLA=1" }} Frama_C_entropy_source ∈ [--..--] @@ -313,6 +330,8 @@ i7 ∈ {-1} i8 ∈ {-1; 0} r3 ∈ {{ NULL ; &s[0] ; &__fc_env_strings + [0..63] ; "BLA=1" }} + i9 ∈ {-1} + i10 ∈ {-1} __fc_env_strings[0..62] ∈ [--..--] [63] ∈ {0} __fc_initenv_init ∈ {1} diff --git a/tests/libc/oracle/stdlib_h.0.res.oracle b/tests/libc/oracle/stdlib_h.0.res.oracle index f3c34ab3d7b20fc92706f5c64290e6cff09f0e05..4c93198f82653a64bf2d38e2f1fb872e5678b7d0 100644 --- a/tests/libc/oracle/stdlib_h.0.res.oracle +++ b/tests/libc/oracle/stdlib_h.0.res.oracle @@ -3,325 +3,432 @@ [eva] Computing initial state [eva] Initial state computed [eva:initial-state] Values of globals at initialization + putenv_buf[0] ∈ {80} + [1] ∈ {65} + [2] ∈ {84} + [3] ∈ {72} + [4] ∈ {51} + [5] ∈ {61} + [6] ∈ {47} + [7] ∈ {58} + [8] ∈ {47} + [9] ∈ {102} + [10..11] ∈ {111} + [12] ∈ {58} + [13] ∈ {47} + [14] ∈ {98} + [15] ∈ {97} + [16] ∈ {114} + [17] ∈ {58} + [18..29] ∈ {0} nondet ∈ [--..--] [eva] computing for function strtol <- main. - Called from stdlib_h.c:21. + Called from stdlib_h.c:23. [eva] using specification for function strtol -[eva] stdlib_h.c:21: +[eva] stdlib_h.c:23: function strtol: precondition 'valid_string_nptr' got status valid. -[eva] stdlib_h.c:21: +[eva] stdlib_h.c:23: function strtol: precondition 'separation' got status valid. -[eva] stdlib_h.c:21: +[eva] stdlib_h.c:23: function strtol: precondition 'base_range' got status valid. -[eva] stdlib_h.c:21: +[eva] stdlib_h.c:23: function strtol, behavior store_position: precondition 'valid_endptr' got status valid. [eva] Done for function strtol [eva] computing for function strtol <- main. - Called from stdlib_h.c:22. -[eva] stdlib_h.c:22: + Called from stdlib_h.c:24. +[eva] stdlib_h.c:24: function strtol: precondition 'valid_string_nptr' got status valid. -[eva] stdlib_h.c:22: +[eva] stdlib_h.c:24: function strtol: precondition 'separation' got status valid. -[eva] stdlib_h.c:22: +[eva] stdlib_h.c:24: function strtol: precondition 'base_range' got status valid. -[eva] stdlib_h.c:22: +[eva] stdlib_h.c:24: function strtol, behavior store_position: precondition 'valid_endptr' got status valid. [eva] Done for function strtol [eva] computing for function strtol <- main. - Called from stdlib_h.c:23. -[eva] stdlib_h.c:23: + Called from stdlib_h.c:25. +[eva] stdlib_h.c:25: function strtol: precondition 'valid_string_nptr' got status valid. -[eva] stdlib_h.c:23: +[eva] stdlib_h.c:25: function strtol: precondition 'separation' got status valid. -[eva] stdlib_h.c:23: +[eva] stdlib_h.c:25: function strtol: precondition 'base_range' got status valid. [eva] Done for function strtol [eva] computing for function strtol <- main. - Called from stdlib_h.c:24. -[eva] stdlib_h.c:24: + Called from stdlib_h.c:26. +[eva] stdlib_h.c:26: function strtol: precondition 'valid_string_nptr' got status valid. -[eva] stdlib_h.c:24: +[eva] stdlib_h.c:26: function strtol: precondition 'separation' got status valid. -[eva] stdlib_h.c:24: +[eva] stdlib_h.c:26: function strtol: precondition 'base_range' got status valid. [eva] Done for function strtol [eva] computing for function strtoll <- main. - Called from stdlib_h.c:28. + Called from stdlib_h.c:30. [eva] using specification for function strtoll -[eva] stdlib_h.c:28: +[eva] stdlib_h.c:30: function strtoll: precondition 'valid_string_nptr' got status valid. -[eva] stdlib_h.c:28: +[eva] stdlib_h.c:30: function strtoll: precondition 'separation' got status valid. -[eva] stdlib_h.c:28: +[eva] stdlib_h.c:30: function strtoll: precondition 'base_range' got status valid. -[eva] stdlib_h.c:28: +[eva] stdlib_h.c:30: function strtoll, behavior store_position: precondition 'valid_endptr' got status valid. [eva] Done for function strtoll [eva] computing for function strtoll <- main. - Called from stdlib_h.c:29. -[eva] stdlib_h.c:29: + Called from stdlib_h.c:31. +[eva] stdlib_h.c:31: function strtoll: precondition 'valid_string_nptr' got status valid. -[eva] stdlib_h.c:29: +[eva] stdlib_h.c:31: function strtoll: precondition 'separation' got status valid. -[eva] stdlib_h.c:29: +[eva] stdlib_h.c:31: function strtoll: precondition 'base_range' got status valid. -[eva] stdlib_h.c:29: +[eva] stdlib_h.c:31: function strtoll, behavior store_position: precondition 'valid_endptr' got status valid. [eva] Done for function strtoll [eva] computing for function strtoll <- main. - Called from stdlib_h.c:30. -[eva] stdlib_h.c:30: + Called from stdlib_h.c:32. +[eva] stdlib_h.c:32: function strtoll: precondition 'valid_string_nptr' got status valid. -[eva] stdlib_h.c:30: +[eva] stdlib_h.c:32: function strtoll: precondition 'separation' got status valid. -[eva] stdlib_h.c:30: +[eva] stdlib_h.c:32: function strtoll: precondition 'base_range' got status valid. [eva] Done for function strtoll [eva] computing for function strtoul <- main. - Called from stdlib_h.c:34. + Called from stdlib_h.c:36. [eva] using specification for function strtoul -[eva] stdlib_h.c:34: +[eva] stdlib_h.c:36: function strtoul: precondition 'valid_string_nptr' got status valid. -[eva] stdlib_h.c:34: +[eva] stdlib_h.c:36: function strtoul: precondition 'separation' got status valid. -[eva] stdlib_h.c:34: +[eva] stdlib_h.c:36: function strtoul: precondition 'base_range' got status valid. -[eva] stdlib_h.c:34: +[eva] stdlib_h.c:36: function strtoul, behavior store_position: precondition 'valid_endptr' got status valid. [eva] Done for function strtoul [eva] computing for function strtoul <- main. - Called from stdlib_h.c:35. -[eva] stdlib_h.c:35: + Called from stdlib_h.c:37. +[eva] stdlib_h.c:37: function strtoul: precondition 'valid_string_nptr' got status valid. -[eva] stdlib_h.c:35: +[eva] stdlib_h.c:37: function strtoul: precondition 'separation' got status valid. -[eva] stdlib_h.c:35: +[eva] stdlib_h.c:37: function strtoul: precondition 'base_range' got status valid. -[eva] stdlib_h.c:35: +[eva] stdlib_h.c:37: function strtoul, behavior store_position: precondition 'valid_endptr' got status valid. [eva] Done for function strtoul [eva] computing for function strtoul <- main. - Called from stdlib_h.c:36. -[eva] stdlib_h.c:36: + Called from stdlib_h.c:38. +[eva] stdlib_h.c:38: function strtoul: precondition 'valid_string_nptr' got status valid. -[eva] stdlib_h.c:36: +[eva] stdlib_h.c:38: function strtoul: precondition 'separation' got status valid. -[eva] stdlib_h.c:36: +[eva] stdlib_h.c:38: function strtoul: precondition 'base_range' got status valid. [eva] Done for function strtoul [eva] computing for function strtoull <- main. - Called from stdlib_h.c:40. + Called from stdlib_h.c:42. [eva] using specification for function strtoull -[eva] stdlib_h.c:40: +[eva] stdlib_h.c:42: function strtoull: precondition 'valid_string_nptr' got status valid. -[eva] stdlib_h.c:40: +[eva] stdlib_h.c:42: function strtoull: precondition 'separation' got status valid. -[eva] stdlib_h.c:40: +[eva] stdlib_h.c:42: function strtoull: precondition 'base_range' got status valid. -[eva] stdlib_h.c:40: +[eva] stdlib_h.c:42: function strtoull, behavior store_position: precondition 'valid_endptr' got status valid. [eva] Done for function strtoull [eva] computing for function strtoull <- main. - Called from stdlib_h.c:41. -[eva] stdlib_h.c:41: + Called from stdlib_h.c:43. +[eva] stdlib_h.c:43: function strtoull: precondition 'valid_string_nptr' got status valid. -[eva] stdlib_h.c:41: +[eva] stdlib_h.c:43: function strtoull: precondition 'separation' got status valid. -[eva] stdlib_h.c:41: +[eva] stdlib_h.c:43: function strtoull: precondition 'base_range' got status valid. -[eva] stdlib_h.c:41: +[eva] stdlib_h.c:43: function strtoull, behavior store_position: precondition 'valid_endptr' got status valid. [eva] Done for function strtoull [eva] computing for function strtoull <- main. - Called from stdlib_h.c:42. -[eva] stdlib_h.c:42: + Called from stdlib_h.c:44. +[eva] stdlib_h.c:44: function strtoull: precondition 'valid_string_nptr' got status valid. -[eva] stdlib_h.c:42: +[eva] stdlib_h.c:44: function strtoull: precondition 'separation' got status valid. -[eva] stdlib_h.c:42: +[eva] stdlib_h.c:44: function strtoull: precondition 'base_range' got status valid. [eva] Done for function strtoull [eva] computing for function strtod <- main. - Called from stdlib_h.c:47. + Called from stdlib_h.c:49. [eva] using specification for function strtod -[eva] stdlib_h.c:47: +[eva] stdlib_h.c:49: function strtod: precondition 'valid_string_nptr' got status valid. -[eva] stdlib_h.c:47: +[eva] stdlib_h.c:49: function strtod: precondition 'separation' got status valid. -[eva] stdlib_h.c:47: +[eva] stdlib_h.c:49: function strtod, behavior store_position: precondition 'valid_endptr' got status valid. [eva] Done for function strtod [eva] computing for function strtod <- main. - Called from stdlib_h.c:48. -[eva] stdlib_h.c:48: + Called from stdlib_h.c:50. +[eva] stdlib_h.c:50: function strtod: precondition 'valid_string_nptr' got status valid. -[eva] stdlib_h.c:48: +[eva] stdlib_h.c:50: function strtod: precondition 'separation' got status valid. -[eva] stdlib_h.c:48: +[eva] stdlib_h.c:50: function strtod, behavior store_position: precondition 'valid_endptr' got status valid. [eva] Done for function strtod [eva] computing for function strtod <- main. - Called from stdlib_h.c:49. -[eva] stdlib_h.c:49: + Called from stdlib_h.c:51. +[eva] stdlib_h.c:51: function strtod: precondition 'valid_string_nptr' got status valid. -[eva] stdlib_h.c:49: +[eva] stdlib_h.c:51: function strtod: precondition 'separation' got status valid. [eva] Done for function strtod [eva] computing for function strtold <- main. - Called from stdlib_h.c:53. + Called from stdlib_h.c:55. [eva] using specification for function strtold -[eva] stdlib_h.c:53: +[eva] stdlib_h.c:55: function strtold: precondition 'valid_string_nptr' got status valid. -[eva] stdlib_h.c:53: +[eva] stdlib_h.c:55: function strtold: precondition 'separation' got status valid. -[eva] stdlib_h.c:53: +[eva] stdlib_h.c:55: function strtold, behavior store_position: precondition 'valid_endptr' got status valid. [eva] Done for function strtold [eva] computing for function strtold <- main. - Called from stdlib_h.c:54. -[eva] stdlib_h.c:54: + Called from stdlib_h.c:56. +[eva] stdlib_h.c:56: function strtold: precondition 'valid_string_nptr' got status valid. -[eva] stdlib_h.c:54: +[eva] stdlib_h.c:56: function strtold: precondition 'separation' got status valid. -[eva] stdlib_h.c:54: +[eva] stdlib_h.c:56: function strtold, behavior store_position: precondition 'valid_endptr' got status valid. [eva] Done for function strtold [eva] computing for function strtold <- main. - Called from stdlib_h.c:55. -[eva] stdlib_h.c:55: + Called from stdlib_h.c:57. +[eva] stdlib_h.c:57: function strtold: precondition 'valid_string_nptr' got status valid. -[eva] stdlib_h.c:55: +[eva] stdlib_h.c:57: function strtold: precondition 'separation' got status valid. [eva] Done for function strtold [eva] computing for function strtof <- main. - Called from stdlib_h.c:59. + Called from stdlib_h.c:61. [eva] using specification for function strtof -[eva] stdlib_h.c:59: +[eva] stdlib_h.c:61: function strtof: precondition 'valid_string_nptr' got status valid. -[eva] stdlib_h.c:59: +[eva] stdlib_h.c:61: function strtof: precondition 'separation' got status valid. -[eva] stdlib_h.c:59: +[eva] stdlib_h.c:61: function strtof, behavior store_position: precondition 'valid_endptr' got status valid. [eva] Done for function strtof [eva] computing for function strtof <- main. - Called from stdlib_h.c:60. -[eva] stdlib_h.c:60: + Called from stdlib_h.c:62. +[eva] stdlib_h.c:62: function strtof: precondition 'valid_string_nptr' got status valid. -[eva] stdlib_h.c:60: +[eva] stdlib_h.c:62: function strtof: precondition 'separation' got status valid. -[eva] stdlib_h.c:60: +[eva] stdlib_h.c:62: function strtof, behavior store_position: precondition 'valid_endptr' got status valid. [eva] Done for function strtof [eva] computing for function strtof <- main. - Called from stdlib_h.c:61. -[eva] stdlib_h.c:61: + Called from stdlib_h.c:63. +[eva] stdlib_h.c:63: function strtof: precondition 'valid_string_nptr' got status valid. -[eva] stdlib_h.c:61: +[eva] stdlib_h.c:63: function strtof: precondition 'separation' got status valid. [eva] Done for function strtof [eva] computing for function bsearch <- main. - Called from stdlib_h.c:65. + Called from stdlib_h.c:67. [eva] using specification for function bsearch -[eva] stdlib_h.c:65: +[eva] stdlib_h.c:67: function bsearch: precondition 'valid_function_compar' got status valid. [eva] Done for function bsearch -[eva:alarm] stdlib_h.c:66: Warning: assertion got status unknown. +[eva:alarm] stdlib_h.c:68: Warning: assertion got status unknown. [eva] computing for function bsearch <- main. - Called from stdlib_h.c:68. -[eva] stdlib_h.c:68: + Called from stdlib_h.c:70. +[eva] stdlib_h.c:70: function bsearch: precondition 'valid_function_compar' got status valid. [eva] Done for function bsearch -[eva:alarm] stdlib_h.c:69: Warning: assertion got status unknown. +[eva:alarm] stdlib_h.c:71: Warning: assertion got status unknown. [eva] computing for function mkstemp <- main. - Called from stdlib_h.c:83. + Called from stdlib_h.c:85. [eva] using specification for function mkstemp -[eva] stdlib_h.c:83: +[eva] stdlib_h.c:85: function mkstemp: precondition 'valid_template' got status valid. -[eva] stdlib_h.c:83: +[eva] stdlib_h.c:85: function mkstemp: precondition 'template_len' got status valid. [eva] Done for function mkstemp [eva] computing for function drand48 <- main. - Called from stdlib_h.c:87. + Called from stdlib_h.c:89. [eva] using specification for function drand48 -[eva:alarm] stdlib_h.c:87: Warning: +[eva:alarm] stdlib_h.c:89: Warning: function drand48: precondition 'random48_initialized' got status invalid. [eva] Done for function drand48 [eva] computing for function lrand48 <- main. - Called from stdlib_h.c:91. + Called from stdlib_h.c:93. [eva] using specification for function lrand48 -[eva:alarm] stdlib_h.c:91: Warning: +[eva:alarm] stdlib_h.c:93: Warning: function lrand48: precondition 'random48_initialized' got status invalid. [eva] Done for function lrand48 [eva] computing for function mrand48 <- main. - Called from stdlib_h.c:95. + Called from stdlib_h.c:97. [eva] using specification for function mrand48 -[eva:alarm] stdlib_h.c:95: Warning: +[eva:alarm] stdlib_h.c:97: Warning: function mrand48: precondition 'random48_initialized' got status invalid. [eva] Done for function mrand48 [eva] computing for function erand48 <- main. - Called from stdlib_h.c:100. + Called from stdlib_h.c:102. [eva] using specification for function erand48 -[eva:alarm] stdlib_h.c:100: Warning: +[eva] stdlib_h.c:102: + function erand48: precondition 'valid_xsubi' got status valid. +[eva:alarm] stdlib_h.c:102: Warning: function erand48: precondition 'initialization,initialized_xsubi' got status invalid. [eva] Done for function erand48 [eva] computing for function erand48 <- main. - Called from stdlib_h.c:105. -[eva] stdlib_h.c:105: + Called from stdlib_h.c:107. +[eva] stdlib_h.c:107: + function erand48: precondition 'valid_xsubi' got status valid. +[eva] stdlib_h.c:107: function erand48: precondition 'initialization,initialized_xsubi' got status valid. [eva] Done for function erand48 -[eva] stdlib_h.c:106: assertion got status valid. +[eva] stdlib_h.c:108: assertion got status valid. [eva] computing for function jrand48 <- main. - Called from stdlib_h.c:107. + Called from stdlib_h.c:109. [eva] using specification for function jrand48 -[eva] stdlib_h.c:107: +[eva] stdlib_h.c:109: + function jrand48: precondition 'valid_xsubi' got status valid. +[eva] stdlib_h.c:109: function jrand48: precondition 'initialization,initialized_xsubi' got status valid. [eva] Done for function jrand48 -[eva] stdlib_h.c:108: assertion got status valid. +[eva] stdlib_h.c:110: assertion got status valid. [eva] computing for function nrand48 <- main. - Called from stdlib_h.c:109. + Called from stdlib_h.c:111. [eva] using specification for function nrand48 -[eva] stdlib_h.c:109: +[eva] stdlib_h.c:111: + function nrand48: precondition 'valid_xsubi' got status valid. +[eva] stdlib_h.c:111: function nrand48: precondition 'initialization,initialized_xsubi' got status valid. [eva] Done for function nrand48 -[eva] stdlib_h.c:110: assertion got status valid. +[eva] stdlib_h.c:112: assertion got status valid. [eva] computing for function srand48 <- main. - Called from stdlib_h.c:112. + Called from stdlib_h.c:114. [eva] using specification for function srand48 [eva] Done for function srand48 [eva] computing for function seed48 <- main. - Called from stdlib_h.c:114. + Called from stdlib_h.c:116. [eva] using specification for function seed48 -[eva] stdlib_h.c:114: +[eva] stdlib_h.c:116: + function seed48: precondition 'valid_seed16v' got status valid. +[eva] stdlib_h.c:116: function seed48: precondition 'initialization,initialized_seed16v' got status valid. [eva] Done for function seed48 [eva] computing for function lcong48 <- main. - Called from stdlib_h.c:116. + Called from stdlib_h.c:118. [eva] using specification for function lcong48 +[eva] stdlib_h.c:118: + function lcong48: precondition 'valid_param' got status valid. +[eva] stdlib_h.c:118: + function lcong48: precondition 'initialization,initialized_param' got status valid. [eva] Done for function lcong48 [eva] computing for function drand48 <- main. - Called from stdlib_h.c:118. -[eva] stdlib_h.c:118: + Called from stdlib_h.c:120. +[eva] stdlib_h.c:120: function drand48: precondition 'random48_initialized' got status valid. [eva] Done for function drand48 -[eva] stdlib_h.c:119: assertion got status valid. +[eva] stdlib_h.c:121: assertion got status valid. [eva] computing for function mrand48 <- main. - Called from stdlib_h.c:120. -[eva] stdlib_h.c:120: + Called from stdlib_h.c:122. +[eva] stdlib_h.c:122: function mrand48: precondition 'random48_initialized' got status valid. [eva] Done for function mrand48 -[eva] stdlib_h.c:121: assertion got status valid. +[eva] stdlib_h.c:123: assertion got status valid. [eva] computing for function lrand48 <- main. - Called from stdlib_h.c:122. -[eva] stdlib_h.c:122: + Called from stdlib_h.c:124. +[eva] stdlib_h.c:124: function lrand48: precondition 'random48_initialized' got status valid. [eva] Done for function lrand48 -[eva] stdlib_h.c:123: assertion got status valid. +[eva] stdlib_h.c:125: assertion got status valid. +[eva] computing for function getenv <- main. + Called from stdlib_h.c:127. +[eva] using specification for function getenv +[eva:libc:unsupported-spec] stdlib_h.c:127: Warning: + The specification of function 'getenv' is currently not supported by Eva. + Consider adding 'FRAMAC_SHARE/libc/stdlib.c' to the analyzed source files. +[eva] stdlib_h.c:127: + function getenv: precondition 'valid_name' got status valid. +[eva] Done for function getenv +[eva:alarm] stdlib_h.c:129: Warning: check 'imprecise' got status unknown. +[eva] computing for function setenv <- main. + Called from stdlib_h.c:131. +[eva] using specification for function setenv +[eva:libc:unsupported-spec] stdlib_h.c:131: Warning: + The specification of function 'setenv' is currently not supported by Eva. + Consider adding 'FRAMAC_SHARE/libc/stdlib.c' to the analyzed source files. +[eva] stdlib_h.c:131: Warning: ignoring unsupported allocates clause +[eva] stdlib_h.c:131: + function setenv: precondition 'valid_name' got status valid. +[eva] stdlib_h.c:131: + function setenv: precondition 'valid_value' got status valid. +[eva:garbled-mix:assigns] stdlib_h.c:131: + The specification of function setenv has generated a garbled mix of addresses + for assigns clause __fc_env[0 ..]. +[eva] Done for function setenv +[eva] stdlib_h.c:132: check got status valid. +[eva] computing for function putenv <- main. + Called from stdlib_h.c:133. +[eva] using specification for function putenv +[eva:libc:unsupported-spec] stdlib_h.c:133: Warning: + The specification of function 'putenv' is currently not supported by Eva. + Consider adding 'FRAMAC_SHARE/libc/stdlib.c' to the analyzed source files. +[eva] stdlib_h.c:133: + function putenv: precondition 'valid_string' got status valid. +[eva] Done for function putenv +[eva] computing for function div <- main. + Called from stdlib_h.c:137. +[eva] using specification for function div +[eva:alarm] stdlib_h.c:137: Warning: + function div: precondition 'denom_nonzero' got status invalid. +[eva] stdlib_h.c:137: + function div: no state left, precondition 'no_overflow' got status valid. +[eva] Done for function div +[eva] computing for function div <- main. + Called from stdlib_h.c:141. +[eva] stdlib_h.c:141: + function div: precondition 'denom_nonzero' got status valid. +[eva:alarm] stdlib_h.c:141: Warning: + function div: precondition 'no_overflow' got status invalid. +[eva] Done for function div +[eva] computing for function div <- main. + Called from stdlib_h.c:144. +[eva] stdlib_h.c:144: + function div: precondition 'denom_nonzero' got status valid. +[eva] stdlib_h.c:144: function div: precondition 'no_overflow' got status valid. +[eva] Done for function div +[eva] computing for function ldiv <- main. + Called from stdlib_h.c:146. +[eva] using specification for function ldiv +[eva] stdlib_h.c:146: + function ldiv: precondition 'denom_nonzero' got status valid. +[eva] stdlib_h.c:146: + function ldiv: precondition 'no_overflow' got status valid. +[eva] Done for function ldiv +[eva] computing for function lldiv <- main. + Called from stdlib_h.c:147. +[eva] using specification for function lldiv +[eva] stdlib_h.c:147: + function lldiv: precondition 'denom_nonzero' got status valid. +[eva] stdlib_h.c:147: + function lldiv: precondition 'no_overflow' got status valid. +[eva] Done for function lldiv [eva] Recording results for main [eva] Done for function main [eva] ====== VALUES COMPUTED ====== [eva:final-states] Values at end of function main: __fc_random48_init ∈ {1} __fc_random48_counter[0..2] ∈ [--..--] + __fc_env[0..4095] ∈ + {{ garbled mix of &{putenv_buf; S_0___fc_env; S_1___fc_env} + (origin: Library function {stdlib_h.c:131}) }} base ∈ {0; 2; 36} sl ∈ {{ "12 34 -56" }} s ∈ {{ " 3.14 0x1.2p2" }} @@ -361,4 +468,12 @@ [4] ∈ {4} [5] ∈ {2} [6] ∈ {0} + path ∈ {{ NULL ; &S_0___fc_env{[0], [1]} ; &S_1___fc_env{[0], [1]} }} + setenv_res ∈ {-1; 0} + putenv_res ∈ [--..--] + div_res ∈ [--..--] + ldiv_res ∈ [--..--] + lldiv_res ∈ [--..--] __retres ∈ {0} + S_0___fc_env[0..1] ∈ [--..--] + S_1___fc_env[0..1] ∈ [--..--] diff --git a/tests/libc/oracle/stdlib_h.1.res.oracle b/tests/libc/oracle/stdlib_h.1.res.oracle index ae6a5de51506dd6f6c779a0f8b45098644817988..9f36d6f4d130ae722c6a13da7173db39e027e22e 100644 --- a/tests/libc/oracle/stdlib_h.1.res.oracle +++ b/tests/libc/oracle/stdlib_h.1.res.oracle @@ -3,325 +3,432 @@ [eva] Computing initial state [eva] Initial state computed [eva:initial-state] Values of globals at initialization + putenv_buf[0] ∈ {80} + [1] ∈ {65} + [2] ∈ {84} + [3] ∈ {72} + [4] ∈ {51} + [5] ∈ {61} + [6] ∈ {47} + [7] ∈ {58} + [8] ∈ {47} + [9] ∈ {102} + [10..11] ∈ {111} + [12] ∈ {58} + [13] ∈ {47} + [14] ∈ {98} + [15] ∈ {97} + [16] ∈ {114} + [17] ∈ {58} + [18..29] ∈ {0} nondet ∈ [--..--] [eva] computing for function strtol <- main. - Called from stdlib_h.c:21. + Called from stdlib_h.c:23. [eva] using specification for function strtol -[eva] stdlib_h.c:21: +[eva] stdlib_h.c:23: function strtol: precondition 'valid_string_nptr' got status valid. -[eva] stdlib_h.c:21: +[eva] stdlib_h.c:23: function strtol: precondition 'separation' got status valid. -[eva] stdlib_h.c:21: +[eva] stdlib_h.c:23: function strtol: precondition 'base_range' got status valid. -[eva] stdlib_h.c:21: +[eva] stdlib_h.c:23: function strtol, behavior store_position: precondition 'valid_endptr' got status valid. [eva] Done for function strtol [eva] computing for function strtol <- main. - Called from stdlib_h.c:22. -[eva] stdlib_h.c:22: + Called from stdlib_h.c:24. +[eva] stdlib_h.c:24: function strtol: precondition 'valid_string_nptr' got status valid. -[eva] stdlib_h.c:22: +[eva] stdlib_h.c:24: function strtol: precondition 'separation' got status valid. -[eva] stdlib_h.c:22: +[eva] stdlib_h.c:24: function strtol: precondition 'base_range' got status valid. -[eva] stdlib_h.c:22: +[eva] stdlib_h.c:24: function strtol, behavior store_position: precondition 'valid_endptr' got status valid. [eva] Done for function strtol [eva] computing for function strtol <- main. - Called from stdlib_h.c:23. -[eva] stdlib_h.c:23: + Called from stdlib_h.c:25. +[eva] stdlib_h.c:25: function strtol: precondition 'valid_string_nptr' got status valid. -[eva] stdlib_h.c:23: +[eva] stdlib_h.c:25: function strtol: precondition 'separation' got status valid. -[eva] stdlib_h.c:23: +[eva] stdlib_h.c:25: function strtol: precondition 'base_range' got status valid. [eva] Done for function strtol [eva] computing for function strtol <- main. - Called from stdlib_h.c:24. -[eva] stdlib_h.c:24: + Called from stdlib_h.c:26. +[eva] stdlib_h.c:26: function strtol: precondition 'valid_string_nptr' got status valid. -[eva] stdlib_h.c:24: +[eva] stdlib_h.c:26: function strtol: precondition 'separation' got status valid. -[eva] stdlib_h.c:24: +[eva] stdlib_h.c:26: function strtol: precondition 'base_range' got status valid. [eva] Done for function strtol [eva] computing for function strtoll <- main. - Called from stdlib_h.c:28. + Called from stdlib_h.c:30. [eva] using specification for function strtoll -[eva] stdlib_h.c:28: +[eva] stdlib_h.c:30: function strtoll: precondition 'valid_string_nptr' got status valid. -[eva] stdlib_h.c:28: +[eva] stdlib_h.c:30: function strtoll: precondition 'separation' got status valid. -[eva] stdlib_h.c:28: +[eva] stdlib_h.c:30: function strtoll: precondition 'base_range' got status valid. -[eva] stdlib_h.c:28: +[eva] stdlib_h.c:30: function strtoll, behavior store_position: precondition 'valid_endptr' got status valid. [eva] Done for function strtoll [eva] computing for function strtoll <- main. - Called from stdlib_h.c:29. -[eva] stdlib_h.c:29: + Called from stdlib_h.c:31. +[eva] stdlib_h.c:31: function strtoll: precondition 'valid_string_nptr' got status valid. -[eva] stdlib_h.c:29: +[eva] stdlib_h.c:31: function strtoll: precondition 'separation' got status valid. -[eva] stdlib_h.c:29: +[eva] stdlib_h.c:31: function strtoll: precondition 'base_range' got status valid. -[eva] stdlib_h.c:29: +[eva] stdlib_h.c:31: function strtoll, behavior store_position: precondition 'valid_endptr' got status valid. [eva] Done for function strtoll [eva] computing for function strtoll <- main. - Called from stdlib_h.c:30. -[eva] stdlib_h.c:30: + Called from stdlib_h.c:32. +[eva] stdlib_h.c:32: function strtoll: precondition 'valid_string_nptr' got status valid. -[eva] stdlib_h.c:30: +[eva] stdlib_h.c:32: function strtoll: precondition 'separation' got status valid. -[eva] stdlib_h.c:30: +[eva] stdlib_h.c:32: function strtoll: precondition 'base_range' got status valid. [eva] Done for function strtoll [eva] computing for function strtoul <- main. - Called from stdlib_h.c:34. + Called from stdlib_h.c:36. [eva] using specification for function strtoul -[eva] stdlib_h.c:34: +[eva] stdlib_h.c:36: function strtoul: precondition 'valid_string_nptr' got status valid. -[eva] stdlib_h.c:34: +[eva] stdlib_h.c:36: function strtoul: precondition 'separation' got status valid. -[eva] stdlib_h.c:34: +[eva] stdlib_h.c:36: function strtoul: precondition 'base_range' got status valid. -[eva] stdlib_h.c:34: +[eva] stdlib_h.c:36: function strtoul, behavior store_position: precondition 'valid_endptr' got status valid. [eva] Done for function strtoul [eva] computing for function strtoul <- main. - Called from stdlib_h.c:35. -[eva] stdlib_h.c:35: + Called from stdlib_h.c:37. +[eva] stdlib_h.c:37: function strtoul: precondition 'valid_string_nptr' got status valid. -[eva] stdlib_h.c:35: +[eva] stdlib_h.c:37: function strtoul: precondition 'separation' got status valid. -[eva] stdlib_h.c:35: +[eva] stdlib_h.c:37: function strtoul: precondition 'base_range' got status valid. -[eva] stdlib_h.c:35: +[eva] stdlib_h.c:37: function strtoul, behavior store_position: precondition 'valid_endptr' got status valid. [eva] Done for function strtoul [eva] computing for function strtoul <- main. - Called from stdlib_h.c:36. -[eva] stdlib_h.c:36: + Called from stdlib_h.c:38. +[eva] stdlib_h.c:38: function strtoul: precondition 'valid_string_nptr' got status valid. -[eva] stdlib_h.c:36: +[eva] stdlib_h.c:38: function strtoul: precondition 'separation' got status valid. -[eva] stdlib_h.c:36: +[eva] stdlib_h.c:38: function strtoul: precondition 'base_range' got status valid. [eva] Done for function strtoul [eva] computing for function strtoull <- main. - Called from stdlib_h.c:40. + Called from stdlib_h.c:42. [eva] using specification for function strtoull -[eva] stdlib_h.c:40: +[eva] stdlib_h.c:42: function strtoull: precondition 'valid_string_nptr' got status valid. -[eva] stdlib_h.c:40: +[eva] stdlib_h.c:42: function strtoull: precondition 'separation' got status valid. -[eva] stdlib_h.c:40: +[eva] stdlib_h.c:42: function strtoull: precondition 'base_range' got status valid. -[eva] stdlib_h.c:40: +[eva] stdlib_h.c:42: function strtoull, behavior store_position: precondition 'valid_endptr' got status valid. [eva] Done for function strtoull [eva] computing for function strtoull <- main. - Called from stdlib_h.c:41. -[eva] stdlib_h.c:41: + Called from stdlib_h.c:43. +[eva] stdlib_h.c:43: function strtoull: precondition 'valid_string_nptr' got status valid. -[eva] stdlib_h.c:41: +[eva] stdlib_h.c:43: function strtoull: precondition 'separation' got status valid. -[eva] stdlib_h.c:41: +[eva] stdlib_h.c:43: function strtoull: precondition 'base_range' got status valid. -[eva] stdlib_h.c:41: +[eva] stdlib_h.c:43: function strtoull, behavior store_position: precondition 'valid_endptr' got status valid. [eva] Done for function strtoull [eva] computing for function strtoull <- main. - Called from stdlib_h.c:42. -[eva] stdlib_h.c:42: + Called from stdlib_h.c:44. +[eva] stdlib_h.c:44: function strtoull: precondition 'valid_string_nptr' got status valid. -[eva] stdlib_h.c:42: +[eva] stdlib_h.c:44: function strtoull: precondition 'separation' got status valid. -[eva] stdlib_h.c:42: +[eva] stdlib_h.c:44: function strtoull: precondition 'base_range' got status valid. [eva] Done for function strtoull [eva] computing for function strtod <- main. - Called from stdlib_h.c:47. + Called from stdlib_h.c:49. [eva] using specification for function strtod -[eva] stdlib_h.c:47: +[eva] stdlib_h.c:49: function strtod: precondition 'valid_string_nptr' got status valid. -[eva] stdlib_h.c:47: +[eva] stdlib_h.c:49: function strtod: precondition 'separation' got status valid. -[eva] stdlib_h.c:47: +[eva] stdlib_h.c:49: function strtod, behavior store_position: precondition 'valid_endptr' got status valid. [eva] Done for function strtod [eva] computing for function strtod <- main. - Called from stdlib_h.c:48. -[eva] stdlib_h.c:48: + Called from stdlib_h.c:50. +[eva] stdlib_h.c:50: function strtod: precondition 'valid_string_nptr' got status valid. -[eva] stdlib_h.c:48: +[eva] stdlib_h.c:50: function strtod: precondition 'separation' got status valid. -[eva] stdlib_h.c:48: +[eva] stdlib_h.c:50: function strtod, behavior store_position: precondition 'valid_endptr' got status valid. [eva] Done for function strtod [eva] computing for function strtod <- main. - Called from stdlib_h.c:49. -[eva] stdlib_h.c:49: + Called from stdlib_h.c:51. +[eva] stdlib_h.c:51: function strtod: precondition 'valid_string_nptr' got status valid. -[eva] stdlib_h.c:49: +[eva] stdlib_h.c:51: function strtod: precondition 'separation' got status valid. [eva] Done for function strtod [eva] computing for function strtold <- main. - Called from stdlib_h.c:53. + Called from stdlib_h.c:55. [eva] using specification for function strtold -[eva] stdlib_h.c:53: +[eva] stdlib_h.c:55: function strtold: precondition 'valid_string_nptr' got status valid. -[eva] stdlib_h.c:53: +[eva] stdlib_h.c:55: function strtold: precondition 'separation' got status valid. -[eva] stdlib_h.c:53: +[eva] stdlib_h.c:55: function strtold, behavior store_position: precondition 'valid_endptr' got status valid. [eva] Done for function strtold [eva] computing for function strtold <- main. - Called from stdlib_h.c:54. -[eva] stdlib_h.c:54: + Called from stdlib_h.c:56. +[eva] stdlib_h.c:56: function strtold: precondition 'valid_string_nptr' got status valid. -[eva] stdlib_h.c:54: +[eva] stdlib_h.c:56: function strtold: precondition 'separation' got status valid. -[eva] stdlib_h.c:54: +[eva] stdlib_h.c:56: function strtold, behavior store_position: precondition 'valid_endptr' got status valid. [eva] Done for function strtold [eva] computing for function strtold <- main. - Called from stdlib_h.c:55. -[eva] stdlib_h.c:55: + Called from stdlib_h.c:57. +[eva] stdlib_h.c:57: function strtold: precondition 'valid_string_nptr' got status valid. -[eva] stdlib_h.c:55: +[eva] stdlib_h.c:57: function strtold: precondition 'separation' got status valid. [eva] Done for function strtold [eva] computing for function strtof <- main. - Called from stdlib_h.c:59. + Called from stdlib_h.c:61. [eva] using specification for function strtof -[eva] stdlib_h.c:59: +[eva] stdlib_h.c:61: function strtof: precondition 'valid_string_nptr' got status valid. -[eva] stdlib_h.c:59: +[eva] stdlib_h.c:61: function strtof: precondition 'separation' got status valid. -[eva] stdlib_h.c:59: +[eva] stdlib_h.c:61: function strtof, behavior store_position: precondition 'valid_endptr' got status valid. [eva] Done for function strtof [eva] computing for function strtof <- main. - Called from stdlib_h.c:60. -[eva] stdlib_h.c:60: + Called from stdlib_h.c:62. +[eva] stdlib_h.c:62: function strtof: precondition 'valid_string_nptr' got status valid. -[eva] stdlib_h.c:60: +[eva] stdlib_h.c:62: function strtof: precondition 'separation' got status valid. -[eva] stdlib_h.c:60: +[eva] stdlib_h.c:62: function strtof, behavior store_position: precondition 'valid_endptr' got status valid. [eva] Done for function strtof [eva] computing for function strtof <- main. - Called from stdlib_h.c:61. -[eva] stdlib_h.c:61: + Called from stdlib_h.c:63. +[eva] stdlib_h.c:63: function strtof: precondition 'valid_string_nptr' got status valid. -[eva] stdlib_h.c:61: +[eva] stdlib_h.c:63: function strtof: precondition 'separation' got status valid. [eva] Done for function strtof [eva] computing for function bsearch <- main. - Called from stdlib_h.c:65. + Called from stdlib_h.c:67. [eva] using specification for function bsearch -[eva] stdlib_h.c:65: +[eva] stdlib_h.c:67: function bsearch: precondition 'valid_function_compar' got status valid. [eva] Done for function bsearch -[eva:alarm] stdlib_h.c:66: Warning: assertion got status unknown. +[eva:alarm] stdlib_h.c:68: Warning: assertion got status unknown. [eva] computing for function bsearch <- main. - Called from stdlib_h.c:68. -[eva] stdlib_h.c:68: + Called from stdlib_h.c:70. +[eva] stdlib_h.c:70: function bsearch: precondition 'valid_function_compar' got status valid. [eva] Done for function bsearch -[eva:alarm] stdlib_h.c:69: Warning: assertion got status unknown. +[eva:alarm] stdlib_h.c:71: Warning: assertion got status unknown. [eva] computing for function mkstemp <- main. - Called from stdlib_h.c:83. + Called from stdlib_h.c:85. [eva] using specification for function mkstemp -[eva] stdlib_h.c:83: +[eva] stdlib_h.c:85: function mkstemp: precondition 'valid_template' got status valid. -[eva] stdlib_h.c:83: +[eva] stdlib_h.c:85: function mkstemp: precondition 'template_len' got status valid. [eva] Done for function mkstemp [eva] computing for function drand48 <- main. - Called from stdlib_h.c:87. + Called from stdlib_h.c:89. [eva] using specification for function drand48 -[eva:alarm] stdlib_h.c:87: Warning: +[eva:alarm] stdlib_h.c:89: Warning: function drand48: precondition 'random48_initialized' got status invalid. [eva] Done for function drand48 [eva] computing for function lrand48 <- main. - Called from stdlib_h.c:91. + Called from stdlib_h.c:93. [eva] using specification for function lrand48 -[eva:alarm] stdlib_h.c:91: Warning: +[eva:alarm] stdlib_h.c:93: Warning: function lrand48: precondition 'random48_initialized' got status invalid. [eva] Done for function lrand48 [eva] computing for function mrand48 <- main. - Called from stdlib_h.c:95. + Called from stdlib_h.c:97. [eva] using specification for function mrand48 -[eva:alarm] stdlib_h.c:95: Warning: +[eva:alarm] stdlib_h.c:97: Warning: function mrand48: precondition 'random48_initialized' got status invalid. [eva] Done for function mrand48 [eva] computing for function erand48 <- main. - Called from stdlib_h.c:100. + Called from stdlib_h.c:102. [eva] using specification for function erand48 -[eva:alarm] stdlib_h.c:100: Warning: +[eva] stdlib_h.c:102: + function erand48: precondition 'valid_xsubi' got status valid. +[eva:alarm] stdlib_h.c:102: Warning: function erand48: precondition 'initialization,initialized_xsubi' got status invalid. [eva] Done for function erand48 [eva] computing for function erand48 <- main. - Called from stdlib_h.c:105. -[eva] stdlib_h.c:105: + Called from stdlib_h.c:107. +[eva] stdlib_h.c:107: + function erand48: precondition 'valid_xsubi' got status valid. +[eva] stdlib_h.c:107: function erand48: precondition 'initialization,initialized_xsubi' got status valid. [eva] Done for function erand48 -[eva] stdlib_h.c:106: assertion got status valid. +[eva] stdlib_h.c:108: assertion got status valid. [eva] computing for function jrand48 <- main. - Called from stdlib_h.c:107. + Called from stdlib_h.c:109. [eva] using specification for function jrand48 -[eva] stdlib_h.c:107: +[eva] stdlib_h.c:109: + function jrand48: precondition 'valid_xsubi' got status valid. +[eva] stdlib_h.c:109: function jrand48: precondition 'initialization,initialized_xsubi' got status valid. [eva] Done for function jrand48 -[eva] stdlib_h.c:108: assertion got status valid. +[eva] stdlib_h.c:110: assertion got status valid. [eva] computing for function nrand48 <- main. - Called from stdlib_h.c:109. + Called from stdlib_h.c:111. [eva] using specification for function nrand48 -[eva] stdlib_h.c:109: +[eva] stdlib_h.c:111: + function nrand48: precondition 'valid_xsubi' got status valid. +[eva] stdlib_h.c:111: function nrand48: precondition 'initialization,initialized_xsubi' got status valid. [eva] Done for function nrand48 -[eva] stdlib_h.c:110: assertion got status valid. +[eva] stdlib_h.c:112: assertion got status valid. [eva] computing for function srand48 <- main. - Called from stdlib_h.c:112. + Called from stdlib_h.c:114. [eva] using specification for function srand48 [eva] Done for function srand48 [eva] computing for function seed48 <- main. - Called from stdlib_h.c:114. + Called from stdlib_h.c:116. [eva] using specification for function seed48 -[eva] stdlib_h.c:114: +[eva] stdlib_h.c:116: + function seed48: precondition 'valid_seed16v' got status valid. +[eva] stdlib_h.c:116: function seed48: precondition 'initialization,initialized_seed16v' got status valid. [eva] Done for function seed48 [eva] computing for function lcong48 <- main. - Called from stdlib_h.c:116. + Called from stdlib_h.c:118. [eva] using specification for function lcong48 +[eva] stdlib_h.c:118: + function lcong48: precondition 'valid_param' got status valid. +[eva] stdlib_h.c:118: + function lcong48: precondition 'initialization,initialized_param' got status valid. [eva] Done for function lcong48 [eva] computing for function drand48 <- main. - Called from stdlib_h.c:118. -[eva] stdlib_h.c:118: + Called from stdlib_h.c:120. +[eva] stdlib_h.c:120: function drand48: precondition 'random48_initialized' got status valid. [eva] Done for function drand48 -[eva] stdlib_h.c:119: assertion got status valid. +[eva] stdlib_h.c:121: assertion got status valid. [eva] computing for function mrand48 <- main. - Called from stdlib_h.c:120. -[eva] stdlib_h.c:120: + Called from stdlib_h.c:122. +[eva] stdlib_h.c:122: function mrand48: precondition 'random48_initialized' got status valid. [eva] Done for function mrand48 -[eva] stdlib_h.c:121: assertion got status valid. +[eva] stdlib_h.c:123: assertion got status valid. [eva] computing for function lrand48 <- main. - Called from stdlib_h.c:122. -[eva] stdlib_h.c:122: + Called from stdlib_h.c:124. +[eva] stdlib_h.c:124: function lrand48: precondition 'random48_initialized' got status valid. [eva] Done for function lrand48 -[eva] stdlib_h.c:123: assertion got status valid. +[eva] stdlib_h.c:125: assertion got status valid. +[eva] computing for function getenv <- main. + Called from stdlib_h.c:127. +[eva] using specification for function getenv +[eva:libc:unsupported-spec] stdlib_h.c:127: Warning: + The specification of function 'getenv' is currently not supported by Eva. + Consider adding 'FRAMAC_SHARE/libc/stdlib.c' to the analyzed source files. +[eva] stdlib_h.c:127: + function getenv: precondition 'valid_name' got status valid. +[eva] Done for function getenv +[eva:alarm] stdlib_h.c:129: Warning: check 'imprecise' got status unknown. +[eva] computing for function setenv <- main. + Called from stdlib_h.c:131. +[eva] using specification for function setenv +[eva:libc:unsupported-spec] stdlib_h.c:131: Warning: + The specification of function 'setenv' is currently not supported by Eva. + Consider adding 'FRAMAC_SHARE/libc/stdlib.c' to the analyzed source files. +[eva] stdlib_h.c:131: Warning: ignoring unsupported allocates clause +[eva] stdlib_h.c:131: + function setenv: precondition 'valid_name' got status valid. +[eva] stdlib_h.c:131: + function setenv: precondition 'valid_value' got status valid. +[eva:garbled-mix:assigns] stdlib_h.c:131: + The specification of function setenv has generated a garbled mix of addresses + for assigns clause __fc_env[0 ..]. +[eva] Done for function setenv +[eva] stdlib_h.c:132: check got status valid. +[eva] computing for function putenv <- main. + Called from stdlib_h.c:133. +[eva] using specification for function putenv +[eva:libc:unsupported-spec] stdlib_h.c:133: Warning: + The specification of function 'putenv' is currently not supported by Eva. + Consider adding 'FRAMAC_SHARE/libc/stdlib.c' to the analyzed source files. +[eva] stdlib_h.c:133: + function putenv: precondition 'valid_string' got status valid. +[eva] Done for function putenv +[eva] computing for function div <- main. + Called from stdlib_h.c:137. +[eva] using specification for function div +[eva:alarm] stdlib_h.c:137: Warning: + function div: precondition 'denom_nonzero' got status invalid. +[eva] stdlib_h.c:137: + function div: no state left, precondition 'no_overflow' got status valid. +[eva] Done for function div +[eva] computing for function div <- main. + Called from stdlib_h.c:141. +[eva] stdlib_h.c:141: + function div: precondition 'denom_nonzero' got status valid. +[eva:alarm] stdlib_h.c:141: Warning: + function div: precondition 'no_overflow' got status invalid. +[eva] Done for function div +[eva] computing for function div <- main. + Called from stdlib_h.c:144. +[eva] stdlib_h.c:144: + function div: precondition 'denom_nonzero' got status valid. +[eva] stdlib_h.c:144: function div: precondition 'no_overflow' got status valid. +[eva] Done for function div +[eva] computing for function ldiv <- main. + Called from stdlib_h.c:146. +[eva] using specification for function ldiv +[eva] stdlib_h.c:146: + function ldiv: precondition 'denom_nonzero' got status valid. +[eva] stdlib_h.c:146: + function ldiv: precondition 'no_overflow' got status valid. +[eva] Done for function ldiv +[eva] computing for function lldiv <- main. + Called from stdlib_h.c:147. +[eva] using specification for function lldiv +[eva] stdlib_h.c:147: + function lldiv: precondition 'denom_nonzero' got status valid. +[eva] stdlib_h.c:147: + function lldiv: precondition 'no_overflow' got status valid. +[eva] Done for function lldiv [eva] Recording results for main [eva] Done for function main [eva] ====== VALUES COMPUTED ====== [eva:final-states] Values at end of function main: __fc_random48_init ∈ {1} __fc_random48_counter[0..2] ∈ [--..--] + __fc_env[0..4095] ∈ + {{ garbled mix of &{putenv_buf; S_0___fc_env; S_1___fc_env} + (origin: Library function {stdlib_h.c:131}) }} base ∈ {0; 2; 36} sl ∈ {{ "12 34 -56" }} s ∈ {{ " 3.14 0x1.2p2" }} @@ -361,4 +468,12 @@ [4] ∈ {4} [5] ∈ {2} [6] ∈ {0} + path ∈ {{ NULL ; &S_0___fc_env{[0], [1]} ; &S_1___fc_env{[0], [1]} }} + setenv_res ∈ {-1; 0} + putenv_res ∈ [--..--] + div_res ∈ [--..--] + ldiv_res ∈ [--..--] + lldiv_res ∈ [--..--] __retres ∈ {0} + S_0___fc_env[0..1] ∈ [--..--] + S_1___fc_env[0..1] ∈ [--..--] diff --git a/tests/libc/oracle/string_c.res.oracle b/tests/libc/oracle/string_c.res.oracle index 510703cce422f71fa9c2927caafe8b238d9f8468..f183d490be95ce954c7239aed8a2333b47b80eed 100644 --- a/tests/libc/oracle/string_c.res.oracle +++ b/tests/libc/oracle/string_c.res.oracle @@ -13,11 +13,11 @@ [eva] string_c.c:10: function memcpy: precondition 'valid_src' got status valid. [eva] string_c.c:10: function memcpy: precondition 'separation' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:101: +[eva] FRAMAC_SHARE/libc/string.h:118: cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp -[eva:alarm] FRAMAC_SHARE/libc/string.h:101: Warning: +[eva:alarm] FRAMAC_SHARE/libc/string.h:118: Warning: function memcpy: postcondition 'copied_contents' got status unknown. -[eva] FRAMAC_SHARE/libc/string.h:102: +[eva] FRAMAC_SHARE/libc/string.h:119: function memcpy: postcondition 'result_ptr' got status valid. [eva] Recording results for memcpy [eva] Done for function memcpy @@ -92,11 +92,11 @@ function memoverlap, behavior not_separated_gt: postcondition 'result_p_after_q' got status valid. [eva] Recording results for memoverlap [eva] Done for function memoverlap -[eva] FRAMAC_SHARE/libc/string.h:124: +[eva] FRAMAC_SHARE/libc/string.h:141: cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp -[eva:alarm] FRAMAC_SHARE/libc/string.h:124: Warning: +[eva:alarm] FRAMAC_SHARE/libc/string.h:141: Warning: function memmove: postcondition 'copied_contents' got status unknown. -[eva] FRAMAC_SHARE/libc/string.h:125: +[eva] FRAMAC_SHARE/libc/string.h:142: function memmove: postcondition 'result_ptr' got status valid. [eva] Recording results for memmove [eva] Done for function memmove @@ -153,7 +153,7 @@ Called from string_c.c:64. [eva] string_c.c:64: function strlen: precondition 'valid_string_s' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:143: +[eva] FRAMAC_SHARE/libc/string.h:160: function strlen: postcondition 'acsl_c_equiv' got status valid. [eva] Recording results for strlen [eva] Done for function strlen @@ -180,7 +180,7 @@ Called from string_c.c:75. [eva] string_c.c:75: function strnlen: precondition 'valid_string_s' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:149: +[eva] FRAMAC_SHARE/libc/string.h:166: function strnlen: postcondition 'result_bounded' got status valid. [eva] Recording results for strnlen [eva] Done for function strnlen @@ -227,11 +227,11 @@ [eva] computing for function memset <- test_memset <- main. Called from string_c.c:92. [eva] string_c.c:92: function memset: precondition 'valid_s' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:134: +[eva] FRAMAC_SHARE/libc/string.h:151: cannot evaluate ACSL term, unsupported ACSL construct: logic function memset -[eva:alarm] FRAMAC_SHARE/libc/string.h:134: Warning: +[eva:alarm] FRAMAC_SHARE/libc/string.h:151: Warning: function memset: postcondition 'acsl_c_equiv' got status unknown. -[eva] FRAMAC_SHARE/libc/string.h:135: +[eva] FRAMAC_SHARE/libc/string.h:152: function memset: postcondition 'result_ptr' got status valid. [eva] Recording results for memset [eva] Done for function memset @@ -254,9 +254,9 @@ function strcmp: precondition 'valid_string_s1' got status valid. [eva] string_c.c:104: function strcmp: precondition 'valid_string_s2' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:156: +[eva] FRAMAC_SHARE/libc/string.h:174: cannot evaluate ACSL term, unsupported ACSL construct: logic function strcmp -[eva:alarm] FRAMAC_SHARE/libc/string.h:156: Warning: +[eva:alarm] FRAMAC_SHARE/libc/string.h:174: Warning: function strcmp: postcondition 'acsl_c_equiv' got status unknown. [eva] Recording results for strcmp [eva] Done for function strcmp @@ -325,9 +325,9 @@ function strncmp: precondition 'valid_string_s1' got status valid. [eva] string_c.c:167: function strncmp: precondition 'valid_string_s2' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:163: +[eva] FRAMAC_SHARE/libc/string.h:181: cannot evaluate ACSL term, unsupported ACSL construct: logic function strncmp -[eva:alarm] FRAMAC_SHARE/libc/string.h:163: Warning: +[eva:alarm] FRAMAC_SHARE/libc/string.h:181: Warning: function strncmp: postcondition 'acsl_c_equiv' got status unknown. [eva] Recording results for strncmp [eva] Done for function strncmp @@ -475,19 +475,21 @@ function strcat: precondition 'valid_string_dest' got status valid. [eva] string_c.c:124: function strcat: precondition 'room_string' got status valid. +[eva] string_c.c:124: + function strcat: precondition 'separation' got status valid. [eva] computing for function strlen <- strcat <- test_strcat <- main. - Called from FRAMAC_SHARE/libc/string.c:198. -[eva] FRAMAC_SHARE/libc/string.c:198: + Called from FRAMAC_SHARE/libc/string.c:201. +[eva] FRAMAC_SHARE/libc/string.c:201: function strlen: precondition 'valid_string_s' got status valid. [eva] Recording results for strlen [eva] Done for function strlen -[eva] FRAMAC_SHARE/libc/string.h:429: +[eva] FRAMAC_SHARE/libc/string.h:483: function strcat: postcondition 'sum_of_lengths' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:432: +[eva] FRAMAC_SHARE/libc/string.h:486: function strcat: postcondition 'initialization,dest' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:433: +[eva] FRAMAC_SHARE/libc/string.h:487: function strcat: postcondition 'dest_null_terminated' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:434: +[eva] FRAMAC_SHARE/libc/string.h:488: function strcat: postcondition 'result_ptr' got status valid. [eva] Recording results for strcat [eva] Done for function strcat @@ -501,497 +503,23 @@ function strcat: precondition 'valid_string_dest' got status valid. [eva] string_c.c:132: function strcat: precondition 'room_string' got status valid. -[eva] computing for function strlen <- strcat <- test_strcat <- main. - Called from FRAMAC_SHARE/libc/string.c:198. -[eva] Recording results for strlen -[eva] Done for function strlen +[eva:alarm] string_c.c:132: Warning: + function strcat: precondition 'separation' got status invalid. +[eva] FRAMAC_SHARE/libc/string.h:483: + function strcat: no state left, postcondition 'sum_of_lengths' got status valid. +[eva] FRAMAC_SHARE/libc/string.h:486: + function strcat: no state left, postcondition 'initialization,dest' got status valid. +[eva] FRAMAC_SHARE/libc/string.h:487: + function strcat: no state left, postcondition 'dest_null_terminated' got status valid. +[eva] FRAMAC_SHARE/libc/string.h:488: + function strcat: no state left, postcondition 'result_ptr' got status valid. [eva] Recording results for strcat [eva] Done for function strcat -[eva] string_c.c:133: assertion got status valid. -[eva] computing for function strcat <- test_strcat <- main. - Called from string_c.c:134. -[eva] string_c.c:134: - function strcat: precondition 'valid_string_src' got status valid. -[eva] string_c.c:134: - function strcat: precondition 'valid_string_dest' got status valid. -[eva] string_c.c:134: - function strcat: precondition 'room_string' got status valid. -[eva] computing for function strlen <- strcat <- test_strcat <- main. - Called from FRAMAC_SHARE/libc/string.c:198. -[eva] Recording results for strlen -[eva] Done for function strlen -[eva] Recording results for strcat -[eva] Done for function strcat -[eva] computing for function strcat <- test_strcat <- main. - Called from string_c.c:135. -[eva] string_c.c:135: - function strcat: precondition 'valid_string_src' got status valid. -[eva] string_c.c:135: - function strcat: precondition 'valid_string_dest' got status valid. -[eva] string_c.c:135: - function strcat: precondition 'room_string' got status valid. -[eva] FRAMAC_SHARE/libc/string.c:198: Reusing old results for call to strlen -[eva] Recording results for strcat -[eva] Done for function strcat -[eva] string_c.c:136: assertion got status valid. [eva] Recording results for test_strcat [eva] Done for function test_strcat -[eva] computing for function test_strcpy <- main. - Called from string_c.c:304. -[eva] computing for function strcpy <- test_strcpy <- main. - Called from string_c.c:142. -[eva] string_c.c:142: - function strcpy: precondition 'valid_string_src' got status valid. -[eva] string_c.c:142: - function strcpy: precondition 'room_string' got status valid. -[eva] string_c.c:142: - function strcpy: precondition 'separation' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:373: - cannot evaluate ACSL term, unsupported ACSL construct: logic function strcmp -[eva:alarm] FRAMAC_SHARE/libc/string.h:373: Warning: - function strcpy: postcondition 'equal_contents' got status unknown. -[eva] FRAMAC_SHARE/libc/string.h:374: - function strcpy: postcondition 'result_ptr' got status valid. -[eva] Recording results for strcpy -[eva] Done for function strcpy -[eva] string_c.c:143: assertion got status valid. -[eva] string_c.c:144: assertion got status valid. -[eva] computing for function strcpy <- test_strcpy <- main. - Called from string_c.c:145. -[eva] string_c.c:145: - function strcpy: precondition 'valid_string_src' got status valid. -[eva] string_c.c:145: - function strcpy: precondition 'room_string' got status valid. -[eva] string_c.c:145: - function strcpy: precondition 'separation' got status valid. -[eva] Recording results for strcpy -[eva] Done for function strcpy -[eva] string_c.c:146: assertion got status valid. -[eva] computing for function strcpy <- test_strcpy <- main. - Called from string_c.c:147. -[eva] string_c.c:147: - function strcpy: precondition 'valid_string_src' got status valid. -[eva] string_c.c:147: - function strcpy: precondition 'room_string' got status valid. -[eva] string_c.c:147: - function strcpy: precondition 'separation' got status valid. -[eva] Recording results for strcpy -[eva] Done for function strcpy -[eva] string_c.c:148: assertion got status valid. -[eva] Recording results for test_strcpy -[eva] Done for function test_strcpy -[eva] computing for function test_strncpy <- main. - Called from string_c.c:305. -[eva] computing for function strncpy <- test_strncpy <- main. - Called from string_c.c:154. -[eva] string_c.c:154: - function strncpy: precondition 'valid_nstring_src' got status valid. -[eva] string_c.c:154: - function strncpy: precondition 'room_nstring' got status valid. -[eva] string_c.c:154: - function strncpy: precondition 'separation' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:385: - function strncpy: postcondition 'result_ptr' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:386: - function strncpy: postcondition 'initialization' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:389: - cannot evaluate ACSL term, unsupported ACSL construct: logic function strcmp -[eva:alarm] FRAMAC_SHARE/libc/string.h:389: Warning: - function strncpy, behavior complete: postcondition 'equal_after_copy' got status unknown. -[eva] Recording results for strncpy -[eva] Done for function strncpy -[eva] string_c.c:155: assertion got status valid. -[eva] string_c.c:156: assertion got status valid. -[eva] computing for function strncpy <- test_strncpy <- main. - Called from string_c.c:157. -[eva] string_c.c:157: - function strncpy: precondition 'valid_nstring_src' got status valid. -[eva] string_c.c:157: - function strncpy: precondition 'room_nstring' got status valid. -[eva] string_c.c:157: - function strncpy: precondition 'separation' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:392: - cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp -[eva:alarm] FRAMAC_SHARE/libc/string.h:392: Warning: - function strncpy, behavior partial: postcondition 'equal_prefix' got status unknown. -[eva] Recording results for strncpy -[eva] Done for function strncpy -[eva] string_c.c:158: assertion got status valid. -[eva] computing for function strncpy <- test_strncpy <- main. - Called from string_c.c:159. -[eva] string_c.c:159: - function strncpy: precondition 'valid_nstring_src' got status valid. -[eva] string_c.c:159: - function strncpy: precondition 'room_nstring' got status valid. -[eva] string_c.c:159: - function strncpy: precondition 'separation' got status valid. -[eva] Recording results for strncpy -[eva] Done for function strncpy -[eva] string_c.c:160: assertion got status valid. -[eva] computing for function strncpy <- test_strncpy <- main. - Called from string_c.c:161. -[eva] string_c.c:161: - function strncpy: precondition 'valid_nstring_src' got status valid. -[eva] string_c.c:161: - function strncpy: precondition 'room_nstring' got status valid. -[eva] string_c.c:161: - function strncpy: precondition 'separation' got status valid. -[eva] Recording results for strncpy -[eva] Done for function strncpy -[eva] string_c.c:162: assertion got status valid. -[eva] Recording results for test_strncpy -[eva] Done for function test_strncpy -[eva] computing for function test_strchr <- main. - Called from string_c.c:306. -[eva] computing for function strchr <- test_strchr <- main. - Called from string_c.c:201. -[eva] string_c.c:201: - function strchr: precondition 'valid_string_s' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:177: - function strchr, behavior found: postcondition 'result_char' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:178: - function strchr, behavior found: postcondition 'result_same_base' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:179: - function strchr, behavior found: postcondition 'result_in_length' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:180: - function strchr, behavior found: postcondition 'result_valid_string' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:181: - cannot evaluate ACSL term, unsupported logic var p -[eva:alarm] FRAMAC_SHARE/libc/string.h:181: Warning: - function strchr, behavior found: postcondition 'result_first_occur' got status unknown. -[eva] FRAMAC_SHARE/libc/string.h:187: - function strchr, behavior default: postcondition 'result_null_or_same_base' got status valid. -[eva] Recording results for strchr -[eva] Done for function strchr -[eva] string_c.c:202: assertion got status valid. -[eva] computing for function strchr <- test_strchr <- main. - Called from string_c.c:203. -[eva] string_c.c:203: - function strchr: precondition 'valid_string_s' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:184: - function strchr, behavior not_found: postcondition 'result_null' got status valid. -[eva] Recording results for strchr -[eva] Done for function strchr -[eva] string_c.c:204: assertion got status valid. -[eva] computing for function strchr <- test_strchr <- main. - Called from string_c.c:205. -[eva] string_c.c:205: - function strchr: precondition 'valid_string_s' got status valid. -[eva] Recording results for strchr -[eva] Done for function strchr -[eva] string_c.c:206: assertion got status valid. -[eva] computing for function strchr <- test_strchr <- main. - Called from string_c.c:207. -[eva] string_c.c:207: - function strchr: precondition 'valid_string_s' got status valid. -[eva] Recording results for strchr -[eva] Done for function strchr -[eva] string_c.c:208: assertion got status valid. -[eva] Recording results for test_strchr -[eva] Done for function test_strchr -[eva] computing for function test_strrchr <- main. - Called from string_c.c:307. -[eva] computing for function strrchr <- test_strrchr <- main. - Called from string_c.c:214. -[eva] string_c.c:214: - function strrchr: precondition 'valid_string_s' got status valid. -[eva] computing for function strlen <- strrchr <- test_strrchr <- main. - Called from FRAMAC_SHARE/libc/string.c:263. -[eva] FRAMAC_SHARE/libc/string.c:263: - function strlen: precondition 'valid_string_s' got status valid. -[eva] Recording results for strlen -[eva] Done for function strlen -[eva] FRAMAC_SHARE/libc/string.h:201: - function strrchr, behavior found: postcondition 'result_char' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:202: - function strrchr, behavior found: postcondition 'result_same_base' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:203: - function strrchr, behavior found: postcondition 'result_valid_string' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:209: - function strrchr, behavior default: postcondition 'result_null_or_same_base' got status valid. -[eva] Recording results for strrchr -[eva] Done for function strrchr -[eva] string_c.c:215: assertion got status valid. -[eva] computing for function strrchr <- test_strrchr <- main. - Called from string_c.c:216. -[eva] string_c.c:216: - function strrchr: precondition 'valid_string_s' got status valid. -[eva] FRAMAC_SHARE/libc/string.c:263: Reusing old results for call to strlen -[eva] FRAMAC_SHARE/libc/string.h:206: - function strrchr, behavior not_found: postcondition 'result_null' got status valid. -[eva] Recording results for strrchr -[eva] Done for function strrchr -[eva] string_c.c:217: assertion got status valid. -[eva] computing for function strrchr <- test_strrchr <- main. - Called from string_c.c:218. -[eva] string_c.c:218: - function strrchr: precondition 'valid_string_s' got status valid. -[eva] FRAMAC_SHARE/libc/string.c:263: Reusing old results for call to strlen -[eva] Recording results for strrchr -[eva] Done for function strrchr -[eva] string_c.c:219: assertion got status valid. -[eva] computing for function strrchr <- test_strrchr <- main. - Called from string_c.c:220. -[eva] string_c.c:220: - function strrchr: precondition 'valid_string_s' got status valid. -[eva] FRAMAC_SHARE/libc/string.c:263: Reusing old results for call to strlen -[eva] Recording results for strrchr -[eva] Done for function strrchr -[eva] string_c.c:221: assertion got status valid. -[eva] Recording results for test_strrchr -[eva] Done for function test_strrchr -[eva] computing for function test_memchr <- main. - Called from string_c.c:308. -[eva] computing for function memchr <- test_memchr <- main. - Called from string_c.c:227. -[eva] string_c.c:227: function memchr: precondition 'valid' got status valid. -[eva] string_c.c:227: - function memchr: precondition 'initialization' got status valid. -[eva] string_c.c:227: - function memchr: precondition 'danglingness' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:78: - cannot evaluate ACSL term, unsupported ACSL construct: logic function memchr -[eva] FRAMAC_SHARE/libc/string.h:85: - cannot evaluate ACSL term, unsupported ACSL construct: logic function memchr -[eva] FRAMAC_SHARE/libc/string.h:79: - function memchr, behavior found: postcondition 'result_same_base' got status valid. (Behavior may be inactive, no reduction performed.) -[eva] FRAMAC_SHARE/libc/string.h:80: - function memchr, behavior found: postcondition 'result_char' got status valid. (Behavior may be inactive, no reduction performed.) -[eva] FRAMAC_SHARE/libc/string.h:81: - function memchr, behavior found: postcondition 'result_in_str' got status valid. (Behavior may be inactive, no reduction performed.) -[eva:alarm] FRAMAC_SHARE/libc/string.h:86: Warning: - function memchr, behavior not_found: postcondition 'result_null' got status invalid. (Behavior may be inactive, no reduction performed.) -[eva] Recording results for memchr -[eva] Done for function memchr -[eva] string_c.c:228: assertion got status valid. -[eva] computing for function memchr <- test_memchr <- main. - Called from string_c.c:229. -[eva] string_c.c:229: function memchr: precondition 'valid' got status valid. -[eva] string_c.c:229: - function memchr: precondition 'initialization' got status valid. -[eva] string_c.c:229: - function memchr: precondition 'danglingness' got status valid. -[eva:alarm] FRAMAC_SHARE/libc/string.h:79: Warning: - function memchr, behavior found: postcondition 'result_same_base' got status invalid. (Behavior may be inactive, no reduction performed.) -[eva:alarm] FRAMAC_SHARE/libc/string.h:80: Warning: - function memchr, behavior found: postcondition 'result_char' got status unknown. (Behavior may be inactive, no reduction performed.) -[eva] FRAMAC_SHARE/libc/string.h:86: - function memchr, behavior not_found: postcondition 'result_null' got status valid. (Behavior may be inactive, no reduction performed.) -[eva] Recording results for memchr -[eva] Done for function memchr -[eva] string_c.c:230: assertion got status valid. -[eva] computing for function memchr <- test_memchr <- main. - Called from string_c.c:231. -[eva] string_c.c:231: function memchr: precondition 'valid' got status valid. -[eva] string_c.c:231: - function memchr: precondition 'initialization' got status valid. -[eva] string_c.c:231: - function memchr: precondition 'danglingness' got status valid. -[eva:alarm] FRAMAC_SHARE/libc/string.h:81: Warning: - function memchr, behavior found: postcondition 'result_in_str' got status unknown. (Behavior may be inactive, no reduction performed.) -[eva] Recording results for memchr -[eva] Done for function memchr -[eva] string_c.c:232: assertion got status valid. -[eva] computing for function memchr <- test_memchr <- main. - Called from string_c.c:233. -[eva] string_c.c:233: function memchr: precondition 'valid' got status valid. -[eva] string_c.c:233: - function memchr: precondition 'initialization' got status valid. -[eva] string_c.c:233: - function memchr: precondition 'danglingness' got status valid. -[eva] Recording results for memchr -[eva] Done for function memchr -[eva] string_c.c:234: assertion got status valid. -[eva] computing for function memchr <- test_memchr <- main. - Called from string_c.c:235. -[eva] string_c.c:235: function memchr: precondition 'valid' got status valid. -[eva] string_c.c:235: - function memchr: precondition 'initialization' got status valid. -[eva] string_c.c:235: - function memchr: precondition 'danglingness' got status valid. -[eva] Recording results for memchr -[eva] Done for function memchr -[eva] string_c.c:236: assertion got status valid. -[eva] computing for function memchr <- test_memchr <- main. - Called from string_c.c:237. -[eva] string_c.c:237: function memchr: precondition 'valid' got status valid. -[eva] string_c.c:237: - function memchr: precondition 'initialization' got status valid. -[eva] string_c.c:237: - function memchr: precondition 'danglingness' got status valid. -[eva] Recording results for memchr -[eva] Done for function memchr -[eva] string_c.c:238: assertion got status valid. -[eva] Recording results for test_memchr -[eva] Done for function test_memchr -[eva] computing for function test_memrchr <- main. - Called from string_c.c:309. -[eva] computing for function memrchr <- test_memrchr <- main. - Called from string_c.c:244. -[eva] Recording results for memrchr -[eva] Done for function memrchr -[eva] string_c.c:245: assertion got status valid. -[eva] computing for function memrchr <- test_memrchr <- main. - Called from string_c.c:246. -[eva] Recording results for memrchr -[eva] Done for function memrchr -[eva] string_c.c:247: assertion got status valid. -[eva] computing for function memrchr <- test_memrchr <- main. - Called from string_c.c:248. -[eva] Recording results for memrchr -[eva] Done for function memrchr -[eva] string_c.c:249: assertion got status valid. -[eva] computing for function memrchr <- test_memrchr <- main. - Called from string_c.c:250. -[eva] Recording results for memrchr -[eva] Done for function memrchr -[eva] string_c.c:251: assertion got status valid. -[eva] computing for function memrchr <- test_memrchr <- main. - Called from string_c.c:252. -[eva] Recording results for memrchr -[eva] Done for function memrchr -[eva] string_c.c:253: assertion got status valid. -[eva] computing for function memrchr <- test_memrchr <- main. - Called from string_c.c:254. -[eva] Recording results for memrchr -[eva] Done for function memrchr -[eva] string_c.c:255: assertion got status valid. -[eva] Recording results for test_memrchr -[eva] Done for function test_memrchr -[eva] computing for function test_strstr <- main. - Called from string_c.c:310. -[eva] computing for function strstr <- test_strstr <- main. - Called from string_c.c:261. -[eva] string_c.c:261: - function strstr: precondition 'valid_string_haystack' got status valid. -[eva] string_c.c:261: - function strstr: precondition 'valid_string_needle' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:243: - cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp -[eva:alarm] FRAMAC_SHARE/libc/string.h:241: Warning: - function strstr: postcondition 'result_null_or_in_haystack' got status unknown. -[eva] Recording results for strstr -[eva] Done for function strstr -[eva] string_c.c:262: assertion got status valid. -[eva] computing for function strstr <- test_strstr <- main. - Called from string_c.c:263. -[eva] string_c.c:263: - function strstr: precondition 'valid_string_haystack' got status valid. -[eva] string_c.c:263: - function strstr: precondition 'valid_string_needle' got status valid. -[eva] Recording results for strstr -[eva] Done for function strstr -[eva] string_c.c:264: assertion got status valid. -[eva] computing for function strstr <- test_strstr <- main. - Called from string_c.c:265. -[eva] string_c.c:265: - function strstr: precondition 'valid_string_haystack' got status valid. -[eva] string_c.c:265: - function strstr: precondition 'valid_string_needle' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:241: - function strstr: postcondition 'result_null_or_in_haystack' got status valid. -[eva] Recording results for strstr -[eva] Done for function strstr -[eva] string_c.c:266: assertion got status valid. -[eva] computing for function strstr <- test_strstr <- main. - Called from string_c.c:267. -[eva] string_c.c:267: - function strstr: precondition 'valid_string_haystack' got status valid. -[eva] string_c.c:267: - function strstr: precondition 'valid_string_needle' got status valid. -[eva] Recording results for strstr -[eva] Done for function strstr -[eva] string_c.c:268: assertion got status valid. -[eva] computing for function strstr <- test_strstr <- main. - Called from string_c.c:269. -[eva] string_c.c:269: - function strstr: precondition 'valid_string_haystack' got status valid. -[eva] string_c.c:269: - function strstr: precondition 'valid_string_needle' got status valid. -[eva] Recording results for strstr -[eva] Done for function strstr -[eva] string_c.c:270: assertion got status valid. -[eva] computing for function strstr <- test_strstr <- main. - Called from string_c.c:271. -[eva] string_c.c:271: - function strstr: precondition 'valid_string_haystack' got status valid. -[eva] string_c.c:271: - function strstr: precondition 'valid_string_needle' got status valid. -[eva] Recording results for strstr -[eva] Done for function strstr -[eva] string_c.c:272: assertion got status valid. -[eva] computing for function strstr <- test_strstr <- main. - Called from string_c.c:273. -[eva] string_c.c:273: - function strstr: precondition 'valid_string_haystack' got status valid. -[eva] string_c.c:273: - function strstr: precondition 'valid_string_needle' got status valid. -[eva] Recording results for strstr -[eva] Done for function strstr -[eva] string_c.c:274: assertion got status valid. -[eva] computing for function strstr <- test_strstr <- main. - Called from string_c.c:275. -[eva] string_c.c:275: - function strstr: precondition 'valid_string_haystack' got status valid. -[eva] string_c.c:275: - function strstr: precondition 'valid_string_needle' got status valid. -[eva] Recording results for strstr -[eva] Done for function strstr -[eva] string_c.c:276: assertion got status valid. -[eva] Recording results for test_strstr -[eva] Done for function test_strstr -[eva] computing for function test_mempcpy <- main. - Called from string_c.c:314. -[eva] computing for function mempcpy <- test_mempcpy <- main. - Called from string_c.c:282. -[eva] string_c.c:282: - function mempcpy: precondition 'valid_dest' got status valid. -[eva] string_c.c:282: - function mempcpy: precondition 'valid_src' got status valid. -[eva] string_c.c:282: - function mempcpy: precondition 'separation' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:114: - cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp -[eva:alarm] FRAMAC_SHARE/libc/string.h:114: Warning: - function mempcpy: postcondition 'copied_contents' got status unknown. -[kernel] FRAMAC_SHARE/libc/string.c:57: Warning: using size of 'void' -[eva:alarm] FRAMAC_SHARE/libc/string.h:115: Warning: - function mempcpy: postcondition 'result_next_byte' got status unknown. -[eva] Recording results for mempcpy -[eva] Done for function mempcpy -[eva] string_c.c:283: assertion got status valid. -[eva] string_c.c:284: assertion got status valid. -[eva] computing for function mempcpy <- test_mempcpy <- main. - Called from string_c.c:286. -[eva] string_c.c:286: - function mempcpy: precondition 'valid_dest' got status valid. -[eva] string_c.c:286: - function mempcpy: precondition 'valid_src' got status valid. -[eva] string_c.c:286: - function mempcpy: precondition 'separation' got status valid. -[eva] Recording results for mempcpy -[eva] Done for function mempcpy -[eva] string_c.c:287: assertion got status valid. -[eva] computing for function mempcpy <- test_mempcpy <- main. - Called from string_c.c:288. -[eva] string_c.c:288: - function mempcpy: precondition 'valid_dest' got status valid. -[eva] string_c.c:288: - function mempcpy: precondition 'valid_src' got status valid. -[eva] string_c.c:288: - function mempcpy: precondition 'separation' got status valid. -[eva] Recording results for mempcpy -[eva] Done for function mempcpy -[eva] string_c.c:289: assertion got status valid. -[eva] Recording results for test_mempcpy -[eva] Done for function test_mempcpy [eva] Recording results for main [eva] Done for function main [eva] ====== VALUES COMPUTED ====== -[eva:final-states] Values at end of function memchr: - ch ∈ {1; 2; 5} - ss ∈ {{ (unsigned char const *)&s }} - __retres ∈ {{ NULL ; (void *)&s{[0], [1]} }} [eva:final-states] Values at end of function memcmp: p1 ∈ {{ "hallo" ; "hallo" ; "a\000b" ; "a\000b" }} p2 ∈ {{ (unsigned char const *)&hello ; "a\000c" ; "a\000c" }} @@ -1019,78 +547,28 @@ [4] ∈ {3; 4; 5} [5] ∈ {4; 5; 6} __retres ∈ {{ (void *)&buf{[0], [2], [3]} }} -[eva:final-states] Values at end of function mempcpy: - i ∈ {0; 3; 6} - dest[0] ∈ {97; 104} - [1] ∈ {0; 101} - [2] ∈ {98; 108} - [3] ∈ {108} - [4] ∈ {111} - [5] ∈ {0} - __retres ∈ {{ (void *)&dest{[0], [3], [6]} }} -[eva:final-states] Values at end of function memrchr: - ch ∈ {1; 2; 5} - ss ∈ {{ (unsigned char const *)&s }} - __retres ∈ {{ NULL ; (void *)&s{[0], [3], [4]} }} [eva:final-states] Values at end of function memset: p ∈ {{ (unsigned char *)&dest }} dest[0..2] ∈ {42} [3] ∈ {0} -[eva:final-states] Values at end of function strchr: - ch ∈ {0; 72; 104; 108} - i ∈ {0; 2; 5} - __retres ∈ {{ NULL ; "hello" + {0; 2; 5} }} [eva:final-states] Values at end of function strcmp: i ∈ {0; 1; 4; 5} __retres ∈ {-111; -104; -32; 0; 111} -[eva:final-states] Values at end of function strcpy: - i ∈ {0; 5; 6} - s[0] ∈ {0; 54; 104} - [1] ∈ {53; 101} - [2] ∈ {52; 108} - [3] ∈ {51; 108} - [4] ∈ {50; 111} - [5] ∈ {0; 49} - [6] ∈ {0} or UNINITIALIZED [eva:final-states] Values at end of function strlen: - i ∈ {0; 2; 4; 5; 7} + i ∈ {0; 2; 5} [eva:final-states] Values at end of function strcat: - i ∈ {0; 1; 3; 5} - n ∈ {0; 4; 7} + i ∈ {5} + n ∈ {0} s[0] ∈ {104} [1] ∈ {101} [2..3] ∈ {108} - [4] ∈ {104; 111} - [5] ∈ {0; 101} - [6] ∈ {108} or UNINITIALIZED - [7] ∈ {0; 120} or UNINITIALIZED - [8] ∈ {0} or UNINITIALIZED - [9] ∈ UNINITIALIZED + [4] ∈ {111} + [5] ∈ {0} + [6..9] ∈ UNINITIALIZED [eva:final-states] Values at end of function strncmp: __retres ∈ {-104; -4; 0; 111} -[eva:final-states] Values at end of function strncpy: - i ∈ {0; 3; 5; 7} - s[0] ∈ {97; 98; 104} - [1] ∈ {98; 101; 121} - [2] ∈ {0; 101; 108} - [3] ∈ {0; 108} - [4] ∈ {0; 111} - [5..6] ∈ {0} [eva:final-states] Values at end of function strnlen: i ∈ {0; 2; 4; 5} -[eva:final-states] Values at end of function strrchr: - ch ∈ {0; 72; 104; 108} - __retres ∈ {{ NULL ; "hello" + {0; 3; 5} }} -[eva:final-states] Values at end of function strstr: - __retres ∈ {{ NULL ; "hello" + {0; 2; 3} }} -[eva:final-states] Values at end of function test_memchr: - s[0] ∈ {1} - [1] ∈ {2} - [2] ∈ {3} - [3] ∈ {1} - [4] ∈ {2} - [5] ∈ {4} - p ∈ {{ &s[0] }} [eva:final-states] Values at end of function test_memcmp: hello[0] ∈ {104} [1] ∈ {101} @@ -1128,49 +606,12 @@ s ∈ {{ &buf[0] }} d ∈ {{ &buf[3] }} p ∈ {{ &buf[2] }} -[eva:final-states] Values at end of function test_mempcpy: - dest[0] ∈ {97} - [1] ∈ {0} - [2] ∈ {98} - [3] ∈ {108} - [4] ∈ {111} - [5] ∈ {0} - src[0] ∈ {104} - [1] ∈ {101} - [2..3] ∈ {108} - [4] ∈ {111} - [5] ∈ {0} - p ∈ {{ &dest[0] }} - src2[0] ∈ {97} - [1] ∈ {0} - [2] ∈ {98} - [3..4] ∈ {0} -[eva:final-states] Values at end of function test_memrchr: - s[0] ∈ {1} - [1] ∈ {2} - [2] ∈ {3} - [3] ∈ {1} - [4] ∈ {2} - [5] ∈ {4} - p ∈ {{ &s[0] }} [eva:final-states] Values at end of function test_memset: dest[0..2] ∈ {42} [3] ∈ {0} p ∈ {{ &dest[0] }} [eva:final-states] Values at end of function test_strcat: - s[0] ∈ {104} - [1] ∈ {101} - [2..3] ∈ {108} - [4] ∈ {104} - [5] ∈ {101} - [6] ∈ {108} - [7] ∈ {120} - [8] ∈ {0} - [9] ∈ UNINITIALIZED - p ∈ {{ &s[0] }} -[eva:final-states] Values at end of function test_strchr: - s ∈ {{ "hello" }} - p ∈ {{ "hello" + {5} }} + NON TERMINATING FUNCTION [eva:final-states] Values at end of function test_strcmp: hello[0] ∈ {104} [1] ∈ {97} @@ -1184,15 +625,6 @@ res5 ∈ {-104} res6 ∈ {0} res7 ∈ {0} -[eva:final-states] Values at end of function test_strcpy: - s[0] ∈ {0} - [1] ∈ {53} - [2] ∈ {52} - [3] ∈ {51} - [4] ∈ {50} - [5] ∈ {49} - [6] ∈ {0} - p ∈ {{ &s[0] }} [eva:final-states] Values at end of function test_strlen: s ∈ {{ "hello" }} n ∈ {0} @@ -1210,19 +642,8 @@ res6 ∈ {-104} res7 ∈ {0} res8 ∈ {0} -[eva:final-states] Values at end of function test_strncpy: - s[0] ∈ {97} - [1] ∈ {98} - [2..6] ∈ {0} - p ∈ {{ &s[0] }} [eva:final-states] Values at end of function test_strnlen: s ∈ {{ "hello" }} n ∈ {0} -[eva:final-states] Values at end of function test_strrchr: - s ∈ {{ "hello" }} - p ∈ {{ "hello" + {5} }} -[eva:final-states] Values at end of function test_strstr: - s ∈ {{ "hello" }} - p ∈ {{ "hello" }} [eva:final-states] Values at end of function main: - __retres ∈ {0} + NON TERMINATING FUNCTION diff --git a/tests/libc/oracle/string_c_generic.res.oracle b/tests/libc/oracle/string_c_generic.res.oracle index 2e49652f1d0e598011724c22a53f50c52cd83773..3ab945c14d00469beae4fb594ce0bcf6fef02af7 100644 --- a/tests/libc/oracle/string_c_generic.res.oracle +++ b/tests/libc/oracle/string_c_generic.res.oracle @@ -12,11 +12,11 @@ function strcpy: precondition 'room_string' got status valid. [eva] string_c_generic.c:56: function strcpy: precondition 'separation' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:373: +[eva] FRAMAC_SHARE/libc/string.h:425: cannot evaluate ACSL term, unsupported ACSL construct: logic function strcmp -[eva:alarm] FRAMAC_SHARE/libc/string.h:373: Warning: +[eva:alarm] FRAMAC_SHARE/libc/string.h:425: Warning: function strcpy: postcondition 'equal_contents' got status unknown. -[eva] FRAMAC_SHARE/libc/string.h:374: +[eva] FRAMAC_SHARE/libc/string.h:426: function strcpy: postcondition 'result_ptr' got status valid. [eva] Recording results for strcpy [eva] Done for function strcpy @@ -26,9 +26,9 @@ function strcmp: precondition 'valid_string_s1' got status valid. [eva] string_c_generic.c:57: function strcmp: precondition 'valid_string_s2' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:156: +[eva] FRAMAC_SHARE/libc/string.h:174: cannot evaluate ACSL term, unsupported ACSL construct: logic function strcmp -[eva:alarm] FRAMAC_SHARE/libc/string.h:156: Warning: +[eva:alarm] FRAMAC_SHARE/libc/string.h:174: Warning: function strcmp: postcondition 'acsl_c_equiv' got status unknown. [eva] Recording results for strcmp [eva] Done for function strcmp @@ -144,11 +144,11 @@ Called from string_c_generic.c:72. [eva] string_c_generic.c:72: function memset: precondition 'valid_s' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:134: +[eva] FRAMAC_SHARE/libc/string.h:151: cannot evaluate ACSL term, unsupported ACSL construct: logic function memset -[eva:alarm] FRAMAC_SHARE/libc/string.h:134: Warning: +[eva:alarm] FRAMAC_SHARE/libc/string.h:151: Warning: function memset: postcondition 'acsl_c_equiv' got status unknown. -[eva] FRAMAC_SHARE/libc/string.h:135: +[eva] FRAMAC_SHARE/libc/string.h:152: function memset: postcondition 'result_ptr' got status valid. [eva] Recording results for memset [eva] Done for function memset @@ -160,14 +160,14 @@ function strncpy: precondition 'room_nstring' got status valid. [eva] string_c_generic.c:73: function strncpy: precondition 'separation' got status valid. -[eva] FRAMAC_SHARE/libc/string.c:246: starting to merge loop iterations -[eva] FRAMAC_SHARE/libc/string.h:385: +[eva] FRAMAC_SHARE/libc/string.c:249: starting to merge loop iterations +[eva] FRAMAC_SHARE/libc/string.h:437: function strncpy: postcondition 'result_ptr' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:386: +[eva] FRAMAC_SHARE/libc/string.h:438: function strncpy: postcondition 'initialization' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:389: +[eva] FRAMAC_SHARE/libc/string.h:441: cannot evaluate ACSL term, unsupported ACSL construct: logic function strcmp -[eva:alarm] FRAMAC_SHARE/libc/string.h:389: Warning: +[eva:alarm] FRAMAC_SHARE/libc/string.h:441: Warning: function strncpy, behavior complete: postcondition 'equal_after_copy' got status unknown. [eva] Recording results for strncpy [eva] Done for function strncpy @@ -199,9 +199,9 @@ function strncpy: precondition 'room_nstring' got status valid. [eva] string_c_generic.c:78: function strncpy: precondition 'separation' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:392: +[eva] FRAMAC_SHARE/libc/string.h:444: cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp -[eva:alarm] FRAMAC_SHARE/libc/string.h:392: Warning: +[eva:alarm] FRAMAC_SHARE/libc/string.h:444: Warning: function strncpy, behavior partial: postcondition 'equal_prefix' got status unknown. [eva] Recording results for strncpy [eva] Done for function strncpy @@ -212,9 +212,9 @@ [eva] string_c_generic.c:82: function strncmp: precondition 'valid_string_s2' got status valid. [eva] FRAMAC_SHARE/libc/string.c:154: starting to merge loop iterations -[eva] FRAMAC_SHARE/libc/string.h:163: +[eva] FRAMAC_SHARE/libc/string.h:181: cannot evaluate ACSL term, unsupported ACSL construct: logic function strncmp -[eva:alarm] FRAMAC_SHARE/libc/string.h:163: Warning: +[eva:alarm] FRAMAC_SHARE/libc/string.h:181: Warning: function strncmp: postcondition 'acsl_c_equiv' got status unknown. [eva] Recording results for strncmp [eva] Done for function strncmp @@ -242,19 +242,21 @@ function strncat: precondition 'valid_nstring_src' got status valid. [eva] string_c_generic.c:86: function strncat: precondition 'valid_string_dest' got status valid. +[eva] string_c_generic.c:86: + function strncat: precondition 'separation' got status valid. [eva] string_c_generic.c:86: function strncat, behavior partial: precondition 'room_string' got status valid. [eva] computing for function strlen <- strncat <- main. - Called from FRAMAC_SHARE/libc/string.c:209. -[eva] FRAMAC_SHARE/libc/string.c:209: + Called from FRAMAC_SHARE/libc/string.c:212. +[eva] FRAMAC_SHARE/libc/string.c:212: function strlen: precondition 'valid_string_s' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:143: +[eva] FRAMAC_SHARE/libc/string.h:160: function strlen: postcondition 'acsl_c_equiv' got status valid. [eva] Recording results for strlen [eva] Done for function strlen -[eva] FRAMAC_SHARE/libc/string.h:443: +[eva] FRAMAC_SHARE/libc/string.h:504: function strncat: postcondition 'result_ptr' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:458: +[eva] FRAMAC_SHARE/libc/string.h:518: function strncat, behavior partial: postcondition 'sum_of_bounded_lengths' got status valid. [eva] Recording results for strncat [eva] Done for function strncat @@ -280,27 +282,25 @@ Called from string_c_generic.c:91. [eva] string_c_generic.c:91: function strchr: precondition 'valid_string_s' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:177: +[eva] FRAMAC_SHARE/libc/string.h:197: + function strchr, behavior found: postcondition 'result_valid_string' got status valid. +[eva] FRAMAC_SHARE/libc/string.h:198: function strchr, behavior found: postcondition 'result_char' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:178: +[eva] FRAMAC_SHARE/libc/string.h:199: function strchr, behavior found: postcondition 'result_same_base' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:179: +[eva] FRAMAC_SHARE/libc/string.h:200: function strchr, behavior found: postcondition 'result_in_length' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:180: - function strchr, behavior found: postcondition 'result_valid_string' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:181: +[eva] FRAMAC_SHARE/libc/string.h:202: cannot evaluate ACSL term, unsupported logic var p -[eva:alarm] FRAMAC_SHARE/libc/string.h:181: Warning: - function strchr, behavior found: postcondition 'result_first_occur' got status unknown. -[eva] FRAMAC_SHARE/libc/string.h:187: - function strchr, behavior default: postcondition 'result_null_or_same_base' got status valid. +[eva:alarm] FRAMAC_SHARE/libc/string.h:202: Warning: + function strchr, behavior found: postcondition 'result_first_occurrence' got status unknown. [eva] Recording results for strchr [eva] Done for function strchr [eva] computing for function strchr <- main. Called from string_c_generic.c:92. [eva] string_c_generic.c:92: function strchr: precondition 'valid_string_s' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:184: +[eva] FRAMAC_SHARE/libc/string.h:205: function strchr, behavior not_found: postcondition 'result_null' got status valid. [eva] Recording results for strchr [eva] Done for function strchr @@ -309,29 +309,21 @@ [eva] string_c_generic.c:93: function strrchr: precondition 'valid_string_s' got status valid. [eva] computing for function strlen <- strrchr <- main. - Called from FRAMAC_SHARE/libc/string.c:263. -[eva] FRAMAC_SHARE/libc/string.c:263: + Called from FRAMAC_SHARE/libc/string.c:266. +[eva] FRAMAC_SHARE/libc/string.c:266: function strlen: precondition 'valid_string_s' got status valid. [eva] Recording results for strlen [eva] Done for function strlen -[eva] FRAMAC_SHARE/libc/string.h:201: - function strrchr, behavior found: postcondition 'result_char' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:202: - function strrchr, behavior found: postcondition 'result_same_base' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:203: - function strrchr, behavior found: postcondition 'result_valid_string' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:209: - function strrchr, behavior default: postcondition 'result_null_or_same_base' got status valid. +[eva] FRAMAC_SHARE/libc/string.h:223: + function strrchr: postcondition 'result_null_or_same_base' got status valid. [eva] Recording results for strrchr [eva] Done for function strrchr [eva] computing for function strrchr <- main. Called from string_c_generic.c:94. [eva] string_c_generic.c:94: function strrchr: precondition 'valid_string_s' got status valid. -[eva] FRAMAC_SHARE/libc/string.c:263: Reusing old results for call to strlen -[eva] FRAMAC_SHARE/libc/string.c:263: starting to merge loop iterations -[eva] FRAMAC_SHARE/libc/string.h:206: - function strrchr, behavior not_found: postcondition 'result_null' got status valid. +[eva] FRAMAC_SHARE/libc/string.c:266: Reusing old results for call to strlen +[eva] FRAMAC_SHARE/libc/string.c:266: starting to merge loop iterations [eva] Recording results for strrchr [eva] Done for function strrchr [eva] Recording results for main diff --git a/tests/libc/oracle/string_c_strchr.res.oracle b/tests/libc/oracle/string_c_strchr.res.oracle index 38d187e61abac5a476850d22c8c9d47cfc878dbe..a453fa14af65fd8f81e255557ba7a21a50f104af 100644 --- a/tests/libc/oracle/string_c_strchr.res.oracle +++ b/tests/libc/oracle/string_c_strchr.res.oracle @@ -10,10 +10,8 @@ Called from string_c_strchr.c:62. [eva] string_c_strchr.c:62: function strchr: precondition 'valid_string_s' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:184: +[eva] FRAMAC_SHARE/libc/string.h:205: function strchr, behavior not_found: postcondition 'result_null' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:187: - function strchr, behavior default: postcondition 'result_null_or_same_base' got status valid. [eva] Recording results for strchr [eva] Done for function strchr [eva] computing for function strchr <- main. @@ -44,7 +42,7 @@ Called from string_c_strchr.c:67. [eva] string_c_strchr.c:67: function strchr: precondition 'valid_string_s' got status valid. -[eva] FRAMAC_SHARE/libc/string.c:255: +[eva] FRAMAC_SHARE/libc/string.c:258: Trace partitioning superposing up to 100 states [eva] Recording results for strchr [eva] Done for function strchr @@ -58,18 +56,18 @@ Called from string_c_strchr.c:70. [eva] string_c_strchr.c:70: function strchr: precondition 'valid_string_s' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:177: +[eva] FRAMAC_SHARE/libc/string.h:197: + function strchr, behavior found: postcondition 'result_valid_string' got status valid. +[eva] FRAMAC_SHARE/libc/string.h:198: function strchr, behavior found: postcondition 'result_char' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:178: +[eva] FRAMAC_SHARE/libc/string.h:199: function strchr, behavior found: postcondition 'result_same_base' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:179: +[eva] FRAMAC_SHARE/libc/string.h:200: function strchr, behavior found: postcondition 'result_in_length' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:180: - function strchr, behavior found: postcondition 'result_valid_string' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:181: +[eva] FRAMAC_SHARE/libc/string.h:202: cannot evaluate ACSL term, unsupported logic var p -[eva:alarm] FRAMAC_SHARE/libc/string.h:181: Warning: - function strchr, behavior found: postcondition 'result_first_occur' got status unknown. +[eva:alarm] FRAMAC_SHARE/libc/string.h:202: Warning: + function strchr, behavior found: postcondition 'result_first_occurrence' got status unknown. [eva] Recording results for strchr [eva] Done for function strchr [eva] computing for function strchr <- main. @@ -172,7 +170,7 @@ Called from string_c_strchr.c:87. [eva] string_c_strchr.c:87: function strchr: precondition 'valid_string_s' got status valid. -[eva] FRAMAC_SHARE/libc/string.c:255: +[eva] FRAMAC_SHARE/libc/string.c:258: Trace partitioning superposing up to 200 states [eva] Recording results for strchr [eva] Done for function strchr diff --git a/tests/libc/oracle/string_c_strstr.res.oracle b/tests/libc/oracle/string_c_strstr.res.oracle index d4134467a53b8833d169dd88011027ba67a77297..4d8bf67212fd75cf0737ede051d148edc4ab0951 100644 --- a/tests/libc/oracle/string_c_strstr.res.oracle +++ b/tests/libc/oracle/string_c_strstr.res.oracle @@ -10,7 +10,7 @@ function strstr: precondition 'valid_string_haystack' got status valid. [eva] string_c_strstr.c:52: function strstr: precondition 'valid_string_needle' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:241: +[eva] FRAMAC_SHARE/libc/string.h:263: function strstr: postcondition 'result_null_or_in_haystack' got status valid. [eva] Recording results for strstr [eva] Done for function strstr @@ -68,7 +68,7 @@ function strstr: precondition 'valid_string_haystack' got status valid. [eva] string_c_strstr.c:59: function strstr: precondition 'valid_string_needle' got status valid. -[eva] FRAMAC_SHARE/libc/string.c:292: starting to merge loop iterations +[eva] FRAMAC_SHARE/libc/string.c:295: starting to merge loop iterations [eva] Recording results for strstr [eva] Done for function strstr [eva] computing for function strstr <- main. @@ -101,9 +101,9 @@ function strstr: precondition 'valid_string_haystack' got status valid. [eva] string_c_strstr.c:64: function strstr: precondition 'valid_string_needle' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:243: +[eva] FRAMAC_SHARE/libc/string.h:266: cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp -[eva:alarm] FRAMAC_SHARE/libc/string.h:241: Warning: +[eva:alarm] FRAMAC_SHARE/libc/string.h:263: Warning: function strstr: postcondition 'result_null_or_in_haystack' got status unknown. [eva] Recording results for strstr [eva] Done for function strstr diff --git a/tests/libc/oracle/string_h.res.oracle b/tests/libc/oracle/string_h.res.oracle index 62c225c8140534ab341e6530a4dfee59ae1f1ef6..2b9a24d5ee7bf35eac5421780a8616bf2f61ea9f 100644 --- a/tests/libc/oracle/string_h.res.oracle +++ b/tests/libc/oracle/string_h.res.oracle @@ -5,7 +5,7 @@ [eva:initial-state] Values of globals at initialization nondet ∈ [--..--] [eva] computing for function test_strcmp <- main. - Called from string_h.c:147. + Called from string_h.c:157. [eva] computing for function strcmp <- test_strcmp <- main. Called from string_h.c:5. [eva] using specification for function strcmp @@ -16,11 +16,11 @@ [eva] FRAMAC_SHARE/libc/string.h:174: cannot evaluate ACSL term, unsupported ACSL construct: logic function strcmp [eva] Done for function strcmp -[eva:alarm] string_h.c:6: Warning: assertion got status unknown. +[eva:alarm] string_h.c:6: Warning: check got status unknown. [eva] Recording results for test_strcmp [eva] Done for function test_strcmp [eva] computing for function test_strcat <- main. - Called from string_h.c:148. + Called from string_h.c:158. [eva] computing for function strcat <- test_strcat <- main. Called from string_h.c:13. [eva] using specification for function strcat @@ -30,6 +30,8 @@ function strcat: precondition 'valid_string_dest' got status valid. [eva] string_h.c:13: function strcat: precondition 'room_string' got status valid. +[eva] string_h.c:13: + function strcat: precondition 'separation' got status valid. [eva] Done for function strcat [eva] computing for function strcat <- test_strcat <- main. Called from string_h.c:16. @@ -39,11 +41,13 @@ function strcat: precondition 'valid_string_dest' got status valid. [eva] string_h.c:16: function strcat: precondition 'room_string' got status valid. +[eva] string_h.c:16: + function strcat: precondition 'separation' got status valid. [eva] Done for function strcat [eva] Recording results for test_strcat [eva] Done for function test_strcat [eva] computing for function test_strstr <- main. - Called from string_h.c:149. + Called from string_h.c:159. [eva] computing for function strstr <- test_strstr <- main. Called from string_h.c:24. [eva] using specification for function strstr @@ -51,14 +55,14 @@ function strstr: precondition 'valid_string_haystack' got status valid. [eva] string_h.c:24: function strstr: precondition 'valid_string_needle' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:263: +[eva] FRAMAC_SHARE/libc/string.h:266: cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp [eva] Done for function strstr -[eva:alarm] string_h.c:25: Warning: assertion got status unknown. +[eva:alarm] string_h.c:25: Warning: check got status unknown. [eva] Recording results for test_strstr [eva] Done for function test_strstr [eva] computing for function test_strncat <- main. - Called from string_h.c:150. + Called from string_h.c:160. [eva] string_h.c:34: Trace partitioning superposing up to 100 states [eva] computing for function strncat <- test_strncat <- main. Called from string_h.c:36. @@ -67,342 +71,543 @@ function strncat: precondition 'valid_nstring_src' got status valid. [eva] string_h.c:36: function strncat: precondition 'valid_string_dest' got status valid. +[eva] string_h.c:36: + function strncat: precondition 'separation' got status valid. [eva] string_h.c:36: function strncat, behavior complete: precondition 'room_string' got status valid. [eva] Done for function strncat +[eva] computing for function strncat <- test_strncat <- main. + Called from string_h.c:40. +[eva] string_h.c:40: + function strncat: precondition 'valid_nstring_src' got status valid. +[eva] string_h.c:40: + function strncat: precondition 'valid_string_dest' got status valid. +[eva] string_h.c:40: + function strncat: precondition 'separation' got status valid. +[eva] string_h.c:40: + function strncat, behavior partial: precondition 'room_string' got status valid. +[eva] Done for function strncat +[eva] computing for function strncat <- test_strncat <- main. + Called from string_h.c:44. +[eva] string_h.c:44: + function strncat: precondition 'valid_nstring_src' got status valid. +[eva] string_h.c:44: + function strncat: precondition 'valid_string_dest' got status valid. +[eva] string_h.c:44: + function strncat: precondition 'separation' got status valid. +[eva:alarm] string_h.c:44: Warning: + function strncat, behavior partial: precondition 'room_string' got status invalid. +[eva] Done for function strncat [eva] Recording results for test_strncat [eva] Done for function test_strncat [eva] computing for function crashes_gcc <- main. - Called from string_h.c:151. + Called from string_h.c:161. [eva] computing for function strcpy <- crashes_gcc <- main. - Called from string_h.c:53. + Called from string_h.c:63. [eva] using specification for function strcpy -[eva] string_h.c:53: +[eva] string_h.c:63: function strcpy: precondition 'valid_string_src' got status valid. -[eva] string_h.c:53: +[eva] string_h.c:63: function strcpy: precondition 'room_string' got status valid. -[eva:alarm] string_h.c:53: Warning: +[eva:alarm] string_h.c:63: Warning: function strcpy: precondition 'separation' got status invalid. [eva] Done for function strcpy [eva] Recording results for crashes_gcc [eva] Done for function crashes_gcc [eva] computing for function test_strtok <- main. - Called from string_h.c:152. + Called from string_h.c:162. [eva] computing for function strtok <- test_strtok <- main. - Called from string_h.c:58. + Called from string_h.c:68. [eva] using specification for function strtok -[eva] string_h.c:58: +[eva] string_h.c:68: function strtok: precondition 'valid_string_delim' got status valid. -[eva:alarm] string_h.c:58: Warning: +[eva] string_h.c:68: + function strtok: precondition 'separation' got status valid. +[eva:alarm] string_h.c:68: Warning: function strtok, behavior resume_str: precondition 'not_first_call' got status invalid. [eva] Done for function strtok [eva] computing for function strtok <- test_strtok <- main. - Called from string_h.c:62. -[eva] string_h.c:62: + Called from string_h.c:72. +[eva] string_h.c:72: function strtok: precondition 'valid_string_delim' got status valid. -[eva] string_h.c:62: +[eva] string_h.c:72: + function strtok: precondition 'separation' got status valid. +[eva] string_h.c:72: function strtok, behavior new_str: precondition 'valid_string_s_or_delim_not_found' got status valid. [eva] Done for function strtok -[eva:alarm] string_h.c:63: Warning: assertion got status unknown. +[eva] string_h.c:73: check got status valid. [eva] computing for function strtok <- test_strtok <- main. - Called from string_h.c:64. -[eva] string_h.c:64: + Called from string_h.c:74. +[eva] string_h.c:74: function strtok: precondition 'valid_string_delim' got status valid. -[eva] string_h.c:64: +[eva] string_h.c:74: + function strtok: precondition 'separation' got status valid. +[eva] string_h.c:74: function strtok, behavior resume_str: precondition 'not_first_call' got status valid. [eva] Done for function strtok -[eva:alarm] string_h.c:65: Warning: assertion got status unknown. +[eva] string_h.c:75: check got status valid. [eva] computing for function strtok <- test_strtok <- main. - Called from string_h.c:67. -[eva] string_h.c:67: + Called from string_h.c:77. +[eva] string_h.c:77: function strtok: precondition 'valid_string_delim' got status valid. -[eva] string_h.c:67: +[eva] string_h.c:77: + function strtok: precondition 'separation' got status valid. +[eva] string_h.c:77: function strtok, behavior new_str: precondition 'valid_string_s_or_delim_not_found' got status valid. [eva] Done for function strtok -[eva:alarm] string_h.c:68: Warning: assertion got status unknown. +[eva] string_h.c:78: check got status valid. [eva] computing for function strtok <- test_strtok <- main. - Called from string_h.c:69. -[eva] string_h.c:69: + Called from string_h.c:79. +[eva] string_h.c:79: function strtok: precondition 'valid_string_delim' got status valid. -[eva] string_h.c:69: +[eva] string_h.c:79: + function strtok: precondition 'separation' got status valid. +[eva] string_h.c:79: function strtok, behavior resume_str: precondition 'not_first_call' got status valid. [eva] Done for function strtok -[eva:alarm] string_h.c:70: Warning: assertion got status unknown. +[eva:alarm] string_h.c:80: Warning: check got status unknown. [eva] computing for function strtok <- test_strtok <- main. - Called from string_h.c:72. -[eva] string_h.c:72: + Called from string_h.c:82. +[eva] string_h.c:82: function strtok: precondition 'valid_string_delim' got status valid. -[eva] string_h.c:72: +[eva] string_h.c:82: + function strtok: precondition 'separation' got status valid. +[eva] string_h.c:82: function strtok, behavior new_str: precondition 'valid_string_s_or_delim_not_found' got status valid. -[eva:invalid-assigns] string_h.c:72: +[eva:invalid-assigns] string_h.c:82: Completely invalid destination for assigns clause *(s + (0 ..)). Ignoring. [eva] Done for function strtok -[eva:alarm] string_h.c:73: Warning: assertion got status unknown. +[eva:alarm] string_h.c:83: Warning: check got status unknown. [eva] computing for function strtok <- test_strtok <- main. - Called from string_h.c:75. -[eva] string_h.c:75: + Called from string_h.c:85. +[eva] string_h.c:85: function strtok: precondition 'valid_string_delim' got status valid. -[eva:alarm] string_h.c:75: Warning: +[eva] string_h.c:85: + function strtok: precondition 'separation' got status valid. +[eva:alarm] string_h.c:85: Warning: function strtok, behavior new_str: precondition 'valid_string_s_or_delim_not_found' got status invalid. [eva] Done for function strtok [eva] Recording results for test_strtok [eva] Done for function test_strtok [eva] computing for function test_strtok_r <- main. - Called from string_h.c:153. + Called from string_h.c:163. [eva] computing for function strtok_r <- test_strtok_r <- main. - Called from string_h.c:82. + Called from string_h.c:92. [eva] using specification for function strtok_r -[eva] string_h.c:82: +[eva] string_h.c:92: function strtok_r: precondition 'valid_string_delim' got status valid. -[eva:alarm] string_h.c:82: Warning: +[eva:alarm] string_h.c:92: Warning: + function strtok_r: precondition 'separation' got status unknown. +[eva:alarm] string_h.c:92: Warning: function strtok_r: precondition 'valid_saveptr' got status invalid. [eva] Done for function strtok_r [eva] computing for function strtok_r <- test_strtok_r <- main. - Called from string_h.c:87. -[eva] string_h.c:87: + Called from string_h.c:97. +[eva] string_h.c:97: function strtok_r: precondition 'valid_string_delim' got status valid. -[eva] string_h.c:87: +[eva:alarm] string_h.c:97: Warning: + function strtok_r: precondition 'separation' got status unknown. +[eva] string_h.c:97: function strtok_r: precondition 'valid_saveptr' got status valid. -[eva] string_h.c:87: +[eva] string_h.c:97: function strtok_r, behavior new_str: precondition 'valid_string_s_or_delim_not_found' got status valid. [eva] Done for function strtok_r [eva] computing for function strtok_r <- test_strtok_r <- main. - Called from string_h.c:89. -[eva] string_h.c:89: + Called from string_h.c:99. +[eva] string_h.c:99: function strtok_r: precondition 'valid_string_delim' got status valid. -[eva:alarm] string_h.c:89: Warning: +[eva:alarm] string_h.c:99: Warning: + function strtok_r: precondition 'separation' got status unknown. +[eva:alarm] string_h.c:99: Warning: function strtok_r: precondition 'valid_saveptr' got status invalid. [eva] Done for function strtok_r -[eva:alarm] string_h.c:92: Warning: assertion got status unknown. +[eva] string_h.c:102: check got status valid. [eva] computing for function strtok_r <- test_strtok_r <- main. - Called from string_h.c:93. -[eva] string_h.c:93: + Called from string_h.c:103. +[eva] string_h.c:103: function strtok_r: precondition 'valid_string_delim' got status valid. -[eva] string_h.c:93: +[eva] string_h.c:103: + function strtok_r: precondition 'separation' got status valid. +[eva] string_h.c:103: function strtok_r: precondition 'valid_saveptr' got status valid. -[eva] string_h.c:93: +[eva] string_h.c:103: function strtok_r, behavior resume_str: precondition 'not_first_call' got status valid. -[eva] string_h.c:93: +[eva] string_h.c:103: function strtok_r, behavior resume_str: precondition 'initialization,saveptr' got status valid. [eva] Done for function strtok_r -[eva] string_h.c:94: Frama_C_show_each_saveptr: {{ &buf + [0..--] }} -[eva:alarm] string_h.c:95: Warning: assertion got status unknown. +[eva] string_h.c:104: Frama_C_show_each_saveptr: {{ &buf + {0; 1} }} +[eva] string_h.c:105: check got status valid. [eva] computing for function strtok_r <- test_strtok_r <- main. - Called from string_h.c:97. -[eva] string_h.c:97: + Called from string_h.c:107. +[eva] string_h.c:107: function strtok_r: precondition 'valid_string_delim' got status valid. -[eva] string_h.c:97: +[eva] string_h.c:107: + function strtok_r: precondition 'separation' got status valid. +[eva] string_h.c:107: function strtok_r: precondition 'valid_saveptr' got status valid. -[eva] string_h.c:97: +[eva] string_h.c:107: function strtok_r, behavior new_str: precondition 'valid_string_s_or_delim_not_found' got status valid. [eva] Done for function strtok_r -[eva:alarm] string_h.c:98: Warning: assertion got status unknown. +[eva] string_h.c:108: check got status valid. [eva] computing for function strtok_r <- test_strtok_r <- main. - Called from string_h.c:99. -[eva] string_h.c:99: + Called from string_h.c:109. +[eva] string_h.c:109: function strtok_r: precondition 'valid_string_delim' got status valid. -[eva] string_h.c:99: +[eva] string_h.c:109: + function strtok_r: precondition 'separation' got status valid. +[eva] string_h.c:109: function strtok_r: precondition 'valid_saveptr' got status valid. -[eva] string_h.c:99: +[eva] string_h.c:109: function strtok_r, behavior resume_str: precondition 'not_first_call' got status valid. -[eva] string_h.c:99: +[eva] string_h.c:109: function strtok_r, behavior resume_str: precondition 'initialization,saveptr' got status valid. [eva] Done for function strtok_r -[eva:alarm] string_h.c:100: Warning: assertion got status unknown. +[eva:alarm] string_h.c:110: Warning: check got status unknown. [eva] computing for function strtok_r <- test_strtok_r <- main. - Called from string_h.c:102. -[eva] string_h.c:102: + Called from string_h.c:112. +[eva] string_h.c:112: function strtok_r: precondition 'valid_string_delim' got status valid. -[eva] string_h.c:102: +[eva] string_h.c:112: + function strtok_r: precondition 'separation' got status valid. +[eva] string_h.c:112: function strtok_r: precondition 'valid_saveptr' got status valid. -[eva] string_h.c:102: +[eva] string_h.c:112: function strtok_r, behavior new_str: precondition 'valid_string_s_or_delim_not_found' got status valid. -[eva:invalid-assigns] string_h.c:102: +[eva:invalid-assigns] string_h.c:112: Completely invalid destination for assigns clause *(s + (0 ..)). Ignoring. [eva] Done for function strtok_r -[eva:alarm] string_h.c:103: Warning: assertion got status unknown. +[eva:alarm] string_h.c:113: Warning: check got status unknown. [eva] computing for function strtok_r <- test_strtok_r <- main. - Called from string_h.c:105. -[eva] string_h.c:105: + Called from string_h.c:115. +[eva] string_h.c:115: function strtok_r: precondition 'valid_string_delim' got status valid. -[eva] string_h.c:105: +[eva] string_h.c:115: + function strtok_r: precondition 'separation' got status valid. +[eva] string_h.c:115: function strtok_r: precondition 'valid_saveptr' got status valid. -[eva:alarm] string_h.c:105: Warning: +[eva:alarm] string_h.c:115: Warning: function strtok_r, behavior new_str: precondition 'valid_string_s_or_delim_not_found' got status invalid. [eva] Done for function strtok_r [eva] Recording results for test_strtok_r [eva] Done for function test_strtok_r [eva] computing for function strdup <- main. - Called from string_h.c:154. + Called from string_h.c:164. [eva] using specification for function strdup -[eva:libc:unsupported-spec] string_h.c:154: Warning: +[eva:libc:unsupported-spec] string_h.c:164: Warning: The specification of function 'strdup' is currently not supported by Eva. Consider adding 'FRAMAC_SHARE/libc/string.c' to the analyzed source files. -[eva] string_h.c:154: Warning: ignoring unsupported allocates clause -[eva] string_h.c:154: +[eva] string_h.c:164: Warning: ignoring unsupported allocates clause +[eva] string_h.c:164: function strdup: precondition 'valid_string_s' got status valid. [eva] Done for function strdup [eva] computing for function strndup <- main. - Called from string_h.c:155. + Called from string_h.c:165. [eva] using specification for function strndup -[eva:libc:unsupported-spec] string_h.c:155: Warning: +[eva:libc:unsupported-spec] string_h.c:165: Warning: The specification of function 'strndup' is currently not supported by Eva. Consider adding 'FRAMAC_SHARE/libc/string.c' to the analyzed source files. -[eva] string_h.c:155: Warning: ignoring unsupported allocates clause -[eva] string_h.c:155: +[eva] string_h.c:165: Warning: ignoring unsupported allocates clause +[eva] string_h.c:165: function strndup: precondition 'valid_string_s' got status valid. [eva] Done for function strndup [eva] computing for function strsignal <- main. - Called from string_h.c:156. + Called from string_h.c:166. [eva] using specification for function strsignal [eva] Done for function strsignal -[eva] string_h.c:157: assertion got status valid. +[eva] string_h.c:167: check got status valid. [eva] computing for function test_strncpy <- main. - Called from string_h.c:158. + Called from string_h.c:168. [eva] computing for function strncpy <- test_strncpy <- main. - Called from string_h.c:113. + Called from string_h.c:123. [eva] using specification for function strncpy -[eva] string_h.c:113: +[eva] string_h.c:123: function strncpy: precondition 'valid_nstring_src' got status valid. -[eva] string_h.c:113: +[eva] string_h.c:123: function strncpy: precondition 'room_nstring' got status valid. -[eva] string_h.c:113: +[eva] string_h.c:123: function strncpy: precondition 'separation' got status valid. [eva] Done for function strncpy [eva] computing for function strncpy <- test_strncpy <- main. - Called from string_h.c:118. -[eva:alarm] string_h.c:118: Warning: + Called from string_h.c:128. +[eva:alarm] string_h.c:128: Warning: function strncpy: precondition 'valid_nstring_src' got status invalid. -[eva] string_h.c:118: +[eva] string_h.c:128: function strncpy: no state left, precondition 'room_nstring' got status valid. -[eva] string_h.c:118: +[eva] string_h.c:128: function strncpy: no state left, precondition 'separation' got status valid. [eva] Done for function strncpy [eva] Recording results for test_strncpy [eva] Done for function test_strncpy [eva] computing for function test_strlcpy <- main. - Called from string_h.c:159. + Called from string_h.c:169. [eva] computing for function strlcpy <- test_strlcpy <- main. - Called from string_h.c:126. + Called from string_h.c:136. [eva] using specification for function strlcpy -[eva] string_h.c:126: +[eva] string_h.c:136: function strlcpy: precondition 'valid_string_src' got status valid. -[eva] string_h.c:126: +[eva] string_h.c:136: function strlcpy: precondition 'room_nstring' got status valid. -[eva] string_h.c:126: +[eva] string_h.c:136: function strlcpy: precondition 'separation' got status valid. [eva] Done for function strlcpy [eva] computing for function strlcpy <- test_strlcpy <- main. - Called from string_h.c:127. -[eva] string_h.c:127: + Called from string_h.c:137. +[eva] string_h.c:137: function strlcpy: precondition 'valid_string_src' got status valid. -[eva] string_h.c:127: +[eva] string_h.c:137: function strlcpy: precondition 'room_nstring' got status valid. -[eva] string_h.c:127: +[eva] string_h.c:137: function strlcpy: precondition 'separation' got status valid. [eva] Done for function strlcpy [eva] computing for function strlcat <- test_strlcpy <- main. - Called from string_h.c:128. + Called from string_h.c:138. [eva] using specification for function strlcat -[eva:alarm] string_h.c:128: Warning: +[eva:alarm] string_h.c:138: Warning: function strlcat: precondition 'valid_string_src' got status unknown. -[eva:alarm] string_h.c:128: Warning: +[eva:alarm] string_h.c:138: Warning: function strlcat: precondition 'valid_string_dest' got status unknown. -[eva] string_h.c:128: +[eva] string_h.c:138: function strlcat: precondition 'room_nstring' got status valid. +[eva] string_h.c:138: + function strlcat: precondition 'separation' got status valid. [eva] Done for function strlcat [eva] computing for function strlcpy <- test_strlcpy <- main. - Called from string_h.c:132. -[eva:alarm] string_h.c:132: Warning: + Called from string_h.c:142. +[eva:alarm] string_h.c:142: Warning: function strlcpy: precondition 'valid_string_src' got status invalid. -[eva] string_h.c:132: +[eva] string_h.c:142: function strlcpy: no state left, precondition 'room_nstring' got status valid. -[eva] string_h.c:132: +[eva] string_h.c:142: function strlcpy: no state left, precondition 'separation' got status valid. [eva] Done for function strlcpy [eva] Recording results for test_strlcpy [eva] Done for function test_strlcpy [eva] computing for function test_strrchr <- main. - Called from string_h.c:160. + Called from string_h.c:170. [eva] computing for function strrchr <- test_strrchr <- main. - Called from string_h.c:139. + Called from string_h.c:149. [eva] using specification for function strrchr -[eva] string_h.c:139: +[eva] string_h.c:149: function strrchr: precondition 'valid_string_s' got status valid. [eva] Done for function strrchr -[eva:alarm] string_h.c:140: Warning: check got status unknown. +[eva:alarm] string_h.c:150: Warning: check got status unknown. [eva] computing for function strrchr <- test_strrchr <- main. - Called from string_h.c:141. -[eva] string_h.c:141: + Called from string_h.c:151. +[eva] string_h.c:151: function strrchr: precondition 'valid_string_s' got status valid. [eva] Done for function strrchr -[eva] string_h.c:142: check got status valid. +[eva:alarm] string_h.c:152: Warning: check got status unknown. [eva] Recording results for test_strrchr [eva] Done for function test_strrchr -[eva] string_h.c:163: Call to builtin strchr -[eva] string_h.c:163: +[eva] string_h.c:173: Call to builtin strchr +[eva] string_h.c:173: function strchr: precondition 'valid_string_s' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:199: +[eva] FRAMAC_SHARE/libc/string.h:202: cannot evaluate ACSL term, unsupported logic var p +[eva:alarm] string_h.c:173: Warning: check got status unknown. [eva] computing for function strchrnul <- main. - Called from string_h.c:164. + Called from string_h.c:174. [eva] using specification for function strchrnul -[eva] string_h.c:164: +[eva] string_h.c:174: function strchrnul: precondition 'valid_string_s' got status valid. [eva] Done for function strchrnul -[eva] string_h.c:166: Call to builtin strchr -[eva] string_h.c:166: +[eva] string_h.c:176: Call to builtin strchr +[eva] string_h.c:176: function strchr: precondition 'valid_string_s' got status valid. [eva] computing for function strchrnul <- main. - Called from string_h.c:167. -[eva] string_h.c:167: + Called from string_h.c:177. +[eva] string_h.c:177: function strchrnul: precondition 'valid_string_s' got status valid. [eva] Done for function strchrnul [eva] computing for function mempcpy <- main. - Called from string_h.c:169. + Called from string_h.c:179. [eva] using specification for function mempcpy -[eva] string_h.c:169: +[eva] string_h.c:179: function mempcpy: precondition 'valid_dest' got status valid. -[eva] string_h.c:169: +[eva] string_h.c:179: function mempcpy: precondition 'valid_src' got status valid. -[eva] string_h.c:169: +[eva] string_h.c:179: function mempcpy: precondition 'separation' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:132: +[eva] FRAMAC_SHARE/libc/string.h:131: cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp -[kernel] string_h.c:169: Warning: using size of 'void' +[kernel] string_h.c:179: Warning: using size of 'void' [eva] Done for function mempcpy -[eva:alarm] string_h.c:170: Warning: assertion 'imprecise' got status unknown. -[eva] string_h.c:172: Call to builtin strlen -[eva] string_h.c:172: +[eva:alarm] string_h.c:180: Warning: check 'imprecise' got status unknown. +[eva] string_h.c:182: Call to builtin strlen +[eva] string_h.c:182: function strlen: precondition 'valid_string_s' got status valid. [eva] computing for function memrchr <- main. - Called from string_h.c:172. + Called from string_h.c:182. [eva] using specification for function memrchr -[eva] string_h.c:172: function memrchr: precondition 'valid' got status valid. -[eva] string_h.c:172: +[eva] string_h.c:182: function memrchr: precondition 'valid' got status valid. +[eva] string_h.c:182: function memrchr: precondition 'initialization' got status valid. -[eva] string_h.c:172: +[eva] string_h.c:182: function memrchr: precondition 'danglingness' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:100: +[eva] FRAMAC_SHARE/libc/string.h:99: cannot evaluate ACSL term, unsupported ACSL construct: logic function memchr -[eva] FRAMAC_SHARE/libc/string.h:104: +[eva] FRAMAC_SHARE/libc/string.h:103: cannot evaluate ACSL term, unsupported ACSL construct: logic function memchr -[kernel] string_h.c:172: Warning: using size of 'void' [eva] Done for function memrchr -[eva:alarm] string_h.c:173: Warning: check got status unknown. -[eva] string_h.c:174: Call to builtin strlen -[eva] string_h.c:174: +[eva:alarm] string_h.c:183: Warning: check 'imprecise' got status unknown. +[eva] string_h.c:184: Call to builtin strlen +[eva] string_h.c:184: function strlen: precondition 'valid_string_s' got status valid. [eva] computing for function memrchr <- main. - Called from string_h.c:174. -[eva] string_h.c:174: function memrchr: precondition 'valid' got status valid. -[eva] string_h.c:174: + Called from string_h.c:184. +[eva] string_h.c:184: function memrchr: precondition 'valid' got status valid. +[eva] string_h.c:184: function memrchr: precondition 'initialization' got status valid. -[eva] string_h.c:174: +[eva] string_h.c:184: function memrchr: precondition 'danglingness' got status valid. -[kernel] string_h.c:174: Warning: using size of 'void' [eva] Done for function memrchr -[eva:alarm] string_h.c:175: Warning: check got status unknown. +[eva:alarm] string_h.c:185: Warning: check 'imprecise' got status unknown. +[eva] computing for function memmem <- main. + Called from string_h.c:190. +[eva] using specification for function memmem +[eva] string_h.c:190: + function memmem: precondition 'valid_haystack' got status valid. +[eva] string_h.c:190: + function memmem: precondition 'valid_needle' got status valid. +[eva] Done for function memmem +[eva:alarm] string_h.c:191: Warning: check 'imprecise' got status unknown. +[eva] computing for function memmem <- main. + Called from string_h.c:194. +[eva] string_h.c:194: + function memmem: precondition 'valid_haystack' got status valid. +[eva] string_h.c:194: + function memmem: precondition 'valid_needle' got status valid. +[eva] Done for function memmem +[eva:alarm] string_h.c:195: Warning: check 'imprecise' got status unknown. +[eva] computing for function strsep <- main. + Called from string_h.c:199. +[eva] using specification for function strsep +[eva] string_h.c:199: + function strsep: precondition 'valid_stringp' got status valid. +[eva] string_h.c:199: + function strsep, behavior valid_stringp: precondition 'valid_string_stringp' got status valid. +[eva] Done for function strsep +[eva] string_h.c:200: check got status valid. +[eva] computing for function strsep <- main. + Called from string_h.c:201. +[eva] string_h.c:201: + function strsep: precondition 'valid_stringp' got status valid. +[eva] string_h.c:201: + function strsep, behavior valid_stringp: precondition 'valid_string_stringp' got status valid. +[eva] Done for function strsep +[eva] string_h.c:202: check got status valid. +[eva] computing for function strsep <- main. + Called from string_h.c:204. +[eva] string_h.c:204: + function strsep: precondition 'valid_stringp' got status valid. +[eva:invalid-assigns] string_h.c:204: + Completely invalid destination for assigns clause *(*(stringp + (0 ..))). + Ignoring. +[eva] Done for function strsep +[eva] string_h.c:205: check got status valid. +[eva] computing for function stpncpy <- main. + Called from string_h.c:209. +[eva] using specification for function stpncpy +[eva] string_h.c:209: + function stpncpy: precondition 'valid_string_src' got status valid. +[eva] string_h.c:209: + function stpncpy: precondition 'valid_dest' got status valid. +[eva] string_h.c:209: + function stpncpy: precondition 'separation' got status valid. +[eva] FRAMAC_SHARE/libc/string.h:627: + cannot evaluate ACSL term, unsupported ACSL construct: logic function strncmp +[eva] Done for function stpncpy +[eva] string_h.c:210: check got status valid. +[eva:alarm] string_h.c:211: Warning: check got status unknown. +[eva] computing for function stpncpy <- main. + Called from string_h.c:213. +[eva] string_h.c:213: + function stpncpy: precondition 'valid_string_src' got status valid. +[eva] string_h.c:213: + function stpncpy: precondition 'valid_dest' got status valid. +[eva] string_h.c:213: + function stpncpy: precondition 'separation' got status valid. +[eva] FRAMAC_SHARE/libc/string.h:621: + cannot evaluate ACSL term, unsupported ACSL construct: logic function strcmp +[eva] Done for function stpncpy +[eva:alarm] string_h.c:214: Warning: check got status unknown. +[eva:alarm] string_h.c:215: Warning: check got status unknown. +[eva] string_h.c:216: check got status valid. +[eva] computing for function strlcat <- main. + Called from string_h.c:220. +[eva] string_h.c:220: + function strlcat: precondition 'valid_string_src' got status valid. +[eva] string_h.c:220: + function strlcat: precondition 'valid_string_dest' got status valid. +[eva] string_h.c:220: + function strlcat: precondition 'room_nstring' got status valid. +[eva] string_h.c:220: + function strlcat: precondition 'separation' got status valid. +[eva] Done for function strlcat +[eva:alarm] string_h.c:221: Warning: check 'imprecise' got status unknown. +[eva] computing for function strlcat <- main. + Called from string_h.c:222. +[eva:alarm] string_h.c:222: Warning: + function strlcat: precondition 'valid_string_src' got status unknown. +[eva:alarm] string_h.c:222: Warning: + function strlcat: precondition 'valid_string_dest' got status unknown. +[eva] string_h.c:222: + function strlcat: precondition 'room_nstring' got status valid. +[eva] string_h.c:222: + function strlcat: precondition 'separation' got status valid. +[eva] Done for function strlcat +[eva] computing for function strlcat <- main. + Called from string_h.c:227. +[eva] string_h.c:227: + function strlcat: precondition 'valid_string_src' got status valid. +[eva] string_h.c:227: + function strlcat: precondition 'valid_string_dest' got status valid. +[eva] string_h.c:227: + function strlcat: precondition 'room_nstring' got status valid. +[eva:alarm] string_h.c:227: Warning: + function strlcat: precondition 'separation' got status invalid. +[eva] Done for function strlcat +[eva] computing for function strlcat <- main. + Called from string_h.c:231. +[eva] string_h.c:231: + function strlcat: precondition 'valid_string_src' got status valid. +[eva] string_h.c:231: + function strlcat: precondition 'valid_string_dest' got status valid. +[eva] string_h.c:231: + function strlcat: precondition 'room_nstring' got status valid. +[eva] string_h.c:231: + function strlcat: precondition 'separation' got status valid. +[eva] Done for function strlcat +[eva] computing for function strlcat <- main. + Called from string_h.c:235. +[eva] string_h.c:235: + function strlcat: precondition 'valid_string_src' got status valid. +[eva] string_h.c:235: + function strlcat: precondition 'valid_string_dest' got status valid. +[eva] string_h.c:235: + function strlcat: precondition 'room_nstring' got status valid. +[eva] string_h.c:235: + function strlcat: precondition 'separation' got status valid. +[eva] Done for function strlcat +[eva] computing for function strxfrm <- main. + Called from string_h.c:240. +[eva] using specification for function strxfrm +[eva] string_h.c:240: + function strxfrm: precondition 'valid_dest' got status valid. +[eva] string_h.c:240: + function strxfrm: precondition 'valid_string_src' got status valid. +[eva] string_h.c:240: + function strxfrm: precondition 'separation' got status valid. +[eva] Done for function strxfrm +[eva] computing for function strxfrm <- main. + Called from string_h.c:242. +[eva] string_h.c:242: + function strxfrm: precondition 'valid_dest' got status valid. +[eva] string_h.c:242: + function strxfrm: precondition 'valid_string_src' got status valid. +[eva] string_h.c:242: + function strxfrm: precondition 'separation' got status valid. +[eva] Done for function strxfrm [eva] Recording results for main [eva] Done for function main [eva] ====== VALUES COMPUTED ====== @@ -416,7 +621,7 @@ [1..5] ∈ [--..--] or UNINITIALIZED [6..9] ∈ UNINITIALIZED [eva:final-states] Values at end of function test_strcmp: - res ∈ {0} + res ∈ [--..--] [eva:final-states] Values at end of function test_strlcpy: buf[0..15] ∈ [--..--] buf2[0..5] ∈ [--..--] @@ -433,6 +638,12 @@ [1..99] ∈ [--..--] or UNINITIALIZED source[0..98] ∈ {90} [99] ∈ {0} + buf1[0] ∈ {97} + [1] ∈ {98} + [2] ∈ {0} + [3] ∈ {99} + [4] ∈ {100} + [5..7] ∈ [--..--] [eva:final-states] Values at end of function test_strncpy: src[0] ∈ {97} [1] ∈ {98} @@ -443,31 +654,31 @@ [2] ∈ UNINITIALIZED [eva:final-states] Values at end of function test_strrchr: s1 ∈ {{ "not a palyndrome" }} - p ∈ {0} + p ∈ {{ NULL ; "not a palyndrome" + [0..16] }} [eva:final-states] Values at end of function test_strstr: s ∈ {{ "aba" ; "bab" }} needle ∈ {{ "a" ; "b" }} - res ∈ {{ "aba" + {0; 1; 2; 3} ; "bab" + {0; 1; 2; 3} }} + res ∈ {{ NULL ; "aba" + {0; 1; 2; 3} ; "bab" + {0; 1; 2; 3} }} [eva:final-states] Values at end of function test_strtok: - __fc_strtok_ptr ∈ {{ "constant!" + [0..--] }} + __fc_strtok_ptr ∈ {{ "constant!" + [0..9] }} buf[0..1] ∈ [--..--] a ∈ {{ NULL ; &buf{[0], [1]} }} b ∈ {{ NULL ; &buf{[0], [1]} }} buf2[0..3] ∈ [--..--] p ∈ {{ NULL ; &buf2{[0], [1], [2], [3]} }} - q ∈ {{ NULL ; &buf2 + [0..--] }} - r ∈ {0} + q ∈ {{ NULL ; &buf2{[0], [1], [2], [3]} }} + r ∈ {{ NULL ; "constant!" + [0..9] }} [eva:final-states] Values at end of function test_strtok_r: - saveptr ∈ {{ "constant!" + [0..--] }} + saveptr ∈ {{ "constant!" + [0..9] }} buf[0..1] ∈ [--..--] a ∈ {{ NULL ; &buf{[0], [1]} }} b ∈ {{ NULL ; &buf{[0], [1]} }} buf2[0..3] ∈ [--..--] p ∈ {{ NULL ; &buf2{[0], [1], [2], [3]} }} - q ∈ {{ NULL ; &buf2 + [0..--] }} - r ∈ {0} + q ∈ {{ NULL ; &buf2{[0], [1], [2], [3]} }} + r ∈ {{ NULL ; "constant!" + [0..9] }} [eva:final-states] Values at end of function main: - __fc_strtok_ptr ∈ {{ "constant!" + [0..--] }} + __fc_strtok_ptr ∈ {{ "constant!" + [0..9] }} a ∈ [--..--] b ∈ [--..--] strsig ∈ {{ &__fc_strsignal[0] }} @@ -479,6 +690,58 @@ nul2 ∈ {{ "haystack" + [0..8] }} pdest[0..8] ∈ [--..--] or UNINITIALIZED [9] ∈ UNINITIALIZED - pend ∈ {{ &pdest[9] }} - rchr ∈ {{ NULL ; "haystack" + [--..--] }} + pend ∈ {{ &pdest + [--..--] }} + rchr ∈ {{ NULL ; "haystack" + [0..8] }} + mm_haystack[0] ∈ {73} + [1] ∈ {104} + [2] ∈ {97} + [3] ∈ {118} + [4] ∈ {101} + [5] ∈ {0} + [6] ∈ {122} + [7] ∈ {101} + [8] ∈ {114} + [9] ∈ {111} + mm_needle[0] ∈ {122} + [1] ∈ {101} + [2] ∈ {114} + [3] ∈ {111} + memm ∈ {{ NULL ; &mm_haystack + [0..9] }} + mm_needle2[0] ∈ {48} + strsep_buf[0] ∈ [--..--] + [1] ∈ {44} + [2] ∈ {98} + [3..4] ∈ {44} + [5..6] ∈ {99} + [7] ∈ {0} + strsep_p1 ∈ {{ &strsep_buf[0] }} + strsep_needle[0] ∈ {44} + [1] ∈ {46} + [2] ∈ {47} + [3] ∈ {0} + strsep_p2 ∈ {0} + strsep_null ∈ {0} + stpncpy_src ∈ {{ "12345678" }} + stpncpy_dest[0..4] ∈ [--..--] + stpncpy_res ∈ {{ &stpncpy_dest[2] }} + stpncpy_src2 ∈ {{ "12" }} + strlcat_src ∈ {{ "cat" }} + strlcat_buf[0] ∈ [--..--] + [1] ∈ {111} + [2] ∈ {103} + [3..9] ∈ [--..--] + strlcat_res ∈ [--..--] + strlcat_buf2[0] ∈ {100} + [1] ∈ {111} + [2] ∈ {103} + [3..4] ∈ [--..--] + [5] ∈ {116} + [6..9] ∈ {0} + strlcat_buf3[0] ∈ {100} + [1] ∈ {111} + [2] ∈ {103} + [3..9] ∈ [--..--] + strxfrm_src ∈ {{ "harr" }} + strxfrm_res ∈ [--..--] + strxfrm_dest[0..9] ∈ [--..--] or UNINITIALIZED __retres ∈ {0} diff --git a/tests/libc/oracle/sys_select.res.oracle b/tests/libc/oracle/sys_select.res.oracle index 15b98d5c57aeee45bf8162ce370897108e020a57..99b776af8457627f82eda3ca5fcd93eb5bdee8b7 100644 --- a/tests/libc/oracle/sys_select.res.oracle +++ b/tests/libc/oracle/sys_select.res.oracle @@ -14,7 +14,7 @@ [eva] Done for function exit [eva] sys_select.c:16: Call to builtin memset [eva] sys_select.c:16: function memset: precondition 'valid_s' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:134: +[eva] FRAMAC_SHARE/libc/string.h:151: cannot evaluate ACSL term, unsupported ACSL construct: logic function memset [eva] computing for function htonl <- main. Called from sys_select.c:18. @@ -56,7 +56,7 @@ function memcpy: precondition 'valid_src' got status valid. [eva] sys_select.c:30: function memcpy: precondition 'separation' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:101: +[eva] FRAMAC_SHARE/libc/string.h:118: cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp [eva] computing for function select <- main. Called from sys_select.c:31. diff --git a/tests/metrics/oracle/libc.json b/tests/metrics/oracle/libc.json index 912a2a97651516f781c7c5ec2cd1328614c060f7..ffe85949926260ec3ba8fc1da99a529b21720cb8 100644 --- a/tests/metrics/oracle/libc.json +++ b/tests/metrics/oracle/libc.json @@ -63,6 +63,7 @@ { "geteuid": { "calls": 0, "address_taken": false } }, { "getgid": { "calls": 0, "address_taken": false } }, { "gethostname": { "calls": 0, "address_taken": false } }, + { "getline": { "calls": 0, "address_taken": false } }, { "getopt_long": { "calls": 0, "address_taken": false } }, { "getopt_long_only": { "calls": 0, "address_taken": false } }, { "getpgid": { "calls": 0, "address_taken": false } }, @@ -129,6 +130,7 @@ { "ungetc": { "calls": 0, "address_taken": false } }, { "unlink": { "calls": 0, "address_taken": false } }, { "usleep": { "calls": 0, "address_taken": false } }, + { "vasprintf": { "calls": 0, "address_taken": false } }, { "vfprintf": { "calls": 0, "address_taken": false } }, { "vfscanf": { "calls": 0, "address_taken": false } }, { "vprintf": { "calls": 0, "address_taken": false } }, diff --git a/tests/misc/oracle/widen_hints_float.res.oracle b/tests/misc/oracle/widen_hints_float.res.oracle index 33c8638ff516aadecf80d98b897bb2e93a4285a5..f32842ede0057dd78941208b597363a31007bc88 100644 --- a/tests/misc/oracle/widen_hints_float.res.oracle +++ b/tests/misc/oracle/widen_hints_float.res.oracle @@ -13,25 +13,19 @@ Called from widen_hints_float.c:17. [eva] using specification for function Frama_C_double_interval [eva] widen_hints_float.c:17: - function Frama_C_double_interval: precondition 'finite' got status valid. -[eva] widen_hints_float.c:17: - function Frama_C_double_interval: precondition 'order' got status valid. + function Frama_C_double_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_double_interval [eva] widen_hints_float.c:20: starting to merge loop iterations [eva] computing for function Frama_C_double_interval <- parabola <- main. Called from widen_hints_float.c:24. [eva] widen_hints_float.c:24: - function Frama_C_double_interval: precondition 'finite' got status valid. -[eva] widen_hints_float.c:24: - function Frama_C_double_interval: precondition 'order' got status valid. + function Frama_C_double_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_double_interval [eva] widen_hints_float.c:27: starting to merge loop iterations [eva] computing for function Frama_C_double_interval <- parabola <- main. Called from widen_hints_float.c:31. [eva] widen_hints_float.c:31: - function Frama_C_double_interval: precondition 'finite' got status valid. -[eva] widen_hints_float.c:31: - function Frama_C_double_interval: precondition 'order' got status valid. + function Frama_C_double_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_double_interval [eva] widen_hints_float.c:33: starting to merge loop iterations [eva:alarm] widen_hints_float.c:34: Warning: @@ -46,9 +40,7 @@ [eva] computing for function Frama_C_double_interval <- trigo <- main. Called from widen_hints_float.c:42. [eva] widen_hints_float.c:42: - function Frama_C_double_interval: precondition 'finite' got status valid. -[eva] widen_hints_float.c:42: - function Frama_C_double_interval: precondition 'order' got status valid. + function Frama_C_double_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_double_interval [eva] widen_hints_float.c:42: Call to builtin sin [eva] widen_hints_float.c:42: @@ -81,9 +73,7 @@ [eva] computing for function Frama_C_double_interval <- first_order_filter <- main. Called from widen_hints_float.c:49. [eva] widen_hints_float.c:49: - function Frama_C_double_interval: precondition 'finite' got status valid. -[eva] widen_hints_float.c:49: - function Frama_C_double_interval: precondition 'order' got status valid. + function Frama_C_double_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_double_interval [eva] widen_hints_float.c:48: starting to merge loop iterations [eva] computing for function Frama_C_double_interval <- first_order_filter <- main. @@ -104,9 +94,7 @@ [eva] computing for function Frama_C_double_interval <- first_order_filter <- main. Called from widen_hints_float.c:54. [eva] widen_hints_float.c:54: - function Frama_C_double_interval: precondition 'finite' got status valid. -[eva] widen_hints_float.c:54: - function Frama_C_double_interval: precondition 'order' got status valid. + function Frama_C_double_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_double_interval [eva] widen_hints_float.c:53: starting to merge loop iterations [eva] computing for function Frama_C_double_interval <- first_order_filter <- main. diff --git a/tests/rte/oracle/value_rte.res.oracle b/tests/rte/oracle/value_rte.res.oracle index 457155617c9ff6cdc993b062dc7668cd2218b4e6..ff65907c9966bee5710af7dda4c74629c56bccfd 100644 --- a/tests/rte/oracle/value_rte.res.oracle +++ b/tests/rte/oracle/value_rte.res.oracle @@ -900,6 +900,23 @@ [ Valid ] Default behavior by Frama-C kernel. +-------------------------------------------------------------------------------- +--- Properties of Function 'getline' +-------------------------------------------------------------------------------- + +[ Extern ] Assigns (file FRAMAC_SHARE/libc/stdio.h, line 584) + Unverifiable but considered Valid. +[ Extern ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 584) + Unverifiable but considered Valid. +[ Extern ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 584) + Unverifiable but considered Valid. +[ Extern ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 584) + Unverifiable but considered Valid. +[ Extern ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 584) + Unverifiable but considered Valid. +[ Valid ] Default behavior + by Frama-C kernel. + -------------------------------------------------------------------------------- --- Properties of Function 'fmemopen' -------------------------------------------------------------------------------- @@ -908,34 +925,53 @@ Unverifiable but considered Valid. [ Extern ] Post-condition 'errno_set' Unverifiable but considered Valid. -[ Extern ] Assigns (file FRAMAC_SHARE/libc/stdio.h, line 592) +[ Extern ] Assigns (file FRAMAC_SHARE/libc/stdio.h, line 593) Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 592) +[ Extern ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 593) Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 594) +[ Extern ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 595) Unverifiable but considered Valid. [ Valid ] Default behavior by Frama-C kernel. -[ Extern ] Frees/Allocates nothing/(file FRAMAC_SHARE/libc/stdio.h, line 601) +[ Extern ] Frees/Allocates nothing/(file FRAMAC_SHARE/libc/stdio.h, line 592) Unverifiable but considered Valid. -------------------------------------------------------------------------------- --- Properties of Function 'asprintf' -------------------------------------------------------------------------------- -[ Extern ] Post-condition 'result_error_or_written_byes' - Unverifiable but considered Valid. -[ Extern ] Assigns (file FRAMAC_SHARE/libc/stdio.h, line 613) +[ Extern ] Post-condition 'result_error_or_written_bytes' Unverifiable but considered Valid. -[ Extern ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 613) +[ Extern ] Assigns (file FRAMAC_SHARE/libc/stdio.h, line 614) Unverifiable but considered Valid. [ Extern ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 614) Unverifiable but considered Valid. [ Extern ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 615) Unverifiable but considered Valid. +[ Extern ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 616) + Unverifiable but considered Valid. +[ Valid ] Default behavior + by Frama-C kernel. +[ Extern ] Frees/Allocates nothing/(file FRAMAC_SHARE/libc/stdio.h, line 613) + Unverifiable but considered Valid. + +-------------------------------------------------------------------------------- +--- Properties of Function 'vasprintf' +-------------------------------------------------------------------------------- + +[ Extern ] Post-condition 'result_error_or_written_bytes' + Unverifiable but considered Valid. +[ Extern ] Assigns (file FRAMAC_SHARE/libc/stdio.h, line 627) + Unverifiable but considered Valid. +[ Extern ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 627) + Unverifiable but considered Valid. +[ Extern ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 629) + Unverifiable but considered Valid. +[ Extern ] Froms (file FRAMAC_SHARE/libc/stdio.h, line 630) + Unverifiable but considered Valid. [ Valid ] Default behavior by Frama-C kernel. -[ Extern ] Frees/Allocates nothing/(file FRAMAC_SHARE/libc/stdio.h, line 618) +[ Extern ] Frees/Allocates nothing/(file FRAMAC_SHARE/libc/stdio.h, line 626) Unverifiable but considered Valid. -------------------------------------------------------------------------------- @@ -952,8 +988,8 @@ -------------------------------------------------------------------------------- --- Status Report Summary -------------------------------------------------------------------------------- - 77 Completely validated - 228 Considered valid + 79 Completely validated + 239 Considered valid 1 To be validated - 306 Total + 319 Total -------------------------------------------------------------------------------- diff --git a/tests/spec/oracle/clash_double_file_bts1598.res.oracle b/tests/spec/oracle/clash_double_file_bts1598.res.oracle index 19ba21bf7c8a1977344f466ea3618ae2de4535a1..882966aa87df5308c70e324f5c7c962f57b9c7ac 100644 --- a/tests/spec/oracle/clash_double_file_bts1598.res.oracle +++ b/tests/spec/oracle/clash_double_file_bts1598.res.oracle @@ -10,6 +10,7 @@ #include "setjmp.h" #include "signal.h" #include "stdarg.h" +#include "stddef.h" #include "stdint.h" #include "stdio.h" #include "stdlib.h" @@ -31,6 +32,7 @@ #include "setjmp.h" #include "signal.h" #include "stdarg.h" +#include "stddef.h" #include "stdint.h" #include "stdio.h" #include "stdlib.h" diff --git a/tests/syntax/oracle/gnu-asm-aesni.res.oracle b/tests/syntax/oracle/gnu-asm-aesni.res.oracle index 39af3eecb9821373ffafd60a810bac91b22964ea..b376a0b1bd9b560ac50964f905e5ad283eda775a 100644 --- a/tests/syntax/oracle/gnu-asm-aesni.res.oracle +++ b/tests/syntax/oracle/gnu-asm-aesni.res.oracle @@ -3,6 +3,8 @@ Clobber list contains "memory" argument. Assuming no side effects beyond those mentioned in operands. /* Generated by Frama-C */ #include "__fc_builtin.h" +#include "stddef.h" +#include "stdint.h" #include "string.h" #include "strings.h" typedef unsigned short byte; diff --git a/tests/value/oracle/empty_struct2.res.oracle b/tests/value/oracle/empty_struct2.res.oracle index cdce1d966fc0b6765aab5589c86e74749cad7965..a2215f48611a46a72f4fd4864db1ff92cc664cd7 100644 --- a/tests/value/oracle/empty_struct2.res.oracle +++ b/tests/value/oracle/empty_struct2.res.oracle @@ -15,7 +15,7 @@ function memcpy: precondition 'valid_src' got status valid. [eva] empty_struct2.c:52: function memcpy: precondition 'separation' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:101: +[eva] FRAMAC_SHARE/libc/string.h:118: cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp [eva] empty_struct2.c:57: Call to builtin memcpy [eva] empty_struct2.c:57: diff --git a/tests/value/oracle/empty_union.res.oracle b/tests/value/oracle/empty_union.res.oracle index 506cb4a62ddbce0ad78bcf556dfa6829daa1fc0f..81933e68034eb72c8d3cee4b04550b832dcbeb8b 100644 --- a/tests/value/oracle/empty_union.res.oracle +++ b/tests/value/oracle/empty_union.res.oracle @@ -22,7 +22,7 @@ function memcpy: precondition 'valid_src' got status valid. [eva] empty_union.c:72: function memcpy: precondition 'separation' got status valid. -[eva] FRAMAC_SHARE/libc/string.h:101: +[eva] FRAMAC_SHARE/libc/string.h:118: cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp [eva] empty_union.c:77: Call to builtin memcpy [eva] empty_union.c:77: diff --git a/tests/value/oracle/equality.res.oracle b/tests/value/oracle/equality.res.oracle index a581650e2a9b4a68643a2aabc31c2ea26a79bd26..f8517e976f2f7d7959e54502ae43bd7644d4dd18 100644 --- a/tests/value/oracle/equality.res.oracle +++ b/tests/value/oracle/equality.res.oracle @@ -26,16 +26,12 @@ Called from equality.c:52. [eva] using specification for function Frama_C_float_interval [eva] equality.c:52: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] equality.c:52: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva] computing for function Frama_C_float_interval <- symbolic <- main. Called from equality.c:53. [eva] equality.c:53: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] equality.c:53: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva] equality.c:57: Call to builtin sqrtf [eva] equality.c:57: function sqrtf: precondition 'finite_arg' got status valid. diff --git a/tests/value/oracle/for_loops.2.res.oracle b/tests/value/oracle/for_loops.2.res.oracle index 48442a3db265d996a49a6bd572b4c1d301d4ae5b..dee160a2e94509502fd7b9dd35fd3458a2153489 100644 --- a/tests/value/oracle/for_loops.2.res.oracle +++ b/tests/value/oracle/for_loops.2.res.oracle @@ -13,6 +13,7 @@ [eva] for_loops.c:39: Frama_C_dump_each: # cvalue: + __fc_heap_status ∈ [--..--] Frama_C_entropy_source ∈ [--..--] x ∈ {0} j ∈ UNINITIALIZED @@ -24,6 +25,7 @@ [eva] for_loops.c:41: Frama_C_dump_each: # cvalue: + __fc_heap_status ∈ [--..--] Frama_C_entropy_source ∈ [--..--] x ∈ {0} j ∈ [0..1000] diff --git a/tests/value/oracle/initialized.res.oracle b/tests/value/oracle/initialized.res.oracle index 6834f774e5734624b7a988ea43353c3c49baf858..36b383499c8174f9e2171064ccf362c7f46e6982 100644 --- a/tests/value/oracle/initialized.res.oracle +++ b/tests/value/oracle/initialized.res.oracle @@ -78,6 +78,7 @@ [eva] initialized.c:63: Frama_C_dump_each: # cvalue: + __fc_heap_status ∈ [--..--] Frama_C_entropy_source ∈ [--..--] b1 ∈ [--..--] b2 ∈ [--..--] @@ -109,6 +110,7 @@ [eva] initialized.c:68: Frama_C_dump_each: # cvalue: + __fc_heap_status ∈ [--..--] Frama_C_entropy_source ∈ [--..--] b1 ∈ [--..--] b2 ∈ [--..--] diff --git a/tests/value/oracle/logic.res.oracle b/tests/value/oracle/logic.res.oracle index c39c421b1ea9a8f94d4226c8fafd0e3846dece7b..b0a14baac33a998107dcc3a3a2f471f058be4484 100644 --- a/tests/value/oracle/logic.res.oracle +++ b/tests/value/oracle/logic.res.oracle @@ -440,9 +440,7 @@ Called from logic.c:426. [eva] using specification for function Frama_C_double_interval [eva] logic.c:426: - function Frama_C_double_interval: precondition 'finite' got status valid. -[eva] logic.c:426: - function Frama_C_double_interval: precondition 'order' got status valid. + function Frama_C_double_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_double_interval [eva] computing for function fabs <- float_abs <- main. Called from logic.c:427. @@ -451,9 +449,7 @@ [eva] computing for function Frama_C_double_interval <- float_abs <- main. Called from logic.c:429. [eva] logic.c:429: - function Frama_C_double_interval: precondition 'finite' got status valid. -[eva] logic.c:429: - function Frama_C_double_interval: precondition 'order' got status valid. + function Frama_C_double_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_double_interval [eva] computing for function fabs <- float_abs <- main. Called from logic.c:430. @@ -462,9 +458,7 @@ [eva] computing for function Frama_C_double_interval <- float_abs <- main. Called from logic.c:432. [eva] logic.c:432: - function Frama_C_double_interval: precondition 'finite' got status valid. -[eva] logic.c:432: - function Frama_C_double_interval: precondition 'order' got status valid. + function Frama_C_double_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_double_interval [eva] computing for function fabs <- float_abs <- main. Called from logic.c:433. @@ -473,9 +467,7 @@ [eva] computing for function Frama_C_double_interval <- float_abs <- main. Called from logic.c:435. [eva] logic.c:435: - function Frama_C_double_interval: precondition 'finite' got status valid. -[eva] logic.c:435: - function Frama_C_double_interval: precondition 'order' got status valid. + function Frama_C_double_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_double_interval [eva] computing for function fabs <- float_abs <- main. Called from logic.c:436. diff --git a/tests/value/oracle/octagons.res.oracle b/tests/value/oracle/octagons.res.oracle index 47d0cd15db8b4b0ea7ec7dd90c0ea8f55b1005da..4c101ae36a022f921e24cf3e5e2f4c26256a2772 100644 --- a/tests/value/oracle/octagons.res.oracle +++ b/tests/value/oracle/octagons.res.oracle @@ -303,9 +303,7 @@ Called from octagons.c:265. [eva] using specification for function Frama_C_float_interval [eva] octagons.c:265: - function Frama_C_float_interval: precondition 'finite' got status valid. -[eva] octagons.c:265: - function Frama_C_float_interval: precondition 'order' got status valid. + function Frama_C_float_interval, behavior finite: precondition 'order' got status valid. [eva] Done for function Frama_C_float_interval [eva] octagons.c:267: starting to merge loop iterations [eva] Recording results for arrays diff --git a/tests/value/oracle_apron/for_loops.2.res.oracle b/tests/value/oracle_apron/for_loops.2.res.oracle index fb7fb2445acb062e4d01ef1a4849b39cbb1067fe..500d30a498a7e434bc5e7b30b493097910c5101d 100644 --- a/tests/value/oracle_apron/for_loops.2.res.oracle +++ b/tests/value/oracle_apron/for_loops.2.res.oracle @@ -1,4 +1,4 @@ -37,39c37 +39,41c39 < [eva:alarm] for_loops.c:42: Warning: < signed overflow. assert w + T[j] ≤ 2147483647; < [eva] for_loops.c:43: Frama_C_show_each: [0..2147483647] diff --git a/tests/value/oracle_apron/octagons.res.oracle b/tests/value/oracle_apron/octagons.res.oracle index 1c3d249968164cc4519adfbf3661a2bbabe3a944..d71f51af91c0ff5b22c5a835a04b77b0ab73c822 100644 --- a/tests/value/oracle_apron/octagons.res.oracle +++ b/tests/value/oracle_apron/octagons.res.oracle @@ -1,4 +1,4 @@ -371,374c371,374 +369,372c369,372 < a ∈ [-1024..2147483647] < b ∈ [-1023..2147483647] < c ∈ [-1023..2147483647] diff --git a/tests/value/oracle_equality/octagons.res.oracle b/tests/value/oracle_equality/octagons.res.oracle index 3b1ca3ecba8569890b9c9fad8a1d7fe77e4b0226..54c83f9747f9abb7335660dbcd554f7d0bd14cb1 100644 --- a/tests/value/oracle_equality/octagons.res.oracle +++ b/tests/value/oracle_equality/octagons.res.oracle @@ -2,7 +2,7 @@ < [eva] octagons.c:54: Frama_C_show_each_unreduced_char: [-128..127], [-128..127] --- > [eva] octagons.c:54: Frama_C_show_each_unreduced_char: [-118..114], [6..127] -358c358 +356c356 < ct ∈ [--..--] or UNINITIALIZED --- > ct ∈ [6..127] or UNINITIALIZED diff --git a/tests/value/oracle_gauges/for_loops.2.res.oracle b/tests/value/oracle_gauges/for_loops.2.res.oracle index fb7fb2445acb062e4d01ef1a4849b39cbb1067fe..500d30a498a7e434bc5e7b30b493097910c5101d 100644 --- a/tests/value/oracle_gauges/for_loops.2.res.oracle +++ b/tests/value/oracle_gauges/for_loops.2.res.oracle @@ -1,4 +1,4 @@ -37,39c37 +39,41c39 < [eva:alarm] for_loops.c:42: Warning: < signed overflow. assert w + T[j] ≤ 2147483647; < [eva] for_loops.c:43: Frama_C_show_each: [0..2147483647] diff --git a/tests/value/oracle_gauges/octagons.res.oracle b/tests/value/oracle_gauges/octagons.res.oracle index f07f5b7d9bc184727b1db9fd272ec66d12fae701..0789abe608fddb8cdbcbbd076f370c319f45db2c 100644 --- a/tests/value/oracle_gauges/octagons.res.oracle +++ b/tests/value/oracle_gauges/octagons.res.oracle @@ -11,7 +11,7 @@ < [eva] octagons.c:143: Frama_C_show_each_imprecise: [-2147483648..1] --- > [eva] octagons.c:143: Frama_C_show_each_imprecise: [-2468..1] -371,374c363,366 +369,372c361,364 < a ∈ [-1024..2147483647] < b ∈ [-1023..2147483647] < c ∈ [-1023..2147483647] @@ -21,7 +21,7 @@ > b ∈ [-181..1867] > c ∈ [-602..1446] > d ∈ [-190..1874] -376c368 +374c366 < d2 ∈ [-2147483648..1] --- > d2 ∈ [-2468..1] diff --git a/tests/value/oracle_octagon/equality.res.oracle b/tests/value/oracle_octagon/equality.res.oracle index 24564fbdf1425ff856a02a0ec9fe194fbaa53932..6937d5f393ff899cbc695ba61276e91b7a899374 100644 --- a/tests/value/oracle_octagon/equality.res.oracle +++ b/tests/value/oracle_octagon/equality.res.oracle @@ -1,8 +1,8 @@ -60c60 +56c56 < [eva] equality.c:99: Frama_C_show_each_10_19: [10..42] --- > [eva] equality.c:99: Frama_C_show_each_10_19: [10..19] -75,76c75,76 +71,72c71,72 < y ∈ [0..42] or UNINITIALIZED < w ∈ [0..42] or UNINITIALIZED --- diff --git a/tests/value/oracle_symblocs/equality.res.oracle b/tests/value/oracle_symblocs/equality.res.oracle index 88c68949a08259045c8739cc863aeda42c44d155..392e4201ed4eee2a6e8c18ffa0e37716ac1f8190 100644 --- a/tests/value/oracle_symblocs/equality.res.oracle +++ b/tests/value/oracle_symblocs/equality.res.oracle @@ -1,14 +1,14 @@ -42,43c42,43 +38,39c38,39 < [eva:alarm] equality.c:57: Warning: < function sqrtf: precondition 'arg_positive' got status unknown. --- > [eva] equality.c:57: > function sqrtf: precondition 'arg_positive' got status valid. -60c60 +56c56 < [eva] equality.c:99: Frama_C_show_each_10_19: [10..42] --- > [eva] equality.c:99: Frama_C_show_each_10_19: [10..19] -87c87 +83c83 < res ∈ [-0. .. 3.16227769852] or UNINITIALIZED --- > res ∈ [3.74339206651e-23 .. 3.16227769852] or UNINITIALIZED