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 c69d39414c1922c5e4d3bcdb9c8ff9d1f05e98e5..a569876861fcafa65028face7c822c4245bb6337 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 @@ -4,6 +4,8 @@ [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] [Valid] Goal inconditional_exit_assigns_normal (Cfg) (Unreachable) +[wp] [Valid] Goal inconditional_exit_ensures (Cfg) (Unreachable) [wp] Warning: Missing RTE guards ------------------------------------------------------------ Function inconditional_exit @@ -14,22 +16,7 @@ Prove: true. ------------------------------------------------------------ -Goal Post-condition (file issue-684-exit.c, line 4) in 'inconditional_exit': -Prove: true. - ------------------------------------------------------------- - Goal Exit-condition (file issue-684-exit.c, line 3) in 'inconditional_exit': Prove: true. ------------------------------------------------------------ - -Goal Assigns nothing in 'inconditional_exit': -Prove: true. - ------------------------------------------------------------- - -Goal Assigns nothing in 'inconditional_exit': -Prove: true. - ------------------------------------------------------------- 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 f78ed5d813b1ab1745fbb6f7e8a2eccd974536a0..4a867b0febd745bbf10801c5b394ac013d89f035 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 @@ -4,16 +4,16 @@ [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] [Valid] Goal inconditional_exit_assigns_normal (Cfg) (Unreachable) +[wp] [Valid] Goal inconditional_exit_ensures (Cfg) (Unreachable) [wp] Warning: Missing RTE guards -[wp] 5 goals scheduled +[wp] 2 goals scheduled [wp] [Valid] typed_inconditional_exit_terminates (Qed) -[wp] [Valid] typed_inconditional_exit_ensures (Qed) [wp] [Valid] typed_inconditional_exit_exits (Qed) -[wp] [Valid] typed_inconditional_exit_assigns_exit (Qed) -[wp] [Valid] typed_inconditional_exit_assigns_normal (Qed) -[wp] Proved goals: 5 / 5 - Qed: 5 +[wp] Proved goals: 4 / 4 + Unreachable: 2 + Qed: 2 ------------------------------------------------------------ Functions WP Alt-Ergo Total Success - inconditional_exit 5 - 5 100% + inconditional_exit 2 - 2 100% ------------------------------------------------------------ diff --git a/tests/libc/oracle/argz_c.res.oracle b/tests/libc/oracle/argz_c.res.oracle index 5e0b1929b42c7aa9d766a2fbcef20238c149fbcb..21fe8e24b8a38363435af2d16775a8a65e0eb262 100644 --- a/tests/libc/oracle/argz_c.res.oracle +++ b/tests/libc/oracle/argz_c.res.oracle @@ -87,10 +87,6 @@ [eva] Done for function stpcpy [eva] Recording results for argz_create [eva] Done for function argz_create -[eva] computing for function exit <- main. - Called from argz_c.c:21. -[eva] using specification for function exit -[eva] Done for function exit [eva] argz_c.c:22: assertion got status valid. [eva] argz_c.c:23: Call to builtin free [eva] argz_c.c:23: function free: precondition 'freeable' got status valid. @@ -104,9 +100,6 @@ allocating variable __malloc_argz_create_sep_l208 [eva] Recording results for argz_create_sep [eva] Done for function argz_create_sep -[eva] computing for function exit <- main. - Called from argz_c.c:26. -[eva] Done for function exit [eva] computing for function __FC_assert <- main. Called from argz_c.c:27. [eva] using specification for function __FC_assert @@ -152,9 +145,6 @@ [eva] Done for function argz_append [eva] Recording results for argz_add [eva] Done for function argz_add -[eva] computing for function exit <- main. - Called from argz_c.c:31. -[eva] Done for function exit [eva] computing for function __FC_assert <- main. Called from argz_c.c:32. [eva] argz_c.c:32: @@ -172,9 +162,6 @@ allocating variable __realloc_argz_add_sep_l299 [eva] Recording results for argz_add_sep [eva] Done for function argz_add_sep -[eva] computing for function exit <- main. - Called from argz_c.c:34. -[eva] Done for function exit [eva] computing for function __FC_assert <- main. Called from argz_c.c:35. [eva] argz_c.c:35: @@ -203,9 +190,6 @@ [eva] FRAMAC_SHARE/libc/argz.c:279: Call to builtin memcpy [eva] Recording results for argz_append [eva] Done for function argz_append -[eva] computing for function exit <- main. - Called from argz_c.c:39. -[eva] Done for function exit [eva] computing for function __FC_assert <- main. Called from argz_c.c:40. [eva] argz_c.c:40: @@ -224,9 +208,6 @@ [eva] Done for function argz_append [eva] Recording results for argz_add [eva] Done for function argz_add -[eva] computing for function exit <- main. - Called from argz_c.c:42. -[eva] Done for function exit [eva] computing for function __FC_assert <- main. Called from argz_c.c:43. [eva] argz_c.c:43: @@ -499,9 +480,6 @@ [eva] FRAMAC_SHARE/libc/argz.c:126: Call to builtin free [eva] Recording results for argz_replace [eva] Done for function argz_replace -[eva] computing for function exit <- main. - Called from argz_c.c:46. -[eva] Done for function exit [eva] computing for function __FC_assert <- main. Called from argz_c.c:47. [eva] argz_c.c:47: @@ -601,9 +579,6 @@ 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. - Called from argz_c.c:65. -[eva] Done for function exit [eva] computing for function __FC_assert <- main. Called from argz_c.c:66. [eva] argz_c.c:66: @@ -628,6 +603,31 @@ [eva] Done for function argz_insert [eva] computing for function exit <- main. Called from argz_c.c:68. +[eva] using specification for function exit +[eva] Done for function exit +[eva] computing for function exit <- main. + Called from argz_c.c:65. +[eva] Done for function exit +[eva] computing for function exit <- main. + Called from argz_c.c:46. +[eva] Done for function exit +[eva] computing for function exit <- main. + Called from argz_c.c:42. +[eva] Done for function exit +[eva] computing for function exit <- main. + Called from argz_c.c:39. +[eva] Done for function exit +[eva] computing for function exit <- main. + Called from argz_c.c:34. +[eva] Done for function exit +[eva] computing for function exit <- main. + Called from argz_c.c:31. +[eva] Done for function exit +[eva] computing for function exit <- main. + Called from argz_c.c:26. +[eva] Done for function exit +[eva] computing for function exit <- main. + Called from argz_c.c:21. [eva] Done for function exit [eva] computing for function __FC_assert <- main. Called from argz_c.c:69. diff --git a/tests/libc/oracle/netdb_c.res.oracle b/tests/libc/oracle/netdb_c.res.oracle index 376bef4479ffc054eed551a7d9ed04e68ccf1524..1893865c64c11adc5ee8f5cddf57a0522ade6a2f 100644 --- a/tests/libc/oracle/netdb_c.res.oracle +++ b/tests/libc/oracle/netdb_c.res.oracle @@ -161,10 +161,6 @@ [eva] netdb_c.c:36: function fprintf_va_1: precondition valid_read_string(format) got status valid. [eva] Done for function fprintf_va_1 -[eva] computing for function exit <- main. - Called from netdb_c.c:37. -[eva] using specification for function exit -[eva] Done for function exit [eva] computing for function socket <- main. Called from netdb_c.c:46. [eva] using specification for function socket @@ -189,6 +185,10 @@ [eva] Done for function fprintf_va_2 [eva] computing for function exit <- main. Called from netdb_c.c:58. +[eva] using specification for function exit +[eva] Done for function exit +[eva] computing for function exit <- main. + Called from netdb_c.c:37. [eva] Done for function exit [eva] computing for function freeaddrinfo <- main. Called from netdb_c.c:61. diff --git a/tests/libc/oracle/search_h.res.oracle b/tests/libc/oracle/search_h.res.oracle index 1737610be446fafaaf03fb7a1da4ca61e9d3426c..bb8778da14a3fe599f634d8e2e037ff49d23d30e 100644 --- a/tests/libc/oracle/search_h.res.oracle +++ b/tests/libc/oracle/search_h.res.oracle @@ -44,6 +44,8 @@ [eva:invalid-assigns] search_h.c:34: Completely invalid destination for assigns clause *compar. Ignoring. [eva] Done for function tsearch +[eva:alarm] search_h.c:40: Warning: + out of bounds read. assert \valid_read((struct element **)node); [eva] computing for function fprintf_va_1 <- main. Called from search_h.c:36. [eva] using specification for function fprintf_va_1 @@ -53,8 +55,6 @@ Called from search_h.c:38. [eva] using specification for function exit [eva] Done for function exit -[eva:alarm] search_h.c:40: Warning: - out of bounds read. assert \valid_read((struct element **)node); [kernel:annot:missing-spec] search_h.c:46: Warning: Neither code nor specification for function twalk, generating default assigns. See -generated-spec-* options for more info diff --git a/tests/libc/oracle/socket_h.res.oracle b/tests/libc/oracle/socket_h.res.oracle index f122611b2afb78badbf78ebbc3f05e36b703268f..d19a86d1f49df0b6281ef306b0e3f9ace0bc4edf 100644 --- a/tests/libc/oracle/socket_h.res.oracle +++ b/tests/libc/oracle/socket_h.res.oracle @@ -8,10 +8,6 @@ Called from socket_h.c:7. [eva] using specification for function socket [eva] Done for function socket -[eva] computing for function exit <- main. - Called from socket_h.c:8. -[eva] using specification for function exit -[eva] Done for function exit [eva] computing for function inet_addr <- main. Called from socket_h.c:11. [eva] using specification for function inet_addr @@ -32,6 +28,10 @@ [eva] Done for function connect [eva] computing for function exit <- main. Called from socket_h.c:14. +[eva] using specification for function exit +[eva] Done for function exit +[eva] computing for function exit <- main. + Called from socket_h.c:8. [eva] Done for function exit [eva] computing for function getsockopt <- main. Called from socket_h.c:18. diff --git a/tests/libc/oracle/spawn_h.res.oracle b/tests/libc/oracle/spawn_h.res.oracle index 45ebf20af8220b7e3871dddd1592c92f74c840d9..c5b9d81f0e7c1dde82f9da28885f425a9f42d3fe 100644 --- a/tests/libc/oracle/spawn_h.res.oracle +++ b/tests/libc/oracle/spawn_h.res.oracle @@ -18,16 +18,6 @@ Called from spawn_h.c:43. [eva] using specification for function posix_spawn_file_actions_init [eva] Done for function posix_spawn_file_actions_init -[eva] computing for function perror <- main. - Called from spawn_h.c:45. -[eva] using specification for function perror -[eva] spawn_h.c:45: - function perror: precondition 'valid_string_s' got status valid. -[eva] Done for function perror -[eva] computing for function exit <- main. - Called from spawn_h.c:45. -[eva] using specification for function exit -[eva] Done for function exit [kernel:annot:missing-spec] spawn_h.c:47: Warning: Neither code nor specification for function posix_spawn_file_actions_addclose, generating default assigns. See -generated-spec-* options for more info @@ -35,14 +25,6 @@ Called from spawn_h.c:47. [eva] using specification for function posix_spawn_file_actions_addclose [eva] Done for function posix_spawn_file_actions_addclose -[eva] computing for function perror <- main. - Called from spawn_h.c:50. -[eva] spawn_h.c:50: - function perror: precondition 'valid_string_s' got status valid. -[eva] Done for function perror -[eva] computing for function exit <- main. - Called from spawn_h.c:50. -[eva] Done for function exit [kernel:annot:missing-spec] spawn_h.c:60: Warning: Neither code nor specification for function posix_spawnattr_init, generating default assigns. See -generated-spec-* options for more info @@ -50,14 +32,6 @@ Called from spawn_h.c:60. [eva] using specification for function posix_spawnattr_init [eva] Done for function posix_spawnattr_init -[eva] computing for function perror <- main. - Called from spawn_h.c:62. -[eva] spawn_h.c:62: - function perror: precondition 'valid_string_s' got status valid. -[eva] Done for function perror -[eva] computing for function exit <- main. - Called from spawn_h.c:62. -[eva] Done for function exit [kernel:annot:missing-spec] spawn_h.c:63: Warning: Neither code nor specification for function posix_spawnattr_setflags, generating default assigns. See -generated-spec-* options for more info @@ -65,14 +39,6 @@ Called from spawn_h.c:63. [eva] using specification for function posix_spawnattr_setflags [eva] Done for function posix_spawnattr_setflags -[eva] computing for function perror <- main. - Called from spawn_h.c:65. -[eva] spawn_h.c:65: - function perror: precondition 'valid_string_s' got status valid. -[eva] Done for function perror -[eva] computing for function exit <- main. - Called from spawn_h.c:65. -[eva] Done for function exit [eva] computing for function sigfillset <- main. Called from spawn_h.c:67. [eva] using specification for function sigfillset @@ -86,14 +52,6 @@ Called from spawn_h.c:68. [eva] using specification for function posix_spawnattr_setsigmask [eva] Done for function posix_spawnattr_setsigmask -[eva] computing for function perror <- main. - Called from spawn_h.c:70. -[eva] spawn_h.c:70: - function perror: precondition 'valid_string_s' got status valid. -[eva] Done for function perror -[eva] computing for function exit <- main. - Called from spawn_h.c:70. -[eva] Done for function exit [eva] spawn_h.c:36: starting to merge loop iterations [eva] computing for function getopt <- main. Called from spawn_h.c:36. @@ -101,39 +59,15 @@ [eva] computing for function posix_spawn_file_actions_init <- main. Called from spawn_h.c:43. [eva] Done for function posix_spawn_file_actions_init -[eva] computing for function perror <- main. - Called from spawn_h.c:45. -[eva] Done for function perror -[eva] computing for function exit <- main. - Called from spawn_h.c:45. -[eva] Done for function exit [eva] computing for function posix_spawn_file_actions_addclose <- main. Called from spawn_h.c:47. [eva] Done for function posix_spawn_file_actions_addclose -[eva] computing for function perror <- main. - Called from spawn_h.c:50. -[eva] Done for function perror -[eva] computing for function exit <- main. - Called from spawn_h.c:50. -[eva] Done for function exit [eva] computing for function posix_spawnattr_init <- main. Called from spawn_h.c:60. [eva] Done for function posix_spawnattr_init -[eva] computing for function perror <- main. - Called from spawn_h.c:62. -[eva] Done for function perror -[eva] computing for function exit <- main. - Called from spawn_h.c:62. -[eva] Done for function exit [eva] computing for function posix_spawnattr_setflags <- main. Called from spawn_h.c:63. [eva] Done for function posix_spawnattr_setflags -[eva] computing for function perror <- main. - Called from spawn_h.c:65. -[eva] Done for function perror -[eva] computing for function exit <- main. - Called from spawn_h.c:65. -[eva] Done for function exit [eva] computing for function sigfillset <- main. Called from spawn_h.c:67. [eva] Done for function sigfillset @@ -141,11 +75,31 @@ Called from spawn_h.c:68. [eva] Done for function posix_spawnattr_setsigmask [eva] computing for function perror <- main. - Called from spawn_h.c:70. + Called from spawn_h.c:45. +[eva] using specification for function perror +[eva] spawn_h.c:45: + function perror: precondition 'valid_string_s' got status valid. [eva] Done for function perror -[eva] computing for function exit <- main. +[eva] computing for function perror <- main. + Called from spawn_h.c:50. +[eva] spawn_h.c:50: + function perror: precondition 'valid_string_s' got status valid. +[eva] Done for function perror +[eva] computing for function perror <- main. + Called from spawn_h.c:62. +[eva] spawn_h.c:62: + function perror: precondition 'valid_string_s' got status valid. +[eva] Done for function perror +[eva] computing for function perror <- main. + Called from spawn_h.c:65. +[eva] spawn_h.c:65: + function perror: precondition 'valid_string_s' got status valid. +[eva] Done for function perror +[eva] computing for function perror <- main. Called from spawn_h.c:70. -[eva] Done for function exit +[eva] spawn_h.c:70: + function perror: precondition 'valid_string_s' got status valid. +[eva] Done for function perror [eva:alarm] spawn_h.c:82: Warning: out of bounds read. assert \valid_read(argv + optind); [eva:garbled-mix:write] spawn_h.c:82: @@ -162,9 +116,6 @@ [eva] spawn_h.c:85: function perror: precondition 'valid_string_s' got status valid. [eva] Done for function perror -[eva] computing for function exit <- main. - Called from spawn_h.c:85. -[eva] Done for function exit [kernel:annot:missing-spec] spawn_h.c:90: Warning: Neither code nor specification for function posix_spawnattr_destroy, generating default assigns. See -generated-spec-* options for more info @@ -177,9 +128,6 @@ [eva] spawn_h.c:92: function perror: precondition 'valid_string_s' got status valid. [eva] Done for function perror -[eva] computing for function exit <- main. - Called from spawn_h.c:92. -[eva] Done for function exit [kernel:annot:missing-spec] spawn_h.c:96: Warning: Neither code nor specification for function posix_spawn_file_actions_destroy, generating default assigns. See -generated-spec-* options for more info @@ -192,9 +140,6 @@ [eva] spawn_h.c:98: function perror: precondition 'valid_string_s' got status valid. [eva] Done for function perror -[eva] computing for function exit <- main. - Called from spawn_h.c:98. -[eva] Done for function exit [eva:alarm] spawn_h.c:101: Warning: accessing uninitialized left-value. assert \initialized(&child_pid); [eva] computing for function printf_va_1 <- main. @@ -208,14 +153,6 @@ [eva] spawn_h.c:106: function waitpid, behavior stat_loc_non_null: precondition 'valid_stat_loc' got status valid. [eva] Done for function waitpid -[eva] computing for function perror <- main. - Called from spawn_h.c:108. -[eva] spawn_h.c:108: - function perror: precondition 'valid_string_s' got status valid. -[eva] Done for function perror -[eva] computing for function exit <- main. - Called from spawn_h.c:108. -[eva] Done for function exit [eva] computing for function printf_va_2 <- main. Called from spawn_h.c:110. [eva] using specification for function printf_va_2 @@ -247,9 +184,42 @@ [eva] computing for function waitpid <- main. Called from spawn_h.c:106. [eva] Done for function waitpid +[eva] computing for function perror <- main. + Called from spawn_h.c:108. +[eva] spawn_h.c:108: + function perror: precondition 'valid_string_s' got status valid. +[eva] Done for function perror +[eva] computing for function exit <- main. + Called from spawn_h.c:108. +[eva] using specification for function exit +[eva] Done for function exit [eva] computing for function exit <- main. Called from spawn_h.c:122. [eva] Done for function exit +[eva] computing for function exit <- main. + Called from spawn_h.c:98. +[eva] Done for function exit +[eva] computing for function exit <- main. + Called from spawn_h.c:92. +[eva] Done for function exit +[eva] computing for function exit <- main. + Called from spawn_h.c:85. +[eva] Done for function exit +[eva] computing for function exit <- main. + Called from spawn_h.c:70. +[eva] Done for function exit +[eva] computing for function exit <- main. + Called from spawn_h.c:65. +[eva] Done for function exit +[eva] computing for function exit <- main. + Called from spawn_h.c:62. +[eva] Done for function exit +[eva] computing for function exit <- main. + Called from spawn_h.c:50. +[eva] Done for function exit +[eva] computing for function exit <- main. + Called from spawn_h.c:45. +[eva] Done for function exit [eva] Recording results for main [eva] Done for function main [eva:garbled-mix:summary] diff --git a/tests/libc/oracle/stdnoreturn_h.res.oracle b/tests/libc/oracle/stdnoreturn_h.res.oracle index 2ffebd78e3f0208e367ade7e64dd7dbed4b28371..84361dfd8110ebe400ee64166cb843ebdae1822f 100644 --- a/tests/libc/oracle/stdnoreturn_h.res.oracle +++ b/tests/libc/oracle/stdnoreturn_h.res.oracle @@ -4,14 +4,14 @@ [eva] Initial state computed [eva:initial-state] Values of globals at initialization v ∈ [--..--] -[eva] computing for function f <- main. - Called from stdnoreturn_h.c:18. -[eva] Recording results for f -[eva] Done for function f [eva] computing for function g <- main. Called from stdnoreturn_h.c:19. [eva] Recording results for g [eva] Done for function g +[eva] computing for function f <- main. + Called from stdnoreturn_h.c:18. +[eva] Recording results for f +[eva] Done for function f [eva] Recording results for main [eva] Done for function main [eva] ====== VALUES COMPUTED ====== diff --git a/tests/libc/oracle/sys_select.res.oracle b/tests/libc/oracle/sys_select.res.oracle index 99b776af8457627f82eda3ca5fcd93eb5bdee8b7..17aef2c88e155c5ed0021923305a8e5d39e00f23 100644 --- a/tests/libc/oracle/sys_select.res.oracle +++ b/tests/libc/oracle/sys_select.res.oracle @@ -8,10 +8,6 @@ Called from sys_select.c:9. [eva] using specification for function socket [eva] Done for function socket -[eva] computing for function exit <- main. - Called from sys_select.c:10. -[eva] using specification for function exit -[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:151: @@ -34,6 +30,10 @@ [eva] Done for function bind [eva] computing for function exit <- main. Called from sys_select.c:21. +[eva] using specification for function exit +[eva] Done for function exit +[eva] computing for function exit <- main. + Called from sys_select.c:10. [eva] Done for function exit [eva] computing for function FD_ZERO <- main. Called from sys_select.c:22. diff --git a/tests/misc/oracle/interpreted_automata_dataflow_backward.dot b/tests/misc/oracle/interpreted_automata_dataflow_backward.dot index 99f06648f6e429f3618551c663ac9fd6b3d33fcf..f51d2851fbc0cb51fbdb32e0edbc5a74d41909e9 100644 --- a/tests/misc/oracle/interpreted_automata_dataflow_backward.dot +++ b/tests/misc/oracle/interpreted_automata_dataflow_backward.dot @@ -5,72 +5,72 @@ digraph G { cp2 [label=< >, ]; cp3 [label=< >, ]; cp4 [label=<x, a, i>, ]; - cp5 [label=<x>, ]; + cp5 [label=<x, a>, ]; cp6 [label=<x>, ]; cp7 [label=<x>, ]; - cp8 [label=<x>, ]; + cp8 [label=<x, a>, ]; cp9 [label=< >, ]; - cp10 [label=<x, y>, ]; - cp11 [label=< >, ]; - cp12 [label=<x, a, i>, ]; - cp13 [label=< >, ]; - cp14 [label=<x, a, i>, ]; + cp10 [label=<x>, ]; + cp11 [label=<x>, ]; + cp12 [label=< >, ]; + cp13 [label=<x, a, i>, ]; + cp14 [label=< >, ]; cp15 [label=<x>, ]; - cp16 [label=<x, a>, ]; + cp16 [label=< >, ]; cp17 [label=<x>, ]; - cp18 [label=< >, ]; + cp18 [label=<x>, ]; cp19 [label=< >, ]; cp20 [label=<x, a, i>, ]; cp21 [label=<x, a, i>, ]; - cp22 [label=<x, y>, ]; - cp23 [label=<x, a, i>, ]; - cp24 [label=<x, y>, ]; - cp25 [label=<x>, ]; + cp22 [label=<x, a, i>, ]; + cp23 [label=<x, y>, ]; + cp24 [label=<x, a, i>, shape=invtriangle, ]; + cp25 [label=<x, y>, ]; cp26 [label=<x>, ]; - cp27 [label=<x, a, i>, ]; - cp28 [label=<x, a, i>, shape=invtriangle, ]; - cp29 [label=<x>, ]; + cp27 [label=<x>, ]; + cp28 [label=<x, a, i>, ]; + cp29 [label=<x, a, i>, ]; cp30 [label=<x, a, i>, ]; - cp31 [label=<x, a>, ]; + cp31 [label=<x, a, i>, ]; cp32 [label=<x>, ]; - cp33 [label=<x, a, i>, ]; + cp33 [label=<x, y>, ]; - subgraph cluster_1 { cp33;cp30;cp28;cp27;cp23;cp21;cp20;cp12;cp4;cp1; + subgraph cluster_1 { cp31;cp30;cp29;cp28;cp24;cp22;cp21;cp20;cp13;cp4; }; - cp1 -> cp28 [constraint=false, label=<Enter >, ]; - cp2 -> cp19 [label=<Exit >, ]; - cp3 -> cp9 [label=<Enter >, ]; - cp4 -> cp20 [label=<a ++;>, ]; - cp5 -> cp8 [label=<Exit i>, ]; - cp6 -> cp8 [label=<Exit >, ]; - cp7 -> cp15 [label=< >, ]; - cp8 -> cp3 [label=<x != 3>, ]; - cp8 -> cp11 [label=<!(x != 3)>, ]; - cp9 -> cp2 [label=<x = 3;>, ]; - cp10 -> cp24 [label=<y *= 2;>, ]; - cp11 -> cp19 [label=< >, ]; - cp12 -> cp21 [label=<Enter b, c>, ]; - cp14 -> cp1 [label=< >, ]; - cp15 -> cp25 [label=<Exit i>, ]; - cp16 -> cp14 [label=<int i = 0;>, ]; - cp17 -> cp29 [label=<Enter y, z, w, a>, ]; - cp18 -> cp13 [label=<Exit y, z, w, a>, ]; - cp19 -> cp18 [label=<return>, ]; - cp20 -> cp33 [label=<Exit b, c>, ]; - cp21 -> cp30 [label=<int b = 3;>, ]; - cp22 -> cp32 [label=<int w = y + x;>, ]; - cp23 -> cp1 [label=<Exit >, ]; - cp24 -> cp22 [label=<int z = y + 1;>, ]; - cp25 -> cp6 [label=<Exit >, ]; - cp26 -> cp7 [label=<Enter >, ]; - cp27 -> cp12 [label=< >, ]; - cp28 -> cp27 [label=<i < 10>, ]; - cp28 -> cp26 [label=<!(i < 10)>, ]; - cp29 -> cp10 [label=<int y = 3;>, ]; - cp30 -> cp4 [label=<int c = i + 1;>, ]; - cp31 -> cp16 [label=<Enter i>, ]; - cp32 -> cp31 [label=<int a = 1;>, ]; - cp33 -> cp23 [label=<i ++;>, ]; + cp1 -> cp30 [label=< >, ]; + cp2 -> cp19 [label=<x = 3;>, ]; + cp3 -> cp16 [label=<return>, ]; + cp4 -> cp20 [label=<int c = i + 1;>, ]; + cp5 -> cp1 [label=<int i = 0;>, ]; + cp6 -> cp10 [label=<Exit >, ]; + cp7 -> cp26 [label=<Enter >, ]; + cp8 -> cp5 [label=<Enter i>, ]; + cp9 -> cp3 [label=< >, ]; + cp10 -> cp17 [label=<Exit >, ]; + cp11 -> cp25 [label=<int y = 3;>, ]; + cp12 -> cp2 [label=<Enter >, ]; + cp13 -> cp30 [label=<Exit >, ]; + cp15 -> cp17 [label=<Exit i>, ]; + cp16 -> cp14 [label=<Exit y, z, w, a>, ]; + cp17 -> cp12 [label=<x != 3>, ]; + cp17 -> cp9 [label=<!(x != 3)>, ]; + cp18 -> cp11 [label=<Enter y, z, w, a>, ]; + cp19 -> cp3 [label=<Exit >, ]; + cp20 -> cp31 [label=<a ++;>, ]; + cp21 -> cp4 [label=<int b = 3;>, ]; + cp22 -> cp13 [label=<i ++;>, ]; + cp23 -> cp33 [label=<int z = y + 1;>, ]; + cp24 -> cp28 [label=<i < 10>, ]; + cp24 -> cp7 [label=<!(i < 10)>, ]; + cp25 -> cp23 [label=<y *= 2;>, ]; + cp26 -> cp27 [label=< >, ]; + cp27 -> cp6 [label=<Exit i>, ]; + cp28 -> cp29 [label=< >, ]; + cp29 -> cp21 [label=<Enter b, c>, ]; + cp30 -> cp24 [constraint=false, label=<Enter >, ]; + cp31 -> cp22 [label=<Exit b, c>, ]; + cp32 -> cp8 [label=<int a = 1;>, ]; + cp33 -> cp32 [label=<int w = y + x;>, ]; } diff --git a/tests/misc/oracle/interpreted_automata_dataflow_forward.dot b/tests/misc/oracle/interpreted_automata_dataflow_forward.dot index 57834ef539166eac084da62b4a8825b7b2e741d7..5bd76740068fd18bfee8b58df814c6e95ef6d59c 100644 --- a/tests/misc/oracle/interpreted_automata_dataflow_forward.dot +++ b/tests/misc/oracle/interpreted_automata_dataflow_forward.dot @@ -1,76 +1,76 @@ digraph G { fontname="fixed"; node [shape=circle, ]; - cp1 [label=<y: 6<br />z: 7>, shape=invtriangle, ]; - cp2 [label=<x: 3<br />y: 6<br />z: 7>, ]; - cp3 [label=<y: 6<br />z: 7>, ]; + cp1 [label=<y: 6<br />z: 7<br />a: 1<br />i: 0>, ]; + cp2 [label=<y: 6<br />z: 7>, ]; + cp3 [label=<x: 3<br />y: 6<br />z: 7>, ]; cp4 [label=<y: 6<br />z: 7<br />b: 3>, ]; - cp5 [label=<⊥>, style="dashed", ]; + cp5 [label=<y: 6<br />z: 7<br />a: 1>, ]; cp6 [label=<y: 6<br />z: 7>, ]; cp7 [label=<y: 6<br />z: 7>, ]; - cp8 [label=<y: 6<br />z: 7>, ]; - cp9 [label=<y: 6<br />z: 7>, ]; - cp10 [label=<y: 3>, ]; - cp11 [label=<x: 3<br />y: 6<br />z: 7>, ]; + cp8 [label=<y: 6<br />z: 7<br />a: 1>, ]; + cp9 [label=<x: 3<br />y: 6<br />z: 7>, ]; + cp10 [label=<y: 6<br />z: 7>, ]; + cp11 [label=< >, ]; cp12 [label=<y: 6<br />z: 7>, ]; - cp13 [label=<x: 3<br />y: 6<br />z: 7>, ]; - cp14 [label=<y: 6<br />z: 7<br />a: 1<br />i: 0>, ]; - cp15 [label=<y: 6<br />z: 7>, ]; - cp16 [label=<y: 6<br />z: 7<br />a: 1>, ]; - cp17 [label=< >, ]; - cp18 [label=<x: 3<br />y: 6<br />z: 7>, ]; + cp13 [label=<y: 6<br />z: 7<br />b: 3>, ]; + cp14 [label=<x: 3<br />y: 6<br />z: 7>, ]; + cp15 [label=<⊥>, style="dashed", ]; + cp16 [label=<x: 3<br />y: 6<br />z: 7>, ]; + cp17 [label=<y: 6<br />z: 7>, ]; + cp18 [label=< >, ]; cp19 [label=<x: 3<br />y: 6<br />z: 7>, ]; cp20 [label=<y: 6<br />z: 7<br />b: 3>, ]; cp21 [label=<y: 6<br />z: 7>, ]; - cp22 [label=<y: 6<br />z: 7>, ]; - cp23 [label=<y: 6<br />z: 7<br />b: 3>, ]; - cp24 [label=<y: 6>, ]; - cp25 [label=<y: 6<br />z: 7>, ]; + cp22 [label=<y: 6<br />z: 7<br />b: 3>, ]; + cp23 [label=<y: 6>, ]; + cp24 [label=<y: 6<br />z: 7>, ]; + cp25 [label=<y: 3>, ]; cp26 [label=<y: 6<br />z: 7>, ]; cp27 [label=<y: 6<br />z: 7>, ]; cp28 [label=<y: 6<br />z: 7>, ]; - cp29 [label=< >, ]; - cp30 [label=<y: 6<br />z: 7<br />b: 3>, ]; - cp31 [label=<y: 6<br />z: 7<br />a: 1>, ]; + cp29 [label=<y: 6<br />z: 7>, ]; + cp30 [label=<y: 6<br />z: 7>, shape=invtriangle, ]; + cp31 [label=<y: 6<br />z: 7<br />b: 3>, ]; cp32 [label=<y: 6<br />z: 7>, ]; - cp33 [label=<y: 6<br />z: 7<br />b: 3>, ]; + cp33 [label=<y: 6<br />z: 7>, ]; - subgraph cluster_1 { cp33;cp30;cp28;cp27;cp23;cp21;cp20;cp12;cp4;cp1; + subgraph cluster_1 { cp31;cp30;cp29;cp28;cp24;cp22;cp21;cp20;cp13;cp4; }; - cp1 -> cp28 [label=<Enter >, ]; - cp2 -> cp19 [label=<Exit >, ]; - cp3 -> cp9 [label=<Enter >, ]; - cp4 -> cp20 [label=<a ++;>, ]; - cp5 -> cp8 [label=<Exit i>, style="dashed", ]; - cp6 -> cp8 [label=<Exit >, ]; - cp7 -> cp15 [label=< >, ]; - cp8 -> cp3 [label=<x != 3>, ]; - cp8 -> cp11 [label=<!(x != 3)>, ]; - cp9 -> cp2 [label=<x = 3;>, ]; - cp10 -> cp24 [label=<y *= 2;>, ]; - cp11 -> cp19 [label=< >, ]; - cp12 -> cp21 [label=<Enter b, c>, ]; - cp14 -> cp1 [label=< >, ]; - cp15 -> cp25 [label=<Exit i>, ]; - cp16 -> cp14 [label=<int i = 0;>, ]; - cp17 -> cp29 [label=<Enter y, z, w, a>, ]; - cp18 -> cp13 [label=<Exit y, z, w, a>, ]; - cp19 -> cp18 [label=<return>, ]; - cp20 -> cp33 [label=<Exit b, c>, ]; - cp21 -> cp30 [label=<int b = 3;>, ]; - cp22 -> cp32 [label=<int w = y + x;>, ]; - cp23 -> cp1 [constraint=false, label=<Exit >, ]; - cp24 -> cp22 [label=<int z = y + 1;>, ]; - cp25 -> cp6 [label=<Exit >, ]; - cp26 -> cp7 [label=<Enter >, ]; - cp27 -> cp12 [label=< >, ]; - cp28 -> cp27 [label=<i < 10>, ]; - cp28 -> cp26 [label=<!(i < 10)>, ]; - cp29 -> cp10 [label=<int y = 3;>, ]; - cp30 -> cp4 [label=<int c = i + 1;>, ]; - cp31 -> cp16 [label=<Enter i>, ]; - cp32 -> cp31 [label=<int a = 1;>, ]; - cp33 -> cp23 [label=<i ++;>, ]; + cp1 -> cp30 [label=< >, ]; + cp2 -> cp19 [label=<x = 3;>, ]; + cp3 -> cp16 [label=<return>, ]; + cp4 -> cp20 [label=<int c = i + 1;>, ]; + cp5 -> cp1 [label=<int i = 0;>, ]; + cp6 -> cp10 [label=<Exit >, ]; + cp7 -> cp26 [label=<Enter >, ]; + cp8 -> cp5 [label=<Enter i>, ]; + cp9 -> cp3 [label=< >, ]; + cp10 -> cp17 [label=<Exit >, ]; + cp11 -> cp25 [label=<int y = 3;>, ]; + cp12 -> cp2 [label=<Enter >, ]; + cp13 -> cp30 [constraint=false, label=<Exit >, ]; + cp15 -> cp17 [label=<Exit i>, style="dashed", ]; + cp16 -> cp14 [label=<Exit y, z, w, a>, ]; + cp17 -> cp12 [label=<x != 3>, ]; + cp17 -> cp9 [label=<!(x != 3)>, ]; + cp18 -> cp11 [label=<Enter y, z, w, a>, ]; + cp19 -> cp3 [label=<Exit >, ]; + cp20 -> cp31 [label=<a ++;>, ]; + cp21 -> cp4 [label=<int b = 3;>, ]; + cp22 -> cp13 [label=<i ++;>, ]; + cp23 -> cp33 [label=<int z = y + 1;>, ]; + cp24 -> cp28 [label=<i < 10>, ]; + cp24 -> cp7 [label=<!(i < 10)>, ]; + cp25 -> cp23 [label=<y *= 2;>, ]; + cp26 -> cp27 [label=< >, ]; + cp27 -> cp6 [label=<Exit i>, ]; + cp28 -> cp29 [label=< >, ]; + cp29 -> cp21 [label=<Enter b, c>, ]; + cp30 -> cp24 [label=<Enter >, ]; + cp31 -> cp22 [label=<Exit b, c>, ]; + cp32 -> cp8 [label=<int a = 1;>, ]; + cp33 -> cp32 [label=<int w = y + x;>, ]; } diff --git a/tests/value/oracle/noreturn.res.oracle b/tests/value/oracle/noreturn.res.oracle index 304917afda22a9fb33e394f22e87e5f9731a32a4..9ac52f56318df28adda9ac3b68bd9675a5dd2a83 100644 --- a/tests/value/oracle/noreturn.res.oracle +++ b/tests/value/oracle/noreturn.res.oracle @@ -16,13 +16,20 @@ Called from noreturn.i:28. [eva] Recording results for warn_never_ends [eva] Done for function warn_never_ends -[kernel:annot:missing-spec] noreturn.i:29: Warning: - Neither code nor specification for function stop, - generating default assigns. See -generated-spec-* options for more info -[eva] computing for function stop <- main. - Called from noreturn.i:29. -[eva] using specification for function stop -[eva] Done for function stop +[eva] computing for function should_never_end <- main. + Called from noreturn.i:33. +[eva] Recording results for should_never_end +[eva] Done for function should_never_end +[eva] computing for function should_never_end <- main. + Called from noreturn.i:32. +[eva] Recording results for should_never_end +[eva] noreturn.i:32: Warning: + function should_never_end may terminate but has the noreturn attribute +[eva] Done for function should_never_end +[eva] computing for function never_ends <- main. + Called from noreturn.i:31. +[eva] Recording results for never_ends +[eva] Done for function never_ends [kernel:annot:missing-spec] noreturn.i:30: Warning: Neither code nor specification for function haltme, generating default assigns. See -generated-spec-* options for more info @@ -30,20 +37,13 @@ Called from noreturn.i:30. [eva] using specification for function haltme [eva] Done for function haltme -[eva] computing for function never_ends <- main. - Called from noreturn.i:31. -[eva] Recording results for never_ends -[eva] Done for function never_ends -[eva] computing for function should_never_end <- main. - Called from noreturn.i:32. -[eva] Recording results for should_never_end -[eva] noreturn.i:32: Warning: - function should_never_end may terminate but has the noreturn attribute -[eva] Done for function should_never_end -[eva] computing for function should_never_end <- main. - Called from noreturn.i:33. -[eva] Recording results for should_never_end -[eva] Done for function should_never_end +[kernel:annot:missing-spec] noreturn.i:29: Warning: + Neither code nor specification for function stop, + generating default assigns. See -generated-spec-* options for more info +[eva] computing for function stop <- main. + Called from noreturn.i:29. +[eva] using specification for function stop +[eva] Done for function stop [eva] Recording results for main [eva] Done for function main [eva] ====== VALUES COMPUTED ====== diff --git a/tests/value/oracle_gauges/noreturn.res.oracle b/tests/value/oracle_gauges/noreturn.res.oracle index 6847a2f3eb44f61eb5031e2ab2f61d8339975bbe..7851d62f17e233ddfd4cce1e689a538c3c8bee52 100644 --- a/tests/value/oracle_gauges/noreturn.res.oracle +++ b/tests/value/oracle_gauges/noreturn.res.oracle @@ -2,7 +2,7 @@ > [eva] noreturn.i:20: starting to merge loop iterations 16a18 > [eva] noreturn.i:16: starting to merge loop iterations -34a37 -> [eva] noreturn.i:7: starting to merge loop iterations -38a42 +20a23 > [eva] noreturn.i:13: starting to merge loop iterations +30a34 +> [eva] noreturn.i:7: starting to merge loop iterations