diff --git a/Changelog b/Changelog index d6cb74c629b2bcd3289153888bdb04ce073246b7..c992b733c9a3d45f182630536afc3d4039148901 100644 --- a/Changelog +++ b/Changelog @@ -19,9 +19,10 @@ Open Source Release <next-release> o! Kernel [2021-04-09] Change the type of the measure from string to logic_info in the variant AST node. +o Ptests [2021-04-08] FILTER directive reads the standard input and can be + chained. -* Kernel [2021-03-26] Raise an error if trying to merge a tentative definition with a proper definition during linking -o Ptests [2021-03-24] Add new EXIT directive o Ptests [2021-03-25] Modify MODULE directive. o Ptests [2021-03-24] Add new EXIT directive. - Aorai [2021-02-09] New option for tracking last N states of the diff --git a/doc/developer/advance.tex b/doc/developer/advance.tex index 02e1327c60f30d06e58db560c400cf946addad89..e275932216d8a6a094f3bf7b4d436882d18a6405 100644 --- a/doc/developer/advance.tex +++ b/doc/developer/advance.tex @@ -988,7 +988,7 @@ file, run it only once. & \textit{None} \\ & \texttt{FILTER}\nscodeidxdef{Test!Directive}{FILTER} -& Command used to filter results +& Command reading the standard input used to filter results. In such a command, the predefined macro \texttt{@PTEST\_ORACLE@} is set to the basename of the oracle. & \textit{None} \\ & \texttt{MODULE}\nscodeidxdef{Test!Directive}{MODULE} @@ -1154,7 +1154,7 @@ or \texttt{@macro-name@} in a \texttt{CMD}, \texttt{LOG}, \texttt{OPT}, \texttt{STDOPT} or \texttt{EXECNOW} directive at this configuration level or in any level below it will be replaced by \texttt{content}. Existing - pre-defined macros are listed in section~\ref{sec:ptests-macros}. + predefined macros are listed in section~\ref{sec:ptests-macros}. \item \texttt{MODULE}\nscodeidx{Test!Directive}{MODULE} directive takes as argument the name of a \texttt{.cmxs} module. It will then add a directive to compile this file with the @@ -1168,6 +1168,19 @@ or the suite. This directive is only usable in a \texttt{test\_config}\codeidx{test\_config} configuration file. +\item The \texttt{FILTER}\nscodeidx{Test!Directive}{FILTER} directive specifies + a transformation on the test result files before the comparison to the oracles. + The filtering command read the result from the standard input and the oracle + will be compared with the standard output of that command. + In such a directive, the predefined macro \texttt{@PTEST\_ORACLE@} is set to the + basename of the oracle. + That allows running a \texttt{diff} command with the oracle of another + test configuration: + \begin{code} + FILTER: diff --new-file @PTEST_DIR@/oracle_configuration/@PTEST_ORACLE@ - + \end{code} + Chaining multiple filter commands is possible by defining several \texttt{FILTER} directives (they are applied in the reverse order), + and an empty command drops the previous \texttt{FILTER} directives. \end{itemize} \begin{important} diff --git a/ptests/ptests.ml b/ptests/ptests.ml index 0cd9d185146d17370673b2bbaf0f3067c428d780..5b1478eeb934c3ad8192bda11c4b22724318b429 100644 --- a/ptests/ptests.ml +++ b/ptests/ptests.ml @@ -93,6 +93,11 @@ let str_string_match_and_replace regex1 regex2 ~suffix s = Mutex.unlock str_mutex; (replaced_str, matched) +let str_bounded_full_split regex s n = + Mutex.lock str_mutex; + let res = Str.bounded_full_split regex s n in + Mutex.unlock str_mutex; res + let str_split regex s = Mutex.lock str_mutex; let res = Str.split regex s in @@ -124,6 +129,20 @@ let str_split_list = let _,_,res = (add "" acc) in res +(* removes first blanks *) +let trim_right s = + let n = ref (String.length s - 1) in + let last_char_to_keep = + try + while !n > 0 do + if String.get s !n <> ' ' then raise Exit; + n := !n - 1 + done; + 0 + with Exit -> !n + in + String.sub s 0 (last_char_to_keep+1) + let default_env = ref [] let add_default_env x y = default_env:=(x,y)::!default_env @@ -153,32 +172,46 @@ let dir_config_file = "test_config" the pattern [test_file_regexp] will be considered as test files *) let test_file_regexp = ".*\\.\\(c\\|i\\)$" -(** the pattern that ends the parsing of options in a test file *) -let end_comment = Str.regexp ".*\\*/" - -let regex_cmxs = Str.regexp ("\\([^/]+\\)[.]cmxs\\($\\|[ \t]\\)") - -let opt_to_byte toplevel = - match string_del_suffix "frama-c" toplevel with - | Some path -> path ^ "frama-c.byte" - | None -> - match string_del_suffix "toplevel.opt" toplevel with - | Some path -> path ^ "toplevel.byte" +(* Splits the command string to separate the command name from the parameters + [let cmd_name,param=command_partition cmd in assert cmd=cmd_name^param] +*) +let command_partition = + let regexp_unescaped_blank = Str.regexp "[^\\ ] " in + fun cmd -> + match str_bounded_full_split regexp_unescaped_blank cmd 2 with + | [ Str.Text cmd ] -> + cmd, "" + | [ Str.Text cmd ; Str.Delim delim ] -> + cmd ^ (String.make 1 (String.get delim 0)), (String.make 1 (String.get delim 1)) + | [ Str.Text cmd ; Str.Delim delim; Str.Text options ] -> + cmd ^ (String.make 1 (String.get delim 0)), (String.make 1 (String.get delim 1)) ^ options + | [ Str.Delim delim ] -> + (String.make 1 (String.get delim 0)), (String.make 1 (String.get delim 1)) + | [ Str.Delim delim; Str.Text options ] -> + (String.make 1 (String.get delim 0)), (String.make 1 (String.get delim 1)) ^ options + | _ -> assert false + +let opt_to_byte_options = + let regex_cmxs = Str.regexp ("\\([^/]+\\)[.]cmxs\\($\\|[ \t]\\)") in + fun options -> str_global_replace regex_cmxs "\\1.cmo\\2" options + +let opt_to_byte cmd = + let opt_to_byte toplevel = + match string_del_suffix "frama-c" toplevel with + | Some path -> path ^ "frama-c.byte" | None -> - match string_del_suffix "frama-c-gui" toplevel with - | Some path -> path ^ "frama-c-gui.byte" + match string_del_suffix "toplevel.opt" toplevel with + | Some path -> path ^ "toplevel.byte" | None -> - match string_del_suffix "viewer.opt" toplevel with - | Some path -> path ^ "viewer.byte" - | None -> toplevel - -let opt_to_byte_options options = - str_global_replace regex_cmxs "\\1.cmo\\2" options - -let execnow_opt_to_byte cmd = - let cmd = opt_to_byte cmd in - opt_to_byte_options cmd - + match string_del_suffix "frama-c-gui" toplevel with + | Some path -> path ^ "frama-c-gui.byte" + | None -> + match string_del_suffix "viewer.opt" toplevel with + | Some path -> path ^ "viewer.byte" + | None -> toplevel + in + let cmdname, options = command_partition cmd in + (opt_to_byte cmdname) ^ (opt_to_byte_options options) let output_unix_error (exn : exn) = match exn with @@ -299,31 +332,33 @@ let example_msg = EXECNOW: ([LOG|BIN] <file>)+ <command> @[<v 0># Defines the command to execute to build a 'LOG' (textual) 'BIN' (binary) targets.@ \ # Note: the textual targets are compared to oracles.@]@ \ MODULE: <module>... @[<v 0># Compile the module and adds the corresponding '-load-module' option to all sub-test commands.@]@ \ - LOG: <file>... @[<v 0># Defines dune targets built by the next sub-test command.@]@ \ + LOG: <file>... @[<v 0># Defines targets built by the next sub-test command.@]@ \ CMD: <command> @[<v 0># Defines the command to execute for all tests in order to get results to be compared to oracles.@]@ \ OPT: <options> @[<v 0># Defines a sub-test using the 'CMD' definition: <command> <options>@]@ \ STDOPT: +<extra> @[<v 0># Defines a sub-test and append the extra to the current option.@]@ \ STDOPT: #<extra> @[<v 0># Defines a sub-test and prepend the extra to the current option.@]@ \ EXIT: <number> @[<v 0># Defines the exit code required for the next sub-test commands.@]@ \ FILTER: <cmd> @[<v 0># Performs a transformation on the test result files before the comparison from the oracles.@ \ - # The oracle will be compared from the standard output of the command: <cmd> <test-output-file>.@ \ + # The oracle will be compared from the standard output of the command: cat <test-output-file> | <cmd> .@ \ + # Chaining multiple filter commands is possible by defining several FILTER directives.@ \ + # An empty command drops the previous FILTER directives.@ \ + # Note: in such a command, the @@PTEST_ORACLE@@ macro is set to the basename of the oracle.@ \ + # This allows running a 'diff' command with the oracle of another test configuration:@ \ + # FILTER: diff --new-file @@PTEST_DIR@@/oracle_configuration/@@PTEST_ORACLE@@ @]@ \ TIMEOUT: <delay> @[<v 0># Set a timeout for all sub-test.@]@ \ NOFRAMAC: @[<v 0># Drops previous sub-test definitions and considers that there is no defined default sub-test.@]@ \ GCC: @[<v 0># Deprecated.@]@ \ - MACRO: <name> <def> @[<v 0># set a definition to the variable @@<name>@@.@]@ \ + MACRO: <name> <def> @[<v 0># Set a definition to the macro @@<name>@@.@]@ \ @]@ \ @[<v 1>\ - Some variables can be used in test command:@ \ - @@PTEST_CONFIG@@ \ - # test configuration suffix@ \ - @@PTEST_FILE@@ \ - # substituted by the test filename@ \ - @@PTEST_DIR@@ \ - # dirname of the test file@ \ - @@PTEST_NAME@@ \ - # basename of the test file@ \ - @@PTEST_NUMBER@@ \ - # test command number@] @ \ + Some predefined macros can be used in test commands:@ \ + @@PTEST_DIR@@ # Dirname of the test file.@ \ + @@PTEST_FILE@@ # Substituted by the test filename.@ \ + @@PTEST_NAME@@ # Basename of the test file.@ \ + @@PTEST_NUMBER@@ # Test command number.@ \ + @@PTEST_CONFIG@@ # Test configuration suffix.@ \ + @@PTEST_RESULT@@ # Shorthand alias to @@PTEST_DIR@@/result@@PTEST_CONFIG@@ (the result directory dedicated to the tested configuration).@ \ + @@PTEST_ORACLE@@ # Basename of the current oracle file (macro only usable in FILTER directives).@ \ @[<v 1>\ Examples:@ \ ptests@ \ @@ -915,7 +950,12 @@ end = struct (fun ~drop:_ ~file:_ _ s current -> { current with dc_test_regexp = s }); "FILTER", - (fun ~drop:_ ~file:_ _ s current -> { current with dc_filter = Some s }); + (fun ~drop:_ ~file:_ _ s current -> + let s = trim_right s in + match current.dc_filter with + | None when s="" -> { current with dc_filter = None } + | None -> { current with dc_filter = Some s } + | Some filter -> { current with dc_filter = Some (s ^ " | " ^ filter) }); "EXIT", (fun ~drop:_ ~file:_ _ s current -> { current with dc_exit_code = Some s }); @@ -953,6 +993,9 @@ end = struct { current with dc_commands = []; dc_framac = false; }); ] + (** the pattern that ends the parsing of options in a test file *) + let end_comment = Str.regexp ".*\\*/" + let scan_directives ~drop dir ~file scan_buffer default = set_default_parsing_env default; let r = ref { default with dc_commands = [] } in @@ -1121,230 +1164,164 @@ let unlock () = Mutex.unlock shared.lock let lock () = Mutex.lock shared.lock -let catenate_number nb_files prefix n = - if nb_files > 1 - then prefix ^ "." ^ (string_of_int n) - else prefix +let update_log_files dir file = + mv (SubDir.make_result_file dir file) (SubDir.make_oracle_file dir file) -let name_without_extension command = - try - (Filename.chop_extension command.file) - with - Invalid_argument _ -> - fail ("this test file does not have any extension: " ^ - command.file) +module Cmd : sig -let gen_prefix gen_file cmd = - let prefix = gen_file cmd.directory (name_without_extension cmd) in - catenate_number cmd.nb_files prefix cmd.n + val log_prefix : toplevel_command -> string + val oracle_prefix : toplevel_command -> string -let log_prefix = gen_prefix SubDir.make_result_file -let oracle_prefix = gen_prefix SubDir.make_oracle_file + val get_macros : toplevel_command -> string Macros.StringMap.t -let get_ptest_file cmd = SubDir.make_file cmd.directory cmd.file + (* [basic_command_string cmd] does not redirect the outputs, and does + not overwrite the result files *) + val basic_command_string : toplevel_command -> string -let get_macros cmd = - let ptest_config = - if !special_config = "" then "" else "_" ^ !special_config - in - let ptest_file = get_ptest_file cmd in - let ptest_name = - try Filename.chop_extension cmd.file - with Invalid_argument _ -> cmd.file - in - let macros = - [ "PTEST_CONFIG", ptest_config; - "PTEST_DIR", SubDir.get cmd.directory; - "PTEST_RESULT", - SubDir.get cmd.directory ^ "/" ^ redefine_name "result"; - "PTEST_FILE", Filename.sanitize ptest_file; - "PTEST_NAME", ptest_name; - "PTEST_NUMBER", string_of_int cmd.n; - ] - in - Macros.add_list macros cmd.macros + val command_string : toplevel_command -> string -let contains_frama_c_binary_name = - Str.regexp "[^( ]*\\(toplevel\\|viewer\\|frama-c-gui\\|frama-c[^-]\\).*" + val update_toplevel_command : toplevel_command -> unit -let frama_c_binary_name = - Str.regexp "\\([^ ]*\\(toplevel\\|viewer\\|frama-c-gui\\|frama-c\\)\\(\\.opt\\|\\.byte\\|\\.exe\\)?\\)" +end = struct -let basic_command_string = - fun command -> - let macros = get_macros command in - let logfiles = List.map (Macros.expand macros) command.log_files in - command.log_files <- logfiles; - let has_ptest_file_t, toplevel = - Macros.does_expand macros command.toplevel - in - let has_ptest_file_o, options = Macros.does_expand macros command.options in - let toplevel = if !use_byte then opt_to_byte toplevel else toplevel in - let toplevel, contains_frama_c_binary = - str_string_match_and_replace contains_frama_c_binary_name - frama_c_binary_name ~suffix:" -check" toplevel - in - let options = - if contains_frama_c_binary - then begin - let opt_modules = match Macros.expand macros - (Macros.get "PTEST_LOAD_MODULES" macros) with - | "" -> "" - | s -> "-load-module=" ^ s ^ "" - in - let opt_pre = Macros.expand macros !additional_options_pre in - let opt_post = Macros.expand macros !additional_options in - opt_modules ^ opt_pre ^ " " ^ options ^ " " ^ opt_post - end else options - in - let options = if !use_byte then opt_to_byte_options options else options in - let raw_command = - if has_ptest_file_t || has_ptest_file_o || command.execnow then - toplevel ^ " " ^ options - else begin - let file = Filename.sanitize @@ get_ptest_file command in - toplevel ^ " " ^ file ^ " " ^ options - end - in - if command.timeout = "" then raw_command - else "ulimit -t " ^ command.timeout ^ " && " ^ raw_command + let catenate_number nb_files prefix n = + if nb_files > 1 + then prefix ^ "." ^ (string_of_int n) + else prefix -(* Searches for executable [s] in the directories contained in the PATH - environment variable. Returns [None] if not found, or - [Some <fullpath>] otherwise. *) -let find_in_path s = - let trim_right s = - let n = ref (String.length s - 1) in - let last_char_to_keep = - try - while !n > 0 do - if String.get s !n <> ' ' then raise Exit; - n := !n - 1 - done; - 0 - with Exit -> !n + let name_without_extension command = + try + (Filename.chop_extension command.file) + with + Invalid_argument _ -> + fail ("this test file does not have any extension: " ^ + command.file) + + let gen_prefix gen_file cmd = + let prefix = gen_file cmd.directory (name_without_extension cmd) in + catenate_number cmd.nb_files prefix cmd.n + + let log_prefix = gen_prefix SubDir.make_result_file + let oracle_prefix = gen_prefix SubDir.make_oracle_file + + let get_ptest_file cmd = SubDir.make_file cmd.directory cmd.file + + let get_macros cmd = + let ptest_config = + if !special_config = "" then "" else "_" ^ !special_config in - String.sub s 0 (last_char_to_keep+1) - in - let s = trim_right s in - let path_separator = if Sys.os_type = "Win32" then ";" else ":" in - let re_path_sep = Str.regexp path_separator in - let path_dirs = Str.split re_path_sep (Sys.getenv "PATH") in - let found = ref "" in - try - List.iter (fun dir -> - let fullname = dir ^ Filename.dir_sep ^ s in - if Sys.file_exists fullname then begin - found := fullname; - raise Exit - end - ) path_dirs; - None - with Exit -> - Some !found + let ptest_file = get_ptest_file cmd in + let ptest_name = + try Filename.chop_extension cmd.file + with Invalid_argument _ -> cmd.file + in + let macros = + [ "PTEST_CONFIG", ptest_config; + "PTEST_DIR", SubDir.get cmd.directory; + "PTEST_RESULT", + SubDir.get cmd.directory ^ "/" ^ redefine_name "result"; + "PTEST_FILE", Filename.sanitize ptest_file; + "PTEST_NAME", ptest_name; + "PTEST_NUMBER", string_of_int cmd.n; + ] + in + Macros.add_list macros cmd.macros -let command_string command = - let log_prefix = log_prefix command in - let errlog = log_prefix ^ ".err.log" in - let stderr = match command.filter with - None -> errlog - | Some _ -> - let stderr = - Filename.temp_file (Filename.basename log_prefix) ".err.log" - in - at_exit (fun () -> unlink stderr); - stderr - in - let filter = match command.filter with - | None -> None - | Some filter -> - let len = String.length filter in - let rec split_filter i = - if i < len && filter.[i] = ' ' then split_filter (i+1) - else - try - let idx = String.index_from filter i ' ' in - String.sub filter i idx, - String.sub filter idx (len - idx) - with Not_found -> - String.sub filter i (len - i), "" - in - let exec_name, params = split_filter 0 in - let exec_name = - if Sys.file_exists exec_name || not (Filename.is_relative exec_name) - then exec_name - else - match find_in_path exec_name with - | Some full_exec_name -> full_exec_name - | None -> - Filename.concat - (Filename.dirname (Filename.dirname log_prefix)) - (Filename.basename exec_name) - in - Some (exec_name ^ params) - in - let command_string = basic_command_string command in - let command_string = - command_string ^ " 2>" ^ (Filename.sanitize stderr) - in - let command_string = match filter with - | None -> command_string - | Some filter -> command_string ^ " | " ^ filter - in - let res = Filename.sanitize (log_prefix ^ ".res.log") in - let command_string = command_string ^ " >" ^ res in - let command_string = - match command.timeout with - | "" -> command_string - | s -> - Printf.sprintf - "%s; if test $? -gt 127; then \ - echo 'TIMEOUT (%s); ABORTING EXECUTION' > %s; \ - fi" - command_string s (Filename.sanitize stderr) - in - let command_string = match filter with - | None -> command_string - | Some filter -> - Printf.sprintf "%s && %s < %s >%s && rm -f %s" (* exit code ? *) - command_string - filter - (Filename.sanitize stderr) - (Filename.sanitize errlog) - (Filename.sanitize stderr) - in - command_string + let contains_frama_c_binary_name = + Str.regexp "[^( ]*\\(toplevel\\|viewer\\|frama-c-gui\\|frama-c[^-]\\).*" -let update_log_files dir file = - mv (SubDir.make_result_file dir file) (SubDir.make_oracle_file dir file) + let frama_c_binary_name = + Str.regexp "\\([^ ]*\\(toplevel\\|viewer\\|frama-c-gui\\|frama-c\\)\\(\\.opt\\|\\.byte\\|\\.exe\\)?\\)" + + let basic_command_string = + fun command -> + let macros = get_macros command in + let logfiles = List.map (Macros.expand macros) command.log_files in + command.log_files <- logfiles; + let has_ptest_file_t, toplevel = + Macros.does_expand macros command.toplevel + in + let has_ptest_file_o, options = Macros.does_expand macros command.options in + let toplevel = if !use_byte then opt_to_byte toplevel else toplevel in + let toplevel, contains_frama_c_binary = + str_string_match_and_replace contains_frama_c_binary_name + frama_c_binary_name ~suffix:" -check" toplevel + in + let options = + if contains_frama_c_binary + then begin + let opt_modules = match Macros.expand macros + (Macros.get "PTEST_LOAD_MODULES" macros) with + | "" -> "" + | s -> "-load-module=" ^ s ^ "" + in + let opt_pre = Macros.expand macros !additional_options_pre in + let opt_post = Macros.expand macros !additional_options in + opt_modules ^ opt_pre ^ " " ^ options ^ " " ^ opt_post + end else options + in + let options = if !use_byte then opt_to_byte_options options else options in + let raw_command = + if has_ptest_file_t || has_ptest_file_o || command.execnow then + toplevel ^ " " ^ options + else begin + let file = Filename.sanitize @@ get_ptest_file command in + toplevel ^ " " ^ file ^ " " ^ options + end + in + if command.timeout = "" then raw_command + else "ulimit -t " ^ command.timeout ^ " && " ^ raw_command + + let command_string command = + let log_prefix = log_prefix command in + let reslog,errlog = match command.filter with + | None -> log_prefix ^ ".res.log", log_prefix ^ ".err.log" + | Some _ ->log_prefix ^ ".res.unfiltered-log", log_prefix ^ ".err.unfiltered-log" + in + let reslog = Filename.sanitize reslog in + let errlog = Filename.sanitize errlog in + let command_str = basic_command_string command in + let command_str = + command_str ^ " >" ^ reslog ^ " 2>" ^ errlog + in + let command_str = + match command.timeout with + | "" -> command_str + | s -> + Printf.sprintf + "%s; if test $? -gt 127; then \ + echo 'TIMEOUT (%s); ABORTING EXECUTION' > %s; \ + fi" + command_str s errlog + in + command_str -let update_toplevel_command command = + let update_toplevel_command command = + let log_prefix = log_prefix command in + let oracle_prefix = oracle_prefix command in + let update_oracle log oracle = + try + if is_file_empty_or_nonexisting log then + (* No, remove the oracle *) + unlink ~silent:false oracle + else + (* Yes, update the oracle*) + mv log oracle + with (* Possible error in [is_file_empty] *) + Unix.Unix_error _ -> () + in + (* Update res.oracle and err.oracle *) + update_oracle (log_prefix ^ ".res.log") (oracle_prefix ^ ".res.oracle"); + update_oracle (log_prefix ^ ".err.log") (oracle_prefix ^ ".err.oracle"); + (* Update files related to LOG directives *) + let macros = get_macros command in + let log_files = List.map (Macros.expand macros) command.log_files in + List.iter (update_log_files command.directory) log_files - let log_prefix = log_prefix command in - let oracle_prefix = oracle_prefix command in - (* Update oracle *) - mv (log_prefix ^ ".res.log") (oracle_prefix ^ ".res.oracle"); - (* Is there an error log ? *) - begin try - let log = log_prefix ^ ".err.log" - and oracle = oracle_prefix ^ ".err.oracle" - in - if is_file_empty_or_nonexisting log then - (* No, remove the error oracle *) - unlink ~silent:false oracle - else - (* Yes, update the error oracle*) - mv log oracle - with (* Possible error in [is_file_empty] *) - Unix.Unix_error _ -> () - end; - let macros = get_macros command in - let log_files = List.map (Macros.expand macros) command.log_files - in - List.iter (update_log_files command.directory) log_files +end let rec update_command = function - Toplevel cmd -> update_toplevel_command cmd + | Toplevel cmd -> Cmd.update_toplevel_command cmd | Target (execnow,cmds) -> List.iter (update_log_files execnow.ex_dir) execnow.ex_log; Queue.iter update_command cmds @@ -1379,6 +1356,7 @@ module Make_Report(M:sig type t end)=struct let remove k = H.remove tbl k end + module Report_run=Make_Report(struct type t=int*float (* At some point will contain the running time*) end) @@ -1418,6 +1396,7 @@ let pretty_report fmt = else if err=1 then "Stderr oracle difference" else if err=2 then "Stderr System Error (missing oracle?)" else "Unexpected errror"))) + let xunit_report () = if !xunit then begin let out = open_out_bin "xunit.xml" in @@ -1445,20 +1424,20 @@ let do_command command = Gui: launch the command in the gui Examine : just enqueue the cmp *) if !behavior = Update - then update_toplevel_command command + then Cmd.update_toplevel_command command else begin (* Run, Show, Gui or Examine *) if !behavior = Gui then begin (* basic_command_string does not redirect the outputs, and does not overwrite the result files *) - let basic_command_string = basic_command_string command in + let basic_command_string = Cmd.basic_command_string command in lock_printf "%% launch %s@." basic_command_string ; ignore (launch basic_command_string) end else begin (* command string also replaces macros in logfiles names, which is useful for Examine as well. *) - let command_string = command_string command in + let command_string = Cmd.command_string command in let summary_ret = if !behavior <> Examine then begin @@ -1468,9 +1447,7 @@ let do_command command = let time = 0. (* Individual time is difficult to compute correctly for now, and currently unused *) in report_run command (launch_result, time) ; - let summary_ret = (launch_result = command.exit_code) - || (command.filter <> None) (* cannot checks exit code *) - in + let summary_ret = launch_result = command.exit_code in if not summary_ret then lock_printf "%% Unexpected code (returns %d instead of %d) for command: %s@." launch_result command.exit_code command_string ; summary_ret @@ -1511,7 +1488,7 @@ let do_command command = Toplevel cmd -> shared.summary_run <- succ shared.summary_run; shared.summary_ret <- succ shared.summary_ret; - let log_prefix = log_prefix cmd in + let log_prefix = Cmd.log_prefix cmd in unlink (log_prefix ^ ".res.log ") | Target (execnow,cmds) -> shared.summary_run <- succ shared.summary_run; @@ -1540,7 +1517,7 @@ let do_command command = remove_execnow_results execnow; let cmd = if !use_byte then - execnow_opt_to_byte execnow.ex_cmd + opt_to_byte execnow.ex_cmd else execnow.ex_cmd in @@ -1606,6 +1583,60 @@ let check_file_is_empty_or_nonexisting diff ~log_file = 1 end +(* Searches for executable [s] in the directories contained in the PATH + environment variable. Returns [None] if not found, or + [Some <fullpath>] otherwise. *) +let find_in_path s = + let s = trim_right s in + let path_separator = if Sys.os_type = "Win32" then ";" else ":" in + let re_path_sep = Str.regexp path_separator in + let path_dirs = Str.split re_path_sep (Sys.getenv "PATH") in + let found = ref "" in + try + List.iter (fun dir -> + let fullname = dir ^ Filename.dir_sep ^ s in + if Sys.file_exists fullname then begin + found := fullname; + raise Exit + end + ) path_dirs; + None + with Exit -> + Some !found + +let do_filter = + let regexp_ptest_oracle = Str.regexp "@PTEST_ORACLE@" in + fun cmd kind -> + match cmd.filter with + | None -> () + | Some filter -> + let log_prefix = Cmd.log_prefix cmd in + let log_ext = log_ext kind in + let log_file = Filename.sanitize (log_prefix ^ log_ext ^ ".log") in + let foracle = (Filename.basename log_prefix) ^ log_ext ^ ".oracle" in + let filter = Str.global_replace regexp_ptest_oracle foracle filter in + let exec_name, params = command_partition filter in + let exec_name = + if Sys.file_exists exec_name || not (Filename.is_relative exec_name) + then exec_name + else + match find_in_path exec_name with + | Some full_exec_name -> full_exec_name + | None -> + Filename.concat + (Filename.dirname (Filename.dirname log_prefix)) + (Filename.basename exec_name) + in + let unfiltered_file = Filename.sanitize (log_prefix ^ log_ext ^ ".unfiltered-log") in + let filter_cmd = Format.sprintf "%s | %s%s > %s 2> /dev/null" + (* the filter command can be a diff from a [@PTEST_ORACLE@] *) + (if Sys.file_exists unfiltered_file then "cat " ^ unfiltered_file else "echo \"\"") + exec_name params log_file + in + if !verbosity >= 1 + then lock_printf "%tFilter command:@\n%s@." print_default_env filter_cmd; + ignore (launch filter_cmd) + let compare_one_file cmp log_prefix oracle_prefix log_kind = if !behavior = Show then begin @@ -1618,7 +1649,8 @@ let compare_one_file cmp log_prefix oracle_prefix log_kind = let ext = log_ext log_kind in let log_file = Filename.sanitize (log_prefix ^ ext ^ ".log") in let oracle_file = Filename.sanitize (oracle_prefix ^ ext ^ ".oracle") in - if log_kind = Err && not (Sys.file_exists oracle_file) then + do_filter cmp log_kind; + if not (Sys.file_exists oracle_file) then check_file_is_empty_or_nonexisting (Command_error (cmp,log_kind)) ~log_file else begin let cmp_string = @@ -1649,8 +1681,8 @@ let compare_one_log_file dir file = let do_cmp = function | Cmp_Toplevel (cmd,ret) -> - let log_prefix = log_prefix cmd in - let oracle_prefix = oracle_prefix cmd in + let log_prefix = Cmd.log_prefix cmd in + let oracle_prefix = Cmd.oracle_prefix cmd in let cmp = { res = compare_one_file cmd log_prefix oracle_prefix Res; err = compare_one_file cmd log_prefix oracle_prefix Err; ret @@ -1728,15 +1760,16 @@ let diff_check_exist old_file new_file = let do_diff = function | Command_error (diff, kind) -> - let log_prefix = log_prefix diff in + let log_prefix = Cmd.log_prefix diff in let log_ext = log_ext kind in let log_file = Filename.sanitize (log_prefix ^ log_ext ^ ".log") in - let command_string = command_string diff in + do_filter diff kind ; + let command_string = Cmd.command_string diff in lock_printf "%tCommand:@\n%s@." print_default_env command_string; if !behavior = Show then ignore (launch ("cat " ^ log_file)) else - let oracle_prefix = oracle_prefix diff in + let oracle_prefix = Cmd.oracle_prefix diff in let oracle_file = Filename.sanitize (oracle_prefix ^ log_ext ^ ".oracle") in @@ -1862,10 +1895,11 @@ let () = end else begin if not (List.mem suite exclude_suite) then begin - let dir_files = Sys.readdir (SubDir.get directory) in - if !verbosity >= 1 then - lock_printf "%% - Look at %d entries of the directory...@." - (Array.length dir_files); + let dirname = SubDir.get directory in + let dir_files = Sys.readdir dirname in + if !verbosity >= 2 then + lock_printf "%% - Look at %d entries of the directory %S ...@." + (Array.length dir_files) dirname; for i = 0 to pred (Array.length dir_files) do let file = dir_files.(i) in assert (Filename.is_relative file); @@ -1898,18 +1932,25 @@ let dispatcher () = fun {toplevel; opts=options; logs=log_files; macros; exit_code; timeout} -> let n = !i in incr i; - { file; options; toplevel; nb_files; directory; n; log_files; - filter = config.dc_filter; macros; - exit_code = begin - match exit_code with - | None -> 0 - | Some exit_code -> - try int_of_string exit_code with - | _ -> lock_eprintf "@[%s: integer required for directive EXIT: %s (defaults to 0)@]@." file exit_code ; 0 - end; - execnow=false; - timeout; - } + let cmd = + { file; options; toplevel; nb_files; directory; n; log_files; + filter = config.dc_filter; macros; + exit_code = begin + match exit_code with + | None -> 0 + | Some exit_code -> + try int_of_string exit_code with + | _ -> lock_eprintf "@[%s: integer required for directive EXIT: %s (defaults to 0)@]@." file exit_code ; 0 + end; + execnow=false; + timeout; + } + in + let macros = Cmd.get_macros cmd in + match cmd.filter with + | None -> cmd + | Some filter -> + { cmd with filter = Some (Macros.expand macros filter) } in let nb_files_execnow = List.length config.dc_execnow in let make_execnow_cmd = @@ -1931,9 +1972,9 @@ let dispatcher () = execnow = true; timeout = execnow.ex_timeout; } in - let macros = get_macros cmd in + let macros = Cmd.get_macros cmd in let process_macros s = Macros.expand macros s in - { ex_cmd = basic_command_string cmd; + { ex_cmd = Cmd.basic_command_string cmd; ex_log = List.map process_macros execnow.ex_log; ex_bin = List.map process_macros execnow.ex_bin; ex_dir = execnow.ex_dir; @@ -1942,9 +1983,9 @@ let dispatcher () = ex_timeout = execnow.ex_timeout; } in - let treat_option q option = + let treat_option q cmd = Queue.push - (Toplevel (make_toplevel_cmd option)) + (Toplevel (make_toplevel_cmd cmd)) q; in if not config.dc_dont_run diff --git a/src/plugins/value/utests b/src/plugins/value/utests deleted file mode 100755 index 0b2cfea613cd1024532c5bbff89cae377bc921b5..0000000000000000000000000000000000000000 --- a/src/plugins/value/utests +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/bash -eu - -export LC_ALL=C - -# before testing, we check that no extraneous oracles exist in the tests -# directory, otherwise the final diff may be invalid -ptests/check_oracles.sh -res=$? -if [ $res -ne 0 ]; then - echo "Error: $0 cannot run due to extraneous tests, please remove them." - exit 1 -fi - -TESTS=(float value idct builtins) -CONFIGS=(apron equalities bitwise symblocs gauges octagons) - -for C in ${CONFIGS[@]} -do - echo $C -# ./bin/ptests.opt -config $C -update 2> /dev/null - - for T in ${TESTS[@]} - do - diff tests/$T/oracle tests/$T/oracle_$C | \ - sed -r 's/([\+-][\+-][\+-]) ([^\t]+)\t.*/\1 \2\tDATE/' > tests/$T/diff_$C - done -done diff --git a/src/plugins/value/vtests b/src/plugins/value/vtests deleted file mode 100755 index 2962dae8d845919d715d58362f08e97b0fd984d0..0000000000000000000000000000000000000000 --- a/src/plugins/value/vtests +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/bash -eu - -DEFAULT_TESTS=(float value idct builtins) -CONFIGS=( apron equalities bitwise symblocs gauges octagons) - -ARGS=("${@-}") - -# has_target returns 0 if at least one of the arguments is a target -# (i.e. not an option such as "-j 8"). If so, do not run tests -# for all default targets, only for the specified target(s) -has_target=0 -# sets has_target=0 -function has_target() { - local __has_target=1 - for f in $@; do - __re="\\b$f\\b" # match argument as whole word - if [[ "$f" =~ \.[ci]$ || \ - ( "$f" =~ ^[A-Za-z] && "${DEFAULT_TESTS[@]}" =~ $__re ) ]]; then - __has_target=0 - fi - done - return $__has_target -} - - -if has_target ${ARGS[@]}; then - TESTS=("${ARGS[@]}") -else - TESTS="${DEFAULT_TESTS[@]} ${ARGS[@]}" -fi - -echo Testing ${TESTS[@]} - -for A in ${CONFIGS[@]} -do - echo $A - ./bin/ptests.opt -config $A ${TESTS[@]} -done diff --git a/tests/builtins/.gitignore b/tests/builtins/.gitignore deleted file mode 100644 index 5de45901ce62a18d26c6309c170b943215b78b67..0000000000000000000000000000000000000000 --- a/tests/builtins/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/oracle_* diff --git a/tests/builtins/oracle_apron/allocated.0.res.oracle b/tests/builtins/oracle_apron/allocated.0.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..0024a8acbf3bf25926fcb3cffcf8437a3c62eccc --- /dev/null +++ b/tests/builtins/oracle_apron/allocated.0.res.oracle @@ -0,0 +1,8 @@ +260a261,263 +> [eva] tests/builtins/allocated.c:127: Call to builtin __fc_vla_alloc +> [eva:malloc] tests/builtins/allocated.c:127: +> resizing variable `__malloc_main_l127' (0..31/319) to fit 0..63/319 +273c276 +< j ∈ [1..2147483647] +--- +> j ∈ [1..10] diff --git a/tests/builtins/diff_apron b/tests/builtins/oracle_apron/memexec-malloc.res.oracle similarity index 51% rename from tests/builtins/diff_apron rename to tests/builtins/oracle_apron/memexec-malloc.res.oracle index befd75c34a2d5c9b2763732afa55aac09a3e621c..52147626c5bfe17dad369f34bfce764569c634e2 100644 --- a/tests/builtins/diff_apron +++ b/tests/builtins/oracle_apron/memexec-malloc.res.oracle @@ -1,13 +1,3 @@ -diff tests/builtins/oracle/allocated.0.res.oracle tests/builtins/oracle_apron/allocated.0.res.oracle -260a261,263 -> [eva] tests/builtins/allocated.c:127: Call to builtin __fc_vla_alloc -> [eva:malloc] tests/builtins/allocated.c:127: -> resizing variable `__malloc_main_l127' (0..31/319) to fit 0..63/319 -273c276 -< j ∈ [1..2147483647] ---- -> j ∈ [1..10] -diff tests/builtins/oracle/memexec-malloc.res.oracle tests/builtins/oracle_apron/memexec-malloc.res.oracle 16c16,19 < [eva] tests/builtins/memexec-malloc.c:25: Reusing old results for call to f --- diff --git a/tests/builtins/oracle_bitwise/allocated.0.res.oracle b/tests/builtins/oracle_bitwise/allocated.0.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..87890193c79273904feacf3c7ffbf536a7370772 --- /dev/null +++ b/tests/builtins/oracle_bitwise/allocated.0.res.oracle @@ -0,0 +1,4 @@ +260a261,263 +> [eva] tests/builtins/allocated.c:127: Call to builtin __fc_vla_alloc +> [eva:malloc] tests/builtins/allocated.c:127: +> resizing variable `__malloc_main_l127' (0..31/319) to fit 0..63/319 diff --git a/tests/builtins/diff_bitwise b/tests/builtins/oracle_bitwise/allocated.1.res.oracle similarity index 94% rename from tests/builtins/diff_bitwise rename to tests/builtins/oracle_bitwise/allocated.1.res.oracle index 98cc819af464d4d56ee7b45393da6c4b1eb5dc02..4ac690d043fdd5c2afbd6920018a8ecb36c52300 100644 --- a/tests/builtins/diff_bitwise +++ b/tests/builtins/oracle_bitwise/allocated.1.res.oracle @@ -1,9 +1,3 @@ -diff tests/builtins/oracle/allocated.0.res.oracle tests/builtins/oracle_bitwise/allocated.0.res.oracle -260a261,263 -> [eva] tests/builtins/allocated.c:127: Call to builtin __fc_vla_alloc -> [eva:malloc] tests/builtins/allocated.c:127: -> resizing variable `__malloc_main_l127' (0..31/319) to fit 0..63/319 -diff tests/builtins/oracle/allocated.1.res.oracle tests/builtins/oracle_bitwise/allocated.1.res.oracle 171a172,173 > [eva] tests/builtins/allocated.c:82: Call to builtin malloc > [eva] tests/builtins/allocated.c:82: allocating variable __malloc_main_l82_7 @@ -282,8 +276,3 @@ diff tests/builtins/oracle/allocated.1.res.oracle tests/builtins/oracle_bitwise/ > __malloc_main_l82_36[0..2]; __malloc_main_l82_37[0..2]; > __malloc_main_l97[0]; __malloc_main_l114[0..3]; __malloc_main_l127; > __malloc_main_l127_0[0..1]; __malloc_main_l127_1[0..2]; -diff tests/builtins/oracle/malloc-optimistic.res.oracle tests/builtins/oracle_bitwise/malloc-optimistic.res.oracle -1945a1946,1948 -> [eva] tests/builtins/malloc-optimistic.c:90: Call to builtin malloc -> [eva:malloc] tests/builtins/malloc-optimistic.c:90: -> resizing variable `__malloc_main7_l90' (0..31/3231) to fit 0..511/3231 diff --git a/tests/builtins/oracle_bitwise/malloc-optimistic.res.oracle b/tests/builtins/oracle_bitwise/malloc-optimistic.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..e8114192164f92807bbf1ffc93bb288873370d0d --- /dev/null +++ b/tests/builtins/oracle_bitwise/malloc-optimistic.res.oracle @@ -0,0 +1,4 @@ +1945a1946,1948 +> [eva] tests/builtins/malloc-optimistic.c:90: Call to builtin malloc +> [eva:malloc] tests/builtins/malloc-optimistic.c:90: +> resizing variable `__malloc_main7_l90' (0..31/3231) to fit 0..511/3231 diff --git a/tests/builtins/oracle_equalities/alloc_weak.res.oracle b/tests/builtins/oracle_equalities/alloc_weak.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..46bd130fae56226367c2947b899aace1bcb8b4d1 --- /dev/null +++ b/tests/builtins/oracle_equalities/alloc_weak.res.oracle @@ -0,0 +1,7 @@ +36,37d35 +< [eva:alarm] tests/builtins/alloc_weak.c:30: Warning: +< accessing uninitialized left-value. assert \initialized(p); +912c910 +< r ∈ [--..--] +--- +> r ∈ {42} diff --git a/tests/builtins/diff_octagons b/tests/builtins/oracle_equalities/allocated.1.res.oracle similarity index 88% rename from tests/builtins/diff_octagons rename to tests/builtins/oracle_equalities/allocated.1.res.oracle index 5a356e3c8576bf71c7a4a33ade1a1bd89a2339f2..4ac690d043fdd5c2afbd6920018a8ecb36c52300 100644 --- a/tests/builtins/diff_octagons +++ b/tests/builtins/oracle_equalities/allocated.1.res.oracle @@ -1,9 +1,3 @@ -diff tests/builtins/oracle/allocated.0.res.oracle tests/builtins/oracle_octagons/allocated.0.res.oracle -273c273 -< j ∈ [1..2147483647] ---- -> j ∈ {10} -diff tests/builtins/oracle/allocated.1.res.oracle tests/builtins/oracle_octagons/allocated.1.res.oracle 171a172,173 > [eva] tests/builtins/allocated.c:82: Call to builtin malloc > [eva] tests/builtins/allocated.c:82: allocating variable __malloc_main_l82_7 @@ -282,42 +276,3 @@ diff tests/builtins/oracle/allocated.1.res.oracle tests/builtins/oracle_octagons > __malloc_main_l82_36[0..2]; __malloc_main_l82_37[0..2]; > __malloc_main_l97[0]; __malloc_main_l114[0..3]; __malloc_main_l127; > __malloc_main_l127_0[0..1]; __malloc_main_l127_1[0..2]; -diff tests/builtins/oracle/imprecise.res.oracle tests/builtins/oracle_octagons/imprecise.res.oracle -229a230,231 -> [kernel] tests/builtins/imprecise.c:111: -> more than 200(300) elements to enumerate. Approximating. -238a241,242 -> [kernel] tests/builtins/imprecise.c:114: -> more than 200(300) elements to enumerate. Approximating. -242,245d245 -< [kernel] tests/builtins/imprecise.c:111: -< more than 200(300) elements to enumerate. Approximating. -< [kernel] tests/builtins/imprecise.c:114: -< more than 200(300) elements to enumerate. Approximating. -diff tests/builtins/oracle/linked_list.1.res.oracle tests/builtins/oracle_octagons/linked_list.1.res.oracle -530a531,532 -> [kernel] tests/builtins/linked_list.c:43: -> more than 100(127) elements to enumerate. Approximating. -532a535,536 -> [kernel] tests/builtins/linked_list.c:44: -> more than 100(127) elements to enumerate. Approximating. -702a707,708 -> [kernel] tests/builtins/linked_list.c:43: -> more than 100(128) elements to enumerate. Approximating. -704a711,712 -> [kernel] tests/builtins/linked_list.c:44: -> more than 100(128) elements to enumerate. Approximating. -800,803d807 -< [kernel] tests/builtins/linked_list.c:43: -< more than 100(128) elements to enumerate. Approximating. -< [kernel] tests/builtins/linked_list.c:44: -< more than 100(128) elements to enumerate. Approximating. -diff tests/builtins/oracle/malloc-optimistic.res.oracle tests/builtins/oracle_octagons/malloc-optimistic.res.oracle -3520c3520 -< i ∈ [14..100] ---- -> i ∈ {98; 99; 100} -3524c3524 -< i ∈ [14..100] ---- -> i ∈ {98; 99; 100} diff --git a/tests/builtins/oracle_equalities/imprecise.res.oracle b/tests/builtins/oracle_equalities/imprecise.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..77e31d6a008a1c895c3328e1f50f19a9ad2751c9 --- /dev/null +++ b/tests/builtins/oracle_equalities/imprecise.res.oracle @@ -0,0 +1,14 @@ +104a105,106 +> [kernel] tests/builtins/imprecise.c:51: +> imprecise size for variable v3 (abstract type 'struct u') +229a232,233 +> [kernel] tests/builtins/imprecise.c:111: +> more than 200(300) elements to enumerate. Approximating. +238a243,244 +> [kernel] tests/builtins/imprecise.c:114: +> more than 200(300) elements to enumerate. Approximating. +242,245d247 +< [kernel] tests/builtins/imprecise.c:111: +< more than 200(300) elements to enumerate. Approximating. +< [kernel] tests/builtins/imprecise.c:114: +< more than 200(300) elements to enumerate. Approximating. diff --git a/tests/builtins/oracle_equalities/linked_list.1.res.oracle b/tests/builtins/oracle_equalities/linked_list.1.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..f60cb5f5e10f4e05e006738213c909bd1d7eec32 --- /dev/null +++ b/tests/builtins/oracle_equalities/linked_list.1.res.oracle @@ -0,0 +1,23 @@ +477a478,479 +> [kernel] tests/builtins/linked_list.c:19: +> more than 100(127) elements to enumerate. Approximating. +530a533,534 +> [kernel] tests/builtins/linked_list.c:43: +> more than 100(127) elements to enumerate. Approximating. +532a537,538 +> [kernel] tests/builtins/linked_list.c:44: +> more than 100(127) elements to enumerate. Approximating. +658a665,666 +> [kernel] tests/builtins/linked_list.c:19: +> more than 100(128) elements to enumerate. Approximating. +702a711,712 +> [kernel] tests/builtins/linked_list.c:43: +> more than 100(128) elements to enumerate. Approximating. +704a715,716 +> [kernel] tests/builtins/linked_list.c:44: +> more than 100(128) elements to enumerate. Approximating. +800,803d811 +< [kernel] tests/builtins/linked_list.c:43: +< more than 100(128) elements to enumerate. Approximating. +< [kernel] tests/builtins/linked_list.c:44: +< more than 100(128) elements to enumerate. Approximating. diff --git a/tests/builtins/diff_symblocs b/tests/builtins/oracle_equalities/malloc-optimistic.res.oracle similarity index 80% rename from tests/builtins/diff_symblocs rename to tests/builtins/oracle_equalities/malloc-optimistic.res.oracle index ee8da8f5ff2393200b544b6fb197f2925da29baa..b3c7f4c235269d85b57d9a80bef690a0eada1a5a 100644 --- a/tests/builtins/diff_symblocs +++ b/tests/builtins/oracle_equalities/malloc-optimistic.res.oracle @@ -1,42 +1,3 @@ -diff tests/builtins/oracle/alloc_weak.res.oracle tests/builtins/oracle_symblocs/alloc_weak.res.oracle -36,37d35 -< [eva:alarm] tests/builtins/alloc_weak.c:30: Warning: -< accessing uninitialized left-value. assert \initialized(p); -912c910 -< r ∈ [--..--] ---- -> r ∈ {42} -diff tests/builtins/oracle/imprecise.res.oracle tests/builtins/oracle_symblocs/imprecise.res.oracle -229a230,231 -> [kernel] tests/builtins/imprecise.c:111: -> more than 200(300) elements to enumerate. Approximating. -238a241,242 -> [kernel] tests/builtins/imprecise.c:114: -> more than 200(300) elements to enumerate. Approximating. -242,245d245 -< [kernel] tests/builtins/imprecise.c:111: -< more than 200(300) elements to enumerate. Approximating. -< [kernel] tests/builtins/imprecise.c:114: -< more than 200(300) elements to enumerate. Approximating. -diff tests/builtins/oracle/linked_list.1.res.oracle tests/builtins/oracle_symblocs/linked_list.1.res.oracle -530a531,532 -> [kernel] tests/builtins/linked_list.c:43: -> more than 100(127) elements to enumerate. Approximating. -532a535,536 -> [kernel] tests/builtins/linked_list.c:44: -> more than 100(127) elements to enumerate. Approximating. -702a707,708 -> [kernel] tests/builtins/linked_list.c:43: -> more than 100(128) elements to enumerate. Approximating. -704a711,712 -> [kernel] tests/builtins/linked_list.c:44: -> more than 100(128) elements to enumerate. Approximating. -800,803d807 -< [kernel] tests/builtins/linked_list.c:43: -< more than 100(128) elements to enumerate. Approximating. -< [kernel] tests/builtins/linked_list.c:44: -< more than 100(128) elements to enumerate. Approximating. -diff tests/builtins/oracle/malloc-optimistic.res.oracle tests/builtins/oracle_symblocs/malloc-optimistic.res.oracle 524,525d523 < [eva:alarm] tests/builtins/malloc-optimistic.c:79: Warning: < accessing uninitialized left-value. assert \initialized(p + i); diff --git a/tests/builtins/oracle_equalities/write-const.res.oracle b/tests/builtins/oracle_equalities/write-const.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..0a5f8befe7584eb8848315543ca4c602b77dcb58 --- /dev/null +++ b/tests/builtins/oracle_equalities/write-const.res.oracle @@ -0,0 +1,8 @@ +84c84 +< tmp ∈ {{ &a ; &b }} +--- +> tmp ∈ {{ &b }} +107c107 +< tmp ∈ {{ &a ; &b }} +--- +> tmp ∈ {{ &b }} diff --git a/tests/builtins/oracle_gauges/linked_list.0.res.oracle b/tests/builtins/oracle_gauges/linked_list.0.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..3e663c0dba878b5c33d027da0e0592a81d0ff7d8 --- /dev/null +++ b/tests/builtins/oracle_gauges/linked_list.0.res.oracle @@ -0,0 +1,7 @@ +2290a2291,2296 +> [eva] computing for function printf_va_1 <- main. +> Called from tests/builtins/linked_list.c:51. +> [eva] Done for function printf_va_1 +> [eva] computing for function printf_va_1 <- main. +> Called from tests/builtins/linked_list.c:51. +> [eva] Done for function printf_va_1 diff --git a/tests/builtins/oracle_gauges/linked_list.1.res.oracle b/tests/builtins/oracle_gauges/linked_list.1.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..7c13a08f9bb84b3ec370ab4095b0f66f9e5b4a81 --- /dev/null +++ b/tests/builtins/oracle_gauges/linked_list.1.res.oracle @@ -0,0 +1,7 @@ +798a799,804 +> [eva] computing for function printf_va_1 <- main. +> Called from tests/builtins/linked_list.c:51. +> [eva] Done for function printf_va_1 +> [eva] computing for function printf_va_1 <- main. +> Called from tests/builtins/linked_list.c:51. +> [eva] Done for function printf_va_1 diff --git a/tests/builtins/oracle_gauges/malloc-size-zero.1.res.oracle b/tests/builtins/oracle_gauges/malloc-size-zero.1.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..0c017518231a9387ed3a716683b90316af598b7a --- /dev/null +++ b/tests/builtins/oracle_gauges/malloc-size-zero.1.res.oracle @@ -0,0 +1,11 @@ +31a32,41 +> [eva] computing for function my_calloc <- main. +> Called from tests/builtins/malloc-size-zero.c:29. +> [eva] tests/builtins/malloc-size-zero.c:10: Call to builtin malloc +> [eva] Recording results for my_calloc +> [eva] Done for function my_calloc +> [eva] computing for function my_calloc <- main. +> Called from tests/builtins/malloc-size-zero.c:29. +> [eva] tests/builtins/malloc-size-zero.c:10: Call to builtin malloc +> [eva] Recording results for my_calloc +> [eva] Done for function my_calloc diff --git a/tests/builtins/oracle_gauges/memcpy.res.oracle b/tests/builtins/oracle_gauges/memcpy.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..91212f9a25006a4d43cdbe619d37707f3b6be6cf --- /dev/null +++ b/tests/builtins/oracle_gauges/memcpy.res.oracle @@ -0,0 +1,5 @@ +176a177,178 +> [eva] tests/builtins/memcpy.c:96: Call to builtin memcpy +> [eva] tests/builtins/memcpy.c:96: Call to builtin memcpy +457a460 +> [eva] tests/builtins/memcpy.c:230: starting to merge loop iterations diff --git a/tests/builtins/diff_gauges b/tests/builtins/oracle_gauges/realloc.res.oracle similarity index 89% rename from tests/builtins/diff_gauges rename to tests/builtins/oracle_gauges/realloc.res.oracle index 5ab38814e5490f8fefbb33e3c3e00dbb35eb1772..eb5ba9f9b6059c288fb316686521befe7c4c1fc3 100644 --- a/tests/builtins/diff_gauges +++ b/tests/builtins/oracle_gauges/realloc.res.oracle @@ -1,38 +1,3 @@ -diff tests/builtins/oracle/linked_list.0.res.oracle tests/builtins/oracle_gauges/linked_list.0.res.oracle -2290a2291,2296 -> [eva] computing for function printf_va_1 <- main. -> Called from tests/builtins/linked_list.c:51. -> [eva] Done for function printf_va_1 -> [eva] computing for function printf_va_1 <- main. -> Called from tests/builtins/linked_list.c:51. -> [eva] Done for function printf_va_1 -diff tests/builtins/oracle/linked_list.1.res.oracle tests/builtins/oracle_gauges/linked_list.1.res.oracle -798a799,804 -> [eva] computing for function printf_va_1 <- main. -> Called from tests/builtins/linked_list.c:51. -> [eva] Done for function printf_va_1 -> [eva] computing for function printf_va_1 <- main. -> Called from tests/builtins/linked_list.c:51. -> [eva] Done for function printf_va_1 -diff tests/builtins/oracle/malloc-size-zero.1.res.oracle tests/builtins/oracle_gauges/malloc-size-zero.1.res.oracle -31a32,41 -> [eva] computing for function my_calloc <- main. -> Called from tests/builtins/malloc-size-zero.c:29. -> [eva] tests/builtins/malloc-size-zero.c:10: Call to builtin malloc -> [eva] Recording results for my_calloc -> [eva] Done for function my_calloc -> [eva] computing for function my_calloc <- main. -> Called from tests/builtins/malloc-size-zero.c:29. -> [eva] tests/builtins/malloc-size-zero.c:10: Call to builtin malloc -> [eva] Recording results for my_calloc -> [eva] Done for function my_calloc -diff tests/builtins/oracle/memcpy.res.oracle tests/builtins/oracle_gauges/memcpy.res.oracle -176a177,178 -> [eva] tests/builtins/memcpy.c:96: Call to builtin memcpy -> [eva] tests/builtins/memcpy.c:96: Call to builtin memcpy -457a460 -> [eva] tests/builtins/memcpy.c:230: starting to merge loop iterations -diff tests/builtins/oracle/realloc.res.oracle tests/builtins/oracle_gauges/realloc.res.oracle 677a678,1026 > [eva] tests/builtins/realloc.c:152: Call to builtin realloc > [eva:malloc] bases_to_realloc: {__realloc_w_main10_l152} diff --git a/tests/builtins/oracle_octagons/allocated.0.res.oracle b/tests/builtins/oracle_octagons/allocated.0.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..a970bfeaa5593624bcc26eb76d03bb912cea6cb5 --- /dev/null +++ b/tests/builtins/oracle_octagons/allocated.0.res.oracle @@ -0,0 +1,4 @@ +273c273 +< j ∈ [1..2147483647] +--- +> j ∈ {10} diff --git a/tests/builtins/diff_equalities b/tests/builtins/oracle_octagons/allocated.1.res.oracle similarity index 58% rename from tests/builtins/diff_equalities rename to tests/builtins/oracle_octagons/allocated.1.res.oracle index 8699598a3ca9544f25a497378f97193643a0b367..4ac690d043fdd5c2afbd6920018a8ecb36c52300 100644 --- a/tests/builtins/diff_equalities +++ b/tests/builtins/oracle_octagons/allocated.1.res.oracle @@ -1,12 +1,3 @@ -diff tests/builtins/oracle/alloc_weak.res.oracle tests/builtins/oracle_equalities/alloc_weak.res.oracle -36,37d35 -< [eva:alarm] tests/builtins/alloc_weak.c:30: Warning: -< accessing uninitialized left-value. assert \initialized(p); -912c910 -< r ∈ [--..--] ---- -> r ∈ {42} -diff tests/builtins/oracle/allocated.1.res.oracle tests/builtins/oracle_equalities/allocated.1.res.oracle 171a172,173 > [eva] tests/builtins/allocated.c:82: Call to builtin malloc > [eva] tests/builtins/allocated.c:82: allocating variable __malloc_main_l82_7 @@ -285,305 +276,3 @@ diff tests/builtins/oracle/allocated.1.res.oracle tests/builtins/oracle_equaliti > __malloc_main_l82_36[0..2]; __malloc_main_l82_37[0..2]; > __malloc_main_l97[0]; __malloc_main_l114[0..3]; __malloc_main_l127; > __malloc_main_l127_0[0..1]; __malloc_main_l127_1[0..2]; -diff tests/builtins/oracle/imprecise.res.oracle tests/builtins/oracle_equalities/imprecise.res.oracle -104a105,106 -> [kernel] tests/builtins/imprecise.c:51: -> imprecise size for variable v3 (abstract type 'struct u') -229a232,233 -> [kernel] tests/builtins/imprecise.c:111: -> more than 200(300) elements to enumerate. Approximating. -238a243,244 -> [kernel] tests/builtins/imprecise.c:114: -> more than 200(300) elements to enumerate. Approximating. -242,245d247 -< [kernel] tests/builtins/imprecise.c:111: -< more than 200(300) elements to enumerate. Approximating. -< [kernel] tests/builtins/imprecise.c:114: -< more than 200(300) elements to enumerate. Approximating. -diff tests/builtins/oracle/linked_list.1.res.oracle tests/builtins/oracle_equalities/linked_list.1.res.oracle -477a478,479 -> [kernel] tests/builtins/linked_list.c:19: -> more than 100(127) elements to enumerate. Approximating. -530a533,534 -> [kernel] tests/builtins/linked_list.c:43: -> more than 100(127) elements to enumerate. Approximating. -532a537,538 -> [kernel] tests/builtins/linked_list.c:44: -> more than 100(127) elements to enumerate. Approximating. -658a665,666 -> [kernel] tests/builtins/linked_list.c:19: -> more than 100(128) elements to enumerate. Approximating. -702a711,712 -> [kernel] tests/builtins/linked_list.c:43: -> more than 100(128) elements to enumerate. Approximating. -704a715,716 -> [kernel] tests/builtins/linked_list.c:44: -> more than 100(128) elements to enumerate. Approximating. -800,803d811 -< [kernel] tests/builtins/linked_list.c:43: -< more than 100(128) elements to enumerate. Approximating. -< [kernel] tests/builtins/linked_list.c:44: -< more than 100(128) elements to enumerate. Approximating. -diff tests/builtins/oracle/malloc-optimistic.res.oracle tests/builtins/oracle_equalities/malloc-optimistic.res.oracle -524,525d523 -< [eva:alarm] tests/builtins/malloc-optimistic.c:79: Warning: -< accessing uninitialized left-value. assert \initialized(p + i); -533c531 -< k ∈ {-2; -1} ---- -> k ∈ {-1} -569c567 -< k ∈ {-1; 0} ---- -> k ∈ {0} -607c605 -< k ∈ {0; 1} ---- -> k ∈ {1} -647c645 -< k ∈ {1; 2} ---- -> k ∈ {2} -689c687 -< k ∈ {2; 3} ---- -> k ∈ {3} -733c731 -< k ∈ {3; 4} ---- -> k ∈ {4} -779c777 -< k ∈ {4; 5} ---- -> k ∈ {5} -827c825 -< k ∈ {5; 6} ---- -> k ∈ {6} -877c875 -< k ∈ {6; 7} ---- -> k ∈ {7} -1826,1827d1823 -< [eva:alarm] tests/builtins/malloc-optimistic.c:92: Warning: -< accessing uninitialized left-value. assert \initialized(p + i); -2018,2019d2013 -< [eva:alarm] tests/builtins/malloc-optimistic.c:105: Warning: -< accessing uninitialized left-value. assert \initialized(p + i); -2027c2021 -< k ∈ {-2; -1} ---- -> k ∈ {-1} -2085c2079 -< k ∈ {-1; 0} ---- -> k ∈ {0} -2145c2139 -< k ∈ {0; 1} ---- -> k ∈ {1} -2207c2201 -< k ∈ {1; 2} ---- -> k ∈ {2} -2271c2265 -< k ∈ {2; 3} ---- -> k ∈ {3} -2337c2331 -< k ∈ {3; 4} ---- -> k ∈ {4} -2405c2399 -< k ∈ {4; 5} ---- -> k ∈ {5} -2475c2469 -< k ∈ {5; 6} ---- -> k ∈ {6} -2547c2541 -< k ∈ {6; 7} ---- -> k ∈ {7} -2621c2615 -< k ∈ {7; 8} ---- -> k ∈ {8} -2697c2691 -< k ∈ {8; 9} ---- -> k ∈ {9} -2775c2769 -< k ∈ {9; 10} ---- -> k ∈ {10} -2855c2849 -< k ∈ {10; 11} ---- -> k ∈ {11} -2937c2931 -< k ∈ {11; 12} ---- -> k ∈ {12} -3018c3012 -< k ∈ {12; 13} ---- -> k ∈ {13} -3064c3058 -< k ∈ {12; 13; 14} ---- -> k ∈ {13; 14} -3109c3103 -< k ∈ {12; 13; 14; 15} ---- -> k ∈ {13; 14; 15} -3154c3148 -< k ∈ [12..97] ---- -> k ∈ [13..97] -3211c3205 -< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {-20; 1} ---- -> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {1} -3219c3213 -< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {-20; 1; 2} ---- -> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {2} -3227c3221 -< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {-20; 1; 2; 3} ---- -> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {3} -3235,3236c3229 -< [eva] tests/builtins/malloc-optimistic.c:122: -< Frama_C_show_each: {-20; 1; 2; 3; 4} ---- -> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {4} -3244,3245c3237 -< [eva] tests/builtins/malloc-optimistic.c:122: -< Frama_C_show_each: {-20; 1; 2; 3; 4; 5} ---- -> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {5} -3253,3254c3245 -< [eva] tests/builtins/malloc-optimistic.c:122: -< Frama_C_show_each: {-20; 1; 2; 3; 4; 5; 6} ---- -> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {6} -3262,3263c3253 -< [eva] tests/builtins/malloc-optimistic.c:122: -< Frama_C_show_each: {-20; 1; 2; 3; 4; 5; 6; 7} ---- -> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {7} -3271c3261 -< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [-20..8] ---- -> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {8} -3279c3269 -< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [-20..9] ---- -> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {9} -3287c3277 -< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [-20..10] ---- -> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {10} -3295c3285 -< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [-20..11] ---- -> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {11} -3303c3293 -< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [-20..12] ---- -> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {12} -3311c3301 -< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [-20..13] ---- -> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {13} -3319c3309 -< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [-20..14] ---- -> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {14} -3327c3317 -< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [-20..15] ---- -> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {15} -3335c3325 -< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [-20..16] ---- -> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {16} -3343c3333 -< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [-20..17] ---- -> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {17} -3351c3341 -< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [-20..18] ---- -> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {18} -3359c3349 -< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [-20..19] ---- -> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {19} -3367c3357 -< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [-20..20] ---- -> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {20} -3375c3365 -< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [-20..21] ---- -> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {21} -3383c3373 -< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [-20..22] ---- -> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {22} -3391c3381 -< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [-20..23] ---- -> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {23} -3399c3389 -< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [-20..24] ---- -> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {24} -3407c3397 -< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [-20..25] ---- -> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {25} -3415c3405 -< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [-20..26] ---- -> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {26} -3423c3413 -< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [-20..27] ---- -> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {27} -3431c3421 -< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [-20..28] ---- -> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {28} -3439c3429 -< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [-20..29] ---- -> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {29} -3447c3437 -< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [-20..30] ---- -> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {30} -3456c3446 -< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [-20..31] ---- -> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {30; 31} -3464c3454 -< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [-20..32] ---- -> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {30; 31; 32} -3472c3462 -< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [-20..99] ---- -> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [30..99] -diff tests/builtins/oracle/write-const.res.oracle tests/builtins/oracle_equalities/write-const.res.oracle -84c84 -< tmp ∈ {{ &a ; &b }} ---- -> tmp ∈ {{ &b }} -107c107 -< tmp ∈ {{ &a ; &b }} ---- -> tmp ∈ {{ &b }} diff --git a/tests/builtins/oracle_octagons/imprecise.res.oracle b/tests/builtins/oracle_octagons/imprecise.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..6a8f6f7472f5a5501091a29779ea57ee2a5e3a76 --- /dev/null +++ b/tests/builtins/oracle_octagons/imprecise.res.oracle @@ -0,0 +1,11 @@ +229a230,231 +> [kernel] tests/builtins/imprecise.c:111: +> more than 200(300) elements to enumerate. Approximating. +238a241,242 +> [kernel] tests/builtins/imprecise.c:114: +> more than 200(300) elements to enumerate. Approximating. +242,245d245 +< [kernel] tests/builtins/imprecise.c:111: +< more than 200(300) elements to enumerate. Approximating. +< [kernel] tests/builtins/imprecise.c:114: +< more than 200(300) elements to enumerate. Approximating. diff --git a/tests/builtins/oracle_octagons/linked_list.1.res.oracle b/tests/builtins/oracle_octagons/linked_list.1.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..68e3c862caba586b10558d8444653c9887203172 --- /dev/null +++ b/tests/builtins/oracle_octagons/linked_list.1.res.oracle @@ -0,0 +1,17 @@ +530a531,532 +> [kernel] tests/builtins/linked_list.c:43: +> more than 100(127) elements to enumerate. Approximating. +532a535,536 +> [kernel] tests/builtins/linked_list.c:44: +> more than 100(127) elements to enumerate. Approximating. +702a707,708 +> [kernel] tests/builtins/linked_list.c:43: +> more than 100(128) elements to enumerate. Approximating. +704a711,712 +> [kernel] tests/builtins/linked_list.c:44: +> more than 100(128) elements to enumerate. Approximating. +800,803d807 +< [kernel] tests/builtins/linked_list.c:43: +< more than 100(128) elements to enumerate. Approximating. +< [kernel] tests/builtins/linked_list.c:44: +< more than 100(128) elements to enumerate. Approximating. diff --git a/tests/builtins/oracle_octagons/malloc-optimistic.res.oracle b/tests/builtins/oracle_octagons/malloc-optimistic.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..0b5266ca5c301fd7cca13468863189f962c14abc --- /dev/null +++ b/tests/builtins/oracle_octagons/malloc-optimistic.res.oracle @@ -0,0 +1,8 @@ +3520c3520 +< i ∈ [14..100] +--- +> i ∈ {98; 99; 100} +3524c3524 +< i ∈ [14..100] +--- +> i ∈ {98; 99; 100} diff --git a/tests/builtins/oracle_symblocs/alloc_weak.res.oracle b/tests/builtins/oracle_symblocs/alloc_weak.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..46bd130fae56226367c2947b899aace1bcb8b4d1 --- /dev/null +++ b/tests/builtins/oracle_symblocs/alloc_weak.res.oracle @@ -0,0 +1,7 @@ +36,37d35 +< [eva:alarm] tests/builtins/alloc_weak.c:30: Warning: +< accessing uninitialized left-value. assert \initialized(p); +912c910 +< r ∈ [--..--] +--- +> r ∈ {42} diff --git a/tests/builtins/oracle_symblocs/imprecise.res.oracle b/tests/builtins/oracle_symblocs/imprecise.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..6a8f6f7472f5a5501091a29779ea57ee2a5e3a76 --- /dev/null +++ b/tests/builtins/oracle_symblocs/imprecise.res.oracle @@ -0,0 +1,11 @@ +229a230,231 +> [kernel] tests/builtins/imprecise.c:111: +> more than 200(300) elements to enumerate. Approximating. +238a241,242 +> [kernel] tests/builtins/imprecise.c:114: +> more than 200(300) elements to enumerate. Approximating. +242,245d245 +< [kernel] tests/builtins/imprecise.c:111: +< more than 200(300) elements to enumerate. Approximating. +< [kernel] tests/builtins/imprecise.c:114: +< more than 200(300) elements to enumerate. Approximating. diff --git a/tests/builtins/oracle_symblocs/linked_list.1.res.oracle b/tests/builtins/oracle_symblocs/linked_list.1.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..68e3c862caba586b10558d8444653c9887203172 --- /dev/null +++ b/tests/builtins/oracle_symblocs/linked_list.1.res.oracle @@ -0,0 +1,17 @@ +530a531,532 +> [kernel] tests/builtins/linked_list.c:43: +> more than 100(127) elements to enumerate. Approximating. +532a535,536 +> [kernel] tests/builtins/linked_list.c:44: +> more than 100(127) elements to enumerate. Approximating. +702a707,708 +> [kernel] tests/builtins/linked_list.c:43: +> more than 100(128) elements to enumerate. Approximating. +704a711,712 +> [kernel] tests/builtins/linked_list.c:44: +> more than 100(128) elements to enumerate. Approximating. +800,803d807 +< [kernel] tests/builtins/linked_list.c:43: +< more than 100(128) elements to enumerate. Approximating. +< [kernel] tests/builtins/linked_list.c:44: +< more than 100(128) elements to enumerate. Approximating. diff --git a/tests/builtins/oracle_symblocs/malloc-optimistic.res.oracle b/tests/builtins/oracle_symblocs/malloc-optimistic.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..b3c7f4c235269d85b57d9a80bef690a0eada1a5a --- /dev/null +++ b/tests/builtins/oracle_symblocs/malloc-optimistic.res.oracle @@ -0,0 +1,253 @@ +524,525d523 +< [eva:alarm] tests/builtins/malloc-optimistic.c:79: Warning: +< accessing uninitialized left-value. assert \initialized(p + i); +533c531 +< k ∈ {-2; -1} +--- +> k ∈ {-1} +569c567 +< k ∈ {-1; 0} +--- +> k ∈ {0} +607c605 +< k ∈ {0; 1} +--- +> k ∈ {1} +647c645 +< k ∈ {1; 2} +--- +> k ∈ {2} +689c687 +< k ∈ {2; 3} +--- +> k ∈ {3} +733c731 +< k ∈ {3; 4} +--- +> k ∈ {4} +779c777 +< k ∈ {4; 5} +--- +> k ∈ {5} +827c825 +< k ∈ {5; 6} +--- +> k ∈ {6} +877c875 +< k ∈ {6; 7} +--- +> k ∈ {7} +1826,1827d1823 +< [eva:alarm] tests/builtins/malloc-optimistic.c:92: Warning: +< accessing uninitialized left-value. assert \initialized(p + i); +2018,2019d2013 +< [eva:alarm] tests/builtins/malloc-optimistic.c:105: Warning: +< accessing uninitialized left-value. assert \initialized(p + i); +2027c2021 +< k ∈ {-2; -1} +--- +> k ∈ {-1} +2085c2079 +< k ∈ {-1; 0} +--- +> k ∈ {0} +2145c2139 +< k ∈ {0; 1} +--- +> k ∈ {1} +2207c2201 +< k ∈ {1; 2} +--- +> k ∈ {2} +2271c2265 +< k ∈ {2; 3} +--- +> k ∈ {3} +2337c2331 +< k ∈ {3; 4} +--- +> k ∈ {4} +2405c2399 +< k ∈ {4; 5} +--- +> k ∈ {5} +2475c2469 +< k ∈ {5; 6} +--- +> k ∈ {6} +2547c2541 +< k ∈ {6; 7} +--- +> k ∈ {7} +2621c2615 +< k ∈ {7; 8} +--- +> k ∈ {8} +2697c2691 +< k ∈ {8; 9} +--- +> k ∈ {9} +2775c2769 +< k ∈ {9; 10} +--- +> k ∈ {10} +2855c2849 +< k ∈ {10; 11} +--- +> k ∈ {11} +2937c2931 +< k ∈ {11; 12} +--- +> k ∈ {12} +3018c3012 +< k ∈ {12; 13} +--- +> k ∈ {13} +3064c3058 +< k ∈ {12; 13; 14} +--- +> k ∈ {13; 14} +3109c3103 +< k ∈ {12; 13; 14; 15} +--- +> k ∈ {13; 14; 15} +3154c3148 +< k ∈ [12..97] +--- +> k ∈ [13..97] +3211c3205 +< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {-20; 1} +--- +> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {1} +3219c3213 +< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {-20; 1; 2} +--- +> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {2} +3227c3221 +< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {-20; 1; 2; 3} +--- +> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {3} +3235,3236c3229 +< [eva] tests/builtins/malloc-optimistic.c:122: +< Frama_C_show_each: {-20; 1; 2; 3; 4} +--- +> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {4} +3244,3245c3237 +< [eva] tests/builtins/malloc-optimistic.c:122: +< Frama_C_show_each: {-20; 1; 2; 3; 4; 5} +--- +> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {5} +3253,3254c3245 +< [eva] tests/builtins/malloc-optimistic.c:122: +< Frama_C_show_each: {-20; 1; 2; 3; 4; 5; 6} +--- +> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {6} +3262,3263c3253 +< [eva] tests/builtins/malloc-optimistic.c:122: +< Frama_C_show_each: {-20; 1; 2; 3; 4; 5; 6; 7} +--- +> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {7} +3271c3261 +< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [-20..8] +--- +> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {8} +3279c3269 +< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [-20..9] +--- +> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {9} +3287c3277 +< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [-20..10] +--- +> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {10} +3295c3285 +< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [-20..11] +--- +> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {11} +3303c3293 +< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [-20..12] +--- +> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {12} +3311c3301 +< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [-20..13] +--- +> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {13} +3319c3309 +< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [-20..14] +--- +> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {14} +3327c3317 +< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [-20..15] +--- +> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {15} +3335c3325 +< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [-20..16] +--- +> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {16} +3343c3333 +< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [-20..17] +--- +> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {17} +3351c3341 +< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [-20..18] +--- +> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {18} +3359c3349 +< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [-20..19] +--- +> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {19} +3367c3357 +< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [-20..20] +--- +> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {20} +3375c3365 +< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [-20..21] +--- +> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {21} +3383c3373 +< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [-20..22] +--- +> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {22} +3391c3381 +< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [-20..23] +--- +> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {23} +3399c3389 +< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [-20..24] +--- +> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {24} +3407c3397 +< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [-20..25] +--- +> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {25} +3415c3405 +< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [-20..26] +--- +> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {26} +3423c3413 +< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [-20..27] +--- +> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {27} +3431c3421 +< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [-20..28] +--- +> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {28} +3439c3429 +< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [-20..29] +--- +> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {29} +3447c3437 +< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [-20..30] +--- +> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {30} +3456c3446 +< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [-20..31] +--- +> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {30; 31} +3464c3454 +< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [-20..32] +--- +> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: {30; 31; 32} +3472c3462 +< [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [-20..99] +--- +> [eva] tests/builtins/malloc-optimistic.c:122: Frama_C_show_each: [30..99] diff --git a/tests/float/.gitignore b/tests/float/.gitignore deleted file mode 100644 index 5de45901ce62a18d26c6309c170b943215b78b67..0000000000000000000000000000000000000000 --- a/tests/float/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/oracle_* diff --git a/tests/float/diff_apron b/tests/float/diff_apron deleted file mode 100644 index 4534235bc71b5660c23f9e9c4da7fa19e6658b61..0000000000000000000000000000000000000000 --- a/tests/float/diff_apron +++ /dev/null @@ -1,6 +0,0 @@ -Only in tests/float/oracle: absorb.res.oracle -Only in tests/float/oracle: absorb_sav.err -Only in tests/float/oracle: absorb_sav.res -Only in tests/float/oracle: absorb_sav2.err -Only in tests/float/oracle: absorb_sav2.res -Only in tests/float/oracle: fval_test.res.oracle diff --git a/tests/float/diff_bitwise b/tests/float/diff_bitwise deleted file mode 100644 index 4534235bc71b5660c23f9e9c4da7fa19e6658b61..0000000000000000000000000000000000000000 --- a/tests/float/diff_bitwise +++ /dev/null @@ -1,6 +0,0 @@ -Only in tests/float/oracle: absorb.res.oracle -Only in tests/float/oracle: absorb_sav.err -Only in tests/float/oracle: absorb_sav.res -Only in tests/float/oracle: absorb_sav2.err -Only in tests/float/oracle: absorb_sav2.res -Only in tests/float/oracle: fval_test.res.oracle diff --git a/tests/float/diff_equalities b/tests/float/diff_equalities deleted file mode 100644 index bf39814c4b96d859cb091c9b348f53ca943cf92b..0000000000000000000000000000000000000000 --- a/tests/float/diff_equalities +++ /dev/null @@ -1,44 +0,0 @@ -Only in tests/float/oracle: absorb.res.oracle -Only in tests/float/oracle: absorb_sav.err -Only in tests/float/oracle: absorb_sav.res -Only in tests/float/oracle: absorb_sav2.err -Only in tests/float/oracle: absorb_sav2.res -diff tests/float/oracle/alarms.0.res.oracle tests/float/oracle_equalities/alarms.0.res.oracle -141,143c141,142 -< u1{.l[bits 0 to 31]; .f; .d[bits 0 to 31]} ∈ -< [-3.40282346639e+38 .. 3.40282346639e+38] -< {.l[bits 32 to 63]; .f[bits 32 to 63]; .d[bits 32 to 63]} ∈ [--..--] ---- -> u1{.l; .f[bits 0 to 63]; .d} ∈ -> [-9223372036854775808..9218868437227405311] -diff tests/float/oracle/alarms.1.res.oracle tests/float/oracle_equalities/alarms.1.res.oracle -126,127c126,127 -< u1{.l[bits 0 to 31]; .f; .d[bits 0 to 31]} ∈ [-inf .. inf] -< {.l[bits 32 to 63]; .f[bits 32 to 63]; .d[bits 32 to 63]} ∈ [--..--] ---- -> u1{.l; .f[bits 0 to 63]; .d} ∈ -> [-9223372036854775808..9218868437227405312] -diff tests/float/oracle/cond.res.oracle tests/float/oracle_equalities/cond.res.oracle -45,46c45,46 -< dz ∈ [0x1.0000000000001p0 .. 0x1.4000000000000p3] -< dt ∈ [-0x1.4000000000000p3 .. 0x1.fffffffffffffp-1] ---- -> dz ∈ [0x1.0000020000000p0 .. 0x1.4000000000000p3] -> dt ∈ [-0x1.4000000000000p3 .. 0x1.fffffe0000000p-1] -Only in tests/float/oracle: fval_test.res.oracle -diff tests/float/oracle/nonlin.1.res.oracle tests/float/oracle_equalities/nonlin.1.res.oracle -61a62 -> [eva:nonlin] tests/float/nonlin.c:44: subdividing on a -diff tests/float/oracle/nonlin.2.res.oracle tests/float/oracle_equalities/nonlin.2.res.oracle -61a62 -> [eva:nonlin] tests/float/nonlin.c:44: subdividing on a -diff tests/float/oracle/nonlin.4.res.oracle tests/float/oracle_equalities/nonlin.4.res.oracle -61a62 -> [eva:nonlin] tests/float/nonlin.c:44: subdividing on a -diff tests/float/oracle/nonlin.5.res.oracle tests/float/oracle_equalities/nonlin.5.res.oracle -61a62 -> [eva:nonlin] tests/float/nonlin.c:44: subdividing on a -diff tests/float/oracle/parse.res.oracle tests/float/oracle_equalities/parse.res.oracle -22a23,24 -> [eva] tests/float/parse.i:37: Warning: -> cannot parse floating-point constant, returning imprecise result diff --git a/tests/float/diff_gauges b/tests/float/diff_gauges deleted file mode 100644 index 4534235bc71b5660c23f9e9c4da7fa19e6658b61..0000000000000000000000000000000000000000 --- a/tests/float/diff_gauges +++ /dev/null @@ -1,6 +0,0 @@ -Only in tests/float/oracle: absorb.res.oracle -Only in tests/float/oracle: absorb_sav.err -Only in tests/float/oracle: absorb_sav.res -Only in tests/float/oracle: absorb_sav2.err -Only in tests/float/oracle: absorb_sav2.res -Only in tests/float/oracle: fval_test.res.oracle diff --git a/tests/float/diff_octagons b/tests/float/diff_octagons deleted file mode 100644 index c37678723890d07cf9737efd397500e8c12efee2..0000000000000000000000000000000000000000 --- a/tests/float/diff_octagons +++ /dev/null @@ -1,30 +0,0 @@ -Only in tests/float/oracle: absorb.res.oracle -Only in tests/float/oracle: absorb_sav.err -Only in tests/float/oracle: absorb_sav.res -Only in tests/float/oracle: absorb_sav2.err -Only in tests/float/oracle: absorb_sav2.res -Only in tests/float/oracle: fval_test.res.oracle -diff tests/float/oracle/nonlin.1.res.oracle tests/float/oracle_octagons/nonlin.1.res.oracle -283a284,285 -> [eva:nonlin] tests/float/nonlin.c:113: non-linear 'f + f', lv 'f' -> [eva:nonlin] tests/float/nonlin.c:113: subdividing on f -287d288 -< [eva:nonlin] tests/float/nonlin.c:113: subdividing on f -diff tests/float/oracle/nonlin.2.res.oracle tests/float/oracle_octagons/nonlin.2.res.oracle -263a264,265 -> [eva:nonlin] tests/float/nonlin.c:113: non-linear 'f + f', lv 'f' -> [eva:nonlin] tests/float/nonlin.c:113: subdividing on f -267d268 -< [eva:nonlin] tests/float/nonlin.c:113: subdividing on f -diff tests/float/oracle/nonlin.4.res.oracle tests/float/oracle_octagons/nonlin.4.res.oracle -283a284,285 -> [eva:nonlin] tests/float/nonlin.c:113: non-linear 'f + f', lv 'f' -> [eva:nonlin] tests/float/nonlin.c:113: subdividing on f -287d288 -< [eva:nonlin] tests/float/nonlin.c:113: subdividing on f -diff tests/float/oracle/nonlin.5.res.oracle tests/float/oracle_octagons/nonlin.5.res.oracle -263a264,265 -> [eva:nonlin] tests/float/nonlin.c:113: non-linear 'f + f', lv 'f' -> [eva:nonlin] tests/float/nonlin.c:113: subdividing on f -267d268 -< [eva:nonlin] tests/float/nonlin.c:113: subdividing on f diff --git a/tests/float/diff_symblocs b/tests/float/diff_symblocs deleted file mode 100644 index 4534235bc71b5660c23f9e9c4da7fa19e6658b61..0000000000000000000000000000000000000000 --- a/tests/float/diff_symblocs +++ /dev/null @@ -1,6 +0,0 @@ -Only in tests/float/oracle: absorb.res.oracle -Only in tests/float/oracle: absorb_sav.err -Only in tests/float/oracle: absorb_sav.res -Only in tests/float/oracle: absorb_sav2.err -Only in tests/float/oracle: absorb_sav2.res -Only in tests/float/oracle: fval_test.res.oracle diff --git a/tests/float/oracle_equalities/alarms.0.res.oracle b/tests/float/oracle_equalities/alarms.0.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..68e49e3184b0b81f9c011ba5e18670c56e6d4661 --- /dev/null +++ b/tests/float/oracle_equalities/alarms.0.res.oracle @@ -0,0 +1,7 @@ +141,143c141,142 +< u1{.l[bits 0 to 31]; .f; .d[bits 0 to 31]} ∈ +< [-3.40282346639e+38 .. 3.40282346639e+38] +< {.l[bits 32 to 63]; .f[bits 32 to 63]; .d[bits 32 to 63]} ∈ [--..--] +--- +> u1{.l; .f[bits 0 to 63]; .d} ∈ +> [-9223372036854775808..9218868437227405311] diff --git a/tests/float/oracle_equalities/alarms.1.res.oracle b/tests/float/oracle_equalities/alarms.1.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..5e58a829ab38662aa46fb473546ee15e5ae869b2 --- /dev/null +++ b/tests/float/oracle_equalities/alarms.1.res.oracle @@ -0,0 +1,6 @@ +126,127c126,127 +< u1{.l[bits 0 to 31]; .f; .d[bits 0 to 31]} ∈ [-inf .. inf] +< {.l[bits 32 to 63]; .f[bits 32 to 63]; .d[bits 32 to 63]} ∈ [--..--] +--- +> u1{.l; .f[bits 0 to 63]; .d} ∈ +> [-9223372036854775808..9218868437227405312] diff --git a/tests/float/oracle_equalities/cond.res.oracle b/tests/float/oracle_equalities/cond.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..4cd8c3819bdb64f63d5e9a5ad88e1e7fa18fadeb --- /dev/null +++ b/tests/float/oracle_equalities/cond.res.oracle @@ -0,0 +1,6 @@ +45,46c45,46 +< dz ∈ [0x1.0000000000001p0 .. 0x1.4000000000000p3] +< dt ∈ [-0x1.4000000000000p3 .. 0x1.fffffffffffffp-1] +--- +> dz ∈ [0x1.0000020000000p0 .. 0x1.4000000000000p3] +> dt ∈ [-0x1.4000000000000p3 .. 0x1.fffffe0000000p-1] diff --git a/tests/float/oracle_equalities/const3.1.res.oracle b/tests/float/oracle_equalities/const3.1.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..412af6075b5e836804b4f3c7685e52ef6d66ba06 --- /dev/null +++ b/tests/float/oracle_equalities/const3.1.res.oracle @@ -0,0 +1,4 @@ +23c23 +< d1 ∈ [0x1.16c2000000000p-133 .. 0x1.16c3000000000p-133] +--- +> d1 ∈ {0x1.16c2000000000p-133} diff --git a/tests/float/oracle_equalities/dr.2.res.oracle b/tests/float/oracle_equalities/dr.2.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..a95f94eddaafab39b9466d93690939f6fbae3ec4 --- /dev/null +++ b/tests/float/oracle_equalities/dr.2.res.oracle @@ -0,0 +1,8 @@ +25c25 +< [eva] tests/float/dr.i:26: Frama_C_show_each: {0; 1}, {0; 1} +--- +> [eva] tests/float/dr.i:26: Frama_C_show_each: {1}, {0; 1} +30c30 +< e1 ∈ {0; 1} +--- +> e1 ∈ {1} diff --git a/tests/float/oracle_equalities/nonlin.1.res.oracle b/tests/float/oracle_equalities/nonlin.1.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..ecb490dd56a3dc7600996a9fa4c56e69e08246f1 --- /dev/null +++ b/tests/float/oracle_equalities/nonlin.1.res.oracle @@ -0,0 +1,2 @@ +61a62 +> [eva:nonlin] tests/float/nonlin.c:44: subdividing on a diff --git a/tests/float/oracle_equalities/nonlin.2.res.oracle b/tests/float/oracle_equalities/nonlin.2.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..ecb490dd56a3dc7600996a9fa4c56e69e08246f1 --- /dev/null +++ b/tests/float/oracle_equalities/nonlin.2.res.oracle @@ -0,0 +1,2 @@ +61a62 +> [eva:nonlin] tests/float/nonlin.c:44: subdividing on a diff --git a/tests/float/oracle_equalities/nonlin.4.res.oracle b/tests/float/oracle_equalities/nonlin.4.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..ecb490dd56a3dc7600996a9fa4c56e69e08246f1 --- /dev/null +++ b/tests/float/oracle_equalities/nonlin.4.res.oracle @@ -0,0 +1,2 @@ +61a62 +> [eva:nonlin] tests/float/nonlin.c:44: subdividing on a diff --git a/tests/float/oracle_equalities/nonlin.5.res.oracle b/tests/float/oracle_equalities/nonlin.5.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..ecb490dd56a3dc7600996a9fa4c56e69e08246f1 --- /dev/null +++ b/tests/float/oracle_equalities/nonlin.5.res.oracle @@ -0,0 +1,2 @@ +61a62 +> [eva:nonlin] tests/float/nonlin.c:44: subdividing on a diff --git a/tests/float/oracle_equalities/parse.res.oracle b/tests/float/oracle_equalities/parse.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..542e811520e5c6db63e32660ecdbfa1cd1dc7b07 --- /dev/null +++ b/tests/float/oracle_equalities/parse.res.oracle @@ -0,0 +1,3 @@ +22a23,24 +> [eva] tests/float/parse.i:37: Warning: +> cannot parse floating-point constant, returning imprecise result diff --git a/tests/float/oracle_octagons/nonlin.1.res.oracle b/tests/float/oracle_octagons/nonlin.1.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..fe134f358b16fda0215c2c8edce50d56d3918a23 --- /dev/null +++ b/tests/float/oracle_octagons/nonlin.1.res.oracle @@ -0,0 +1,5 @@ +283a284,285 +> [eva:nonlin] tests/float/nonlin.c:113: non-linear 'f + f', lv 'f' +> [eva:nonlin] tests/float/nonlin.c:113: subdividing on f +287d288 +< [eva:nonlin] tests/float/nonlin.c:113: subdividing on f diff --git a/tests/float/oracle_octagons/nonlin.2.res.oracle b/tests/float/oracle_octagons/nonlin.2.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..133a62cf0e9c55c178de48b56c726d904a91ce7e --- /dev/null +++ b/tests/float/oracle_octagons/nonlin.2.res.oracle @@ -0,0 +1,5 @@ +263a264,265 +> [eva:nonlin] tests/float/nonlin.c:113: non-linear 'f + f', lv 'f' +> [eva:nonlin] tests/float/nonlin.c:113: subdividing on f +267d268 +< [eva:nonlin] tests/float/nonlin.c:113: subdividing on f diff --git a/tests/float/oracle_octagons/nonlin.4.res.oracle b/tests/float/oracle_octagons/nonlin.4.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..fe134f358b16fda0215c2c8edce50d56d3918a23 --- /dev/null +++ b/tests/float/oracle_octagons/nonlin.4.res.oracle @@ -0,0 +1,5 @@ +283a284,285 +> [eva:nonlin] tests/float/nonlin.c:113: non-linear 'f + f', lv 'f' +> [eva:nonlin] tests/float/nonlin.c:113: subdividing on f +287d288 +< [eva:nonlin] tests/float/nonlin.c:113: subdividing on f diff --git a/tests/float/oracle_octagons/nonlin.5.res.oracle b/tests/float/oracle_octagons/nonlin.5.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..133a62cf0e9c55c178de48b56c726d904a91ce7e --- /dev/null +++ b/tests/float/oracle_octagons/nonlin.5.res.oracle @@ -0,0 +1,5 @@ +263a264,265 +> [eva:nonlin] tests/float/nonlin.c:113: non-linear 'f + f', lv 'f' +> [eva:nonlin] tests/float/nonlin.c:113: subdividing on f +267d268 +< [eva:nonlin] tests/float/nonlin.c:113: subdividing on f diff --git a/tests/idct/.gitignore b/tests/idct/.gitignore deleted file mode 100644 index 5de45901ce62a18d26c6309c170b943215b78b67..0000000000000000000000000000000000000000 --- a/tests/idct/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/oracle_* diff --git a/tests/idct/diff_bitwise b/tests/idct/diff_bitwise deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/tests/idct/diff_symblocs b/tests/idct/diff_symblocs deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/tests/idct/diff_apron b/tests/idct/oracle_apron/ieee_1180_1990.res.oracle similarity index 99% rename from tests/idct/diff_apron rename to tests/idct/oracle_apron/ieee_1180_1990.res.oracle index 5ba6a7afd0f54ff837ad4d3a56435fe90d807105..b696284c7d49f28e2eb8ee927a34fea902866785 100644 --- a/tests/idct/diff_apron +++ b/tests/idct/oracle_apron/ieee_1180_1990.res.oracle @@ -1,4 +1,3 @@ -diff tests/idct/oracle/ieee_1180_1990.res.oracle tests/idct/oracle_apron/ieee_1180_1990.res.oracle 147,158c147,170 < [eva] tests/idct/ieee_1180_1990.c:85: < Reusing old results for call to IEEE_1180_1990_rand diff --git a/tests/idct/diff_equalities b/tests/idct/oracle_equalities/ieee_1180_1990.res.oracle similarity index 98% rename from tests/idct/diff_equalities rename to tests/idct/oracle_equalities/ieee_1180_1990.res.oracle index 4ed73b90e44bd7a7e5fb827e497ac3b792169bb2..9c63f5d99c1f6986a3e4851262be742e6119bd50 100644 --- a/tests/idct/diff_equalities +++ b/tests/idct/oracle_equalities/ieee_1180_1990.res.oracle @@ -1,4 +1,3 @@ -diff tests/idct/oracle/ieee_1180_1990.res.oracle tests/idct/oracle_equalities/ieee_1180_1990.res.oracle 356a357,358 > [eva:signed-overflow] tests/idct/ieee_1180_1990.c:219: Warning: > 2's complement assumed for overflow diff --git a/tests/idct/diff_gauges b/tests/idct/oracle_gauges/ieee_1180_1990.res.oracle similarity index 67% rename from tests/idct/diff_gauges rename to tests/idct/oracle_gauges/ieee_1180_1990.res.oracle index e7ae4765f4b8c72b685f6b4b5a9175288e2d3df4..78b4e218935dc26704c0c50248719d9ce608473c 100644 --- a/tests/idct/diff_gauges +++ b/tests/idct/oracle_gauges/ieee_1180_1990.res.oracle @@ -1,4 +1,3 @@ -diff tests/idct/oracle/ieee_1180_1990.res.oracle tests/idct/oracle_gauges/ieee_1180_1990.res.oracle 579a580,581 > [eva] tests/idct/ieee_1180_1990.c:100: > Call to builtin Frama_C_sqrt for function sqrt diff --git a/tests/idct/diff_octagons b/tests/idct/oracle_octagons/ieee_1180_1990.res.oracle similarity index 97% rename from tests/idct/diff_octagons rename to tests/idct/oracle_octagons/ieee_1180_1990.res.oracle index 46e477e3f73c2fc3d4aa05888afdfc1d43d7b003..e5cce9d6282fe3ccfb31a03e8be7fd73d4567b45 100644 --- a/tests/idct/diff_octagons +++ b/tests/idct/oracle_octagons/ieee_1180_1990.res.oracle @@ -1,4 +1,3 @@ -diff tests/idct/oracle/ieee_1180_1990.res.oracle tests/idct/oracle_octagons/ieee_1180_1990.res.oracle 424a425,432 > [eva] tests/idct/ieee_1180_1990.c:85: > Reusing old results for call to IEEE_1180_1990_rand diff --git a/tests/libc/oracle/runtime.res.oracle b/tests/libc/oracle/runtime.res.oracle deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/tests/saveload/basic.i b/tests/saveload/basic.i index d69c1a3b38c537d6b2ea6bd2714c3a3f3f0c03cd..6e2f8318e06b079b2a35dc0d74b806f4f8664d85 100644 --- a/tests/saveload/basic.i +++ b/tests/saveload/basic.i @@ -1,21 +1,21 @@ /* run.config - EXECNOW: make -s @PTEST_DIR@/@PTEST_NAME@.cmxs + MODULE: @PTEST_NAME@ EXECNOW: LOG basic_sav.res LOG basic_sav.err BIN basic.sav @frama-c@ -load-module @PTEST_DIR@/@PTEST_NAME@.cmxs -eva @EVA_OPTIONS@ -out -input -deps ./@PTEST_DIR@/@PTEST_NAME@.i -save ./tests/saveload/result/basic.sav > ./tests/saveload/result/basic_sav.res 2> ./tests/saveload/result/basic_sav.err - EXECNOW: LOG basic_sav.1.res LOG basic_sav.1.err BIN basic.1.sav ./bin/toplevel.opt -save ./tests/saveload/result/basic.1.sav @PTEST_DIR@/@PTEST_NAME@.i -eva @EVA_OPTIONS@ -out -input -deps > ./tests/saveload/result/basic_sav.1.res 2> ./tests/saveload/result/basic_sav.1.err + EXECNOW: LOG basic_sav.1.res LOG basic_sav.1.err BIN basic.1.sav @frama-c@ -save ./tests/saveload/result/basic.1.sav @PTEST_DIR@/@PTEST_NAME@.i -eva @EVA_OPTIONS@ -out -input -deps > ./tests/saveload/result/basic_sav.1.res 2> ./tests/saveload/result/basic_sav.1.err + MODULE: STDOPT: +"-load ./tests/saveload/result/basic.sav -eva @EVA_OPTIONS@ -out -input -deps -journal-disable" - STDOPT: #"-load-module @PTEST_DIR@/@PTEST_NAME@.cmxs" +"-load ./tests/saveload/result/basic.1.sav -eva @EVA_OPTIONS@ -out -input -deps -journal-disable -print" + MODULE: @PTEST_NAME@ + STDOPT: +"-load ./tests/saveload/result/basic.1.sav -eva @EVA_OPTIONS@ -out -input -deps -journal-disable -print" + MODULE: STDOPT: +"-load ./tests/saveload/result/basic.1.sav -eva @EVA_OPTIONS@ -out -input -deps -journal-disable" - EXECNOW: make -s @PTEST_DIR@/status.cmxs + MODULE: status EXECNOW: LOG status_sav.res LOG status_sav.err BIN status.sav @frama-c@ -load-module @PTEST_DIR@/status -save ./tests/saveload/result/status.sav @PTEST_DIR@/@PTEST_NAME@.i > ./tests/saveload/result/status_sav.res 2> ./tests/saveload/result/status_sav.err - STDOPT: #"-load-module @PTEST_DIR@/status" +"-load ./tests/saveload/result/status.sav" + STDOPT: +"-load ./tests/saveload/result/status.sav" + MODULE: STDOPT: +"-load ./tests/saveload/result/status.sav" */ - int main() { - int i, j; - - i = 10; - /*@ assert (i == 10); */ + int i,j; i=10; /*@ assert (i == 10); */ while(i--); j = 5; diff --git a/tests/test_config_apron b/tests/test_config_apron index 568bc84e0ab1763640485b94c48d108a868c76b1..ff3a028903375e622d271ae85a070bdad02df8cb 100644 --- a/tests/test_config_apron +++ b/tests/test_config_apron @@ -1,3 +1,7 @@ MACRO: EVA_OPTIONS -eva-show-progress -eva-msg-key=-summary -eva-auto-loop-unroll 0 -eva-domains apron-octagon -eva-warn-key experimental=inactive MACRO: EVA_CONFIG @EVA_OPTIONS@ -no-autoload-plugins -load-module from,inout,eva,scope,variadic -machdep x86_32 + +# Compare the result with the oracle of the default config. +FILTER: diff --new-file @PTEST_DIR@/oracle/@PTEST_ORACLE@ - + OPT: -eva @EVA_CONFIG@ -journal-disable -out -input -deps diff --git a/tests/test_config_bitwise b/tests/test_config_bitwise index 9a4d5dfea1a205e217149f186c5341ca046a5189..103334223c75fc4d7ef5faadd2187fd3913defbf 100644 --- a/tests/test_config_bitwise +++ b/tests/test_config_bitwise @@ -1,3 +1,7 @@ MACRO: EVA_OPTIONS -eva-show-progress -eva-msg-key=-summary -eva-auto-loop-unroll 0 -eva-domains bitwise MACRO: EVA_CONFIG @EVA_OPTIONS@ -no-autoload-plugins -load-module from,inout,eva,scope,variadic -machdep x86_32 + +# Compare the result with the oracle of the default config. +FILTER: diff --new-file @PTEST_DIR@/oracle/@PTEST_ORACLE@ - + OPT: -eva @EVA_CONFIG@ -journal-disable -out -input -deps diff --git a/tests/test_config_equalities b/tests/test_config_equalities index 45664b6c91351aae50544f999ad2d98142ee818e..ffa23c9d32dac550f13db32f54185a48c1b3772e 100644 --- a/tests/test_config_equalities +++ b/tests/test_config_equalities @@ -1,3 +1,7 @@ MACRO: EVA_OPTIONS -eva-show-progress -eva-msg-key=-summary -eva-auto-loop-unroll 0 -eva-domains equality MACRO: EVA_CONFIG @EVA_OPTIONS@ -no-autoload-plugins -load-module from,inout,eva,scope,variadic -machdep x86_32 + +# Compare the result with the oracle of the default config. +FILTER: diff --new-file @PTEST_DIR@/oracle/@PTEST_ORACLE@ - + OPT: -eva @EVA_CONFIG@ -journal-disable -out -input -deps diff --git a/tests/test_config_gauges b/tests/test_config_gauges index ee46c34eb9c1a5f4dfb63334ee41a14f19fcfb40..2c04eba2c74acdaa705e8dc6437b577266183d32 100644 --- a/tests/test_config_gauges +++ b/tests/test_config_gauges @@ -1,3 +1,7 @@ MACRO: EVA_OPTIONS -eva-show-progress -eva-msg-key=-summary -eva-auto-loop-unroll 0 -eva-domains gauges MACRO: EVA_CONFIG @EVA_OPTIONS@ -no-autoload-plugins -load-module from,inout,eva,scope,variadic -machdep x86_32 + +# Compare the result with the oracle of the default config. +FILTER: diff --new-file @PTEST_DIR@/oracle/@PTEST_ORACLE@ - + OPT: -eva @EVA_CONFIG@ -journal-disable -out -input -deps diff --git a/tests/test_config_octagons b/tests/test_config_octagons index 689c4edbfbb0fe5a6259aa03d4971a16a5b6387c..c3f170e9652940aae572fa469a014cb5da8baf23 100644 --- a/tests/test_config_octagons +++ b/tests/test_config_octagons @@ -1,3 +1,7 @@ MACRO: EVA_OPTIONS -eva-show-progress -eva-msg-key=-summary -eva-domains octagon MACRO: EVA_CONFIG @EVA_OPTIONS@ -no-autoload-plugins -load-module from,inout,eva,scope,variadic -machdep x86_32 + +# Compare the result with the oracle of the default config. +FILTER: diff --new-file @PTEST_DIR@/oracle/@PTEST_ORACLE@ - + OPT: -eva @EVA_CONFIG@ -journal-disable -out -input -deps diff --git a/tests/test_config_symblocs b/tests/test_config_symblocs index b4a58bcd9f85e32c18b992356b7ad4fb1e21dafd..d25a43c5eb7a0aeff3b6cddcdda469a1433ba638 100644 --- a/tests/test_config_symblocs +++ b/tests/test_config_symblocs @@ -1,3 +1,7 @@ MACRO: EVA_OPTIONS -eva-show-progress -eva-msg-key=-summary -eva-auto-loop-unroll 0 -eva-domains symbolic-locations MACRO: EVA_CONFIG @EVA_OPTIONS@ -no-autoload-plugins -load-module from,inout,eva,scope,variadic -machdep x86_32 + +# Compare the result with the oracle of the default config. +FILTER: diff --new-file @PTEST_DIR@/oracle/@PTEST_ORACLE@ - + OPT: -eva @EVA_CONFIG@ -journal-disable -out -input -deps diff --git a/tests/value/.gitignore b/tests/value/.gitignore deleted file mode 100644 index 5de45901ce62a18d26c6309c170b943215b78b67..0000000000000000000000000000000000000000 --- a/tests/value/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/oracle_* diff --git a/tests/value/diff_apron b/tests/value/diff_apron deleted file mode 100644 index b8f9fbe7d8c8bbc8d910d97e3d71e2b1413b6746..0000000000000000000000000000000000000000 --- a/tests/value/diff_apron +++ /dev/null @@ -1,1508 +0,0 @@ -diff tests/value/oracle/alias.1.res.oracle tests/value/oracle_apron/alias.1.res.oracle -85c85 -< z ∈ {0; 1; 2} ---- -> z ∈ {0; 2} -diff tests/value/oracle/alias.2.res.oracle tests/value/oracle_apron/alias.2.res.oracle -76c76 -< z ∈ {-5; -4; -3; -2; -1; 0; 1; 1000} ---- -> z ∈ {-1; 1000} -diff tests/value/oracle/alias.3.res.oracle tests/value/oracle_apron/alias.3.res.oracle -67c67 -< z ∈ {0; 1; 2} ---- -> z ∈ {0; 2} -diff tests/value/oracle/alias.6.res.oracle tests/value/oracle_apron/alias.6.res.oracle -82c82 -< t ∈ {4; 5; 6} ---- -> t ∈ {5} -diff tests/value/oracle/array_degenerating_loop.res.oracle tests/value/oracle_apron/array_degenerating_loop.res.oracle -11,12d10 -< [eva:alarm] tests/value/array_degenerating_loop.i:9: Warning: -< signed overflow. assert G + t[i] ≤ 2147483647; -14c12 -< Frama_C_show_each: [55..2147483647], [-2147483648..99] ---- -> Frama_C_show_each: [55..155], [-2147483648..99] -diff tests/value/oracle/auto_loop_unroll.0.res.oracle tests/value/oracle_apron/auto_loop_unroll.0.res.oracle -11,13c11 -< [eva:alarm] tests/value/auto_loop_unroll.c:25: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -< [eva] tests/value/auto_loop_unroll.c:27: Frama_C_show_each_auto: [0..2147483647] ---- -> [eva] tests/value/auto_loop_unroll.c:27: Frama_C_show_each_auto: {100} -15,18c13 -< [eva:alarm] tests/value/auto_loop_unroll.c:31: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -< [eva] tests/value/auto_loop_unroll.c:33: -< Frama_C_show_each_imprecise: [0..2147483647] ---- -> [eva] tests/value/auto_loop_unroll.c:33: Frama_C_show_each_imprecise: {1000} -20,23c15 -< [eva:alarm] tests/value/auto_loop_unroll.c:39: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -< [eva] tests/value/auto_loop_unroll.c:41: -< Frama_C_show_each_imprecise: [0..2147483647] ---- -> [eva] tests/value/auto_loop_unroll.c:41: Frama_C_show_each_imprecise: {100} -32,34c24 -< [eva:alarm] tests/value/auto_loop_unroll.c:58: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -< [eva] tests/value/auto_loop_unroll.c:59: Frama_C_show_each_64: [0..2147483647] ---- -> [eva] tests/value/auto_loop_unroll.c:59: Frama_C_show_each_64: {64} -36,38c26 -< [eva:alarm] tests/value/auto_loop_unroll.c:63: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -< [eva] tests/value/auto_loop_unroll.c:64: Frama_C_show_each_40: [0..2147483647] ---- -> [eva] tests/value/auto_loop_unroll.c:64: Frama_C_show_each_40: [0..120] -40,42c28 -< [eva:alarm] tests/value/auto_loop_unroll.c:69: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -< [eva] tests/value/auto_loop_unroll.c:72: Frama_C_show_each_80: [0..2147483647] ---- -> [eva] tests/value/auto_loop_unroll.c:72: Frama_C_show_each_80: [0..160] -44,47c30 -< [eva:alarm] tests/value/auto_loop_unroll.c:76: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -< [eva] tests/value/auto_loop_unroll.c:82: -< Frama_C_show_each_32_80: [0..2147483647] ---- -> [eva] tests/value/auto_loop_unroll.c:82: Frama_C_show_each_32_80: [0..164] -55,56d37 -< [eva:alarm] tests/value/auto_loop_unroll.c:88: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -60,62c41 -< [eva:alarm] tests/value/auto_loop_unroll.c:93: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -< [eva] tests/value/auto_loop_unroll.c:95: Frama_C_show_each_101: [0..2147483647] ---- -> [eva] tests/value/auto_loop_unroll.c:95: Frama_C_show_each_101: {101} -71c50,53 -< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr ---- -> [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:101. -> [eva] Recording results for incr -> [eva] Done for function incr -81c63,66 -< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr ---- -> [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:101. -> [eva] Recording results for incr -> [eva] Done for function incr -90c75,78 -< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr ---- -> [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:101. -> [eva] Recording results for incr -> [eva] Done for function incr -107c95,98 -< [eva] tests/value/auto_loop_unroll.c:100: Reusing old results for call to incr ---- -> [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:100. -> [eva] Recording results for incr -> [eva] Done for function incr -114,115d104 -< [eva:alarm] tests/value/auto_loop_unroll.c:14: Warning: -< signed overflow. assert g + 1 ≤ 2147483647; -118c107,110 -< [eva] tests/value/auto_loop_unroll.c:100: Reusing old results for call to incr ---- -> [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:100. -> [eva] Recording results for incr -> [eva] Done for function incr -121,122d112 -< [eva:alarm] tests/value/auto_loop_unroll.c:18: Warning: -< signed overflow. assert i + 1 ≤ 2147483647; -125c115 -< [eva] tests/value/auto_loop_unroll.c:103: Frama_C_show_each_25: [0..2147483647] ---- -> [eva] tests/value/auto_loop_unroll.c:103: Frama_C_show_each_25: {25} -131c121,122 -< [eva] tests/value/auto_loop_unroll.c:112: Frama_C_show_each_120: [0..2147483647] ---- -> [eva] tests/value/auto_loop_unroll.c:112: -> Frama_C_show_each_120: [15..2147483647] -133,136c124 -< [eva:alarm] tests/value/auto_loop_unroll.c:120: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -< [eva] tests/value/auto_loop_unroll.c:122: -< Frama_C_show_each_32_64: [0..2147483647] ---- -> [eva] tests/value/auto_loop_unroll.c:122: Frama_C_show_each_32_64: [0..65] -152,153d139 -< [eva:alarm] tests/value/auto_loop_unroll.c:145: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -160c146 -< Frama_C_show_each_imprecise: [0..2147483647] ---- -> Frama_C_show_each_imprecise: [10..2147483647] -178,183c164,172 -< [eva] tests/value/auto_loop_unroll.c:162: Reusing old results for call to incr_g -< [eva] tests/value/auto_loop_unroll.c:162: Reusing old results for call to incr_g -< [eva:alarm] tests/value/auto_loop_unroll.c:164: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -< [eva] tests/value/auto_loop_unroll.c:166: -< Frama_C_show_each_imprecise: [0..2147483647] ---- -> [eva] computing for function incr_g <- complex_loops <- main. -> Called from tests/value/auto_loop_unroll.c:162. -> [eva] Recording results for incr_g -> [eva] Done for function incr_g -> [eva] computing for function incr_g <- complex_loops <- main. -> Called from tests/value/auto_loop_unroll.c:162. -> [eva] Recording results for incr_g -> [eva] Done for function incr_g -> [eva] tests/value/auto_loop_unroll.c:166: Frama_C_show_each_imprecise: [0..64] -185,188c174 -< [eva:alarm] tests/value/auto_loop_unroll.c:173: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -< [eva] tests/value/auto_loop_unroll.c:175: -< Frama_C_show_each_imprecise: [0..2147483647] ---- -> [eva] tests/value/auto_loop_unroll.c:175: Frama_C_show_each_imprecise: [0..9] -190,191d175 -< [eva:alarm] tests/value/auto_loop_unroll.c:181: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -195c179 -< Frama_C_show_each_imprecise: [0..2147483647] ---- -> Frama_C_show_each_imprecise: [64..2147483647] -201,203c185 -< [eva:alarm] tests/value/auto_loop_unroll.c:193: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -< [eva] tests/value/auto_loop_unroll.c:195: Frama_C_show_each_11: [0..2147483647] ---- -> [eva] tests/value/auto_loop_unroll.c:195: Frama_C_show_each_11: {11} -205,207c187 -< [eva:alarm] tests/value/auto_loop_unroll.c:198: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -< [eva] tests/value/auto_loop_unroll.c:200: Frama_C_show_each_12: [0..2147483647] ---- -> [eva] tests/value/auto_loop_unroll.c:200: Frama_C_show_each_12: {12} -209,210d188 -< [eva:alarm] tests/value/auto_loop_unroll.c:204: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -212a191,192 -> [eva:alarm] tests/value/auto_loop_unroll.c:204: Warning: -> signed overflow. assert res + 1 ≤ 2147483647; -216,217d195 -< [eva:alarm] tests/value/auto_loop_unroll.c:209: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -219a198,199 -> [eva:alarm] tests/value/auto_loop_unroll.c:209: Warning: -> signed overflow. assert res + 1 ≤ 2147483647; -223,224d202 -< [eva:alarm] tests/value/auto_loop_unroll.c:217: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -228,231c206 -< [eva:alarm] tests/value/auto_loop_unroll.c:222: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -< [eva] tests/value/auto_loop_unroll.c:226: -< Frama_C_show_each_11_111: [0..2147483647] ---- -> [eva] tests/value/auto_loop_unroll.c:226: Frama_C_show_each_11_111: [11..111] -239,241c214 -< [eva:alarm] tests/value/auto_loop_unroll.c:236: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -< [eva] tests/value/auto_loop_unroll.c:238: Frama_C_show_each_20: [0..2147483647] ---- -> [eva] tests/value/auto_loop_unroll.c:238: Frama_C_show_each_20: [20..2147483646] -243,244d215 -< [eva:alarm] tests/value/auto_loop_unroll.c:241: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -247c218,220 -< [eva] tests/value/auto_loop_unroll.c:243: Frama_C_show_each_21: [0..2147483647] ---- -> [eva:alarm] tests/value/auto_loop_unroll.c:241: Warning: -> signed overflow. assert res + 1 ≤ 2147483647; -> [eva] tests/value/auto_loop_unroll.c:243: Frama_C_show_each_21: {21} -253,255c226,227 -< [eva:alarm] tests/value/auto_loop_unroll.c:250: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -< [eva] tests/value/auto_loop_unroll.c:254: Frama_C_show_each_30: [0..2147483647] ---- -> [eva] tests/value/auto_loop_unroll.c:254: Frama_C_show_each_30: {30} -> [eva] tests/value/auto_loop_unroll.c:258: starting to merge loop iterations -258,259c230,231 -< [eva] tests/value/auto_loop_unroll.c:258: starting to merge loop iterations -< [eva] tests/value/auto_loop_unroll.c:263: Frama_C_show_each_top: [0..2147483647] ---- -> [eva] tests/value/auto_loop_unroll.c:263: -> Frama_C_show_each_top: [31..2147483647] -261,263c233 -< [eva:alarm] tests/value/auto_loop_unroll.c:267: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -< [eva] tests/value/auto_loop_unroll.c:272: Frama_C_show_each_32: [0..2147483647] ---- -> [eva] tests/value/auto_loop_unroll.c:272: Frama_C_show_each_32: {32} -268c238 -< Frama_C_show_each_33_inf: [0..2147483647] ---- -> Frama_C_show_each_33_inf: [33..2147483647] -272,273d241 -< [eva:alarm] tests/value/auto_loop_unroll.c:283: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -281c249 -< __retres ∈ [1..2147483647] ---- -> __retres ∈ [1..25] -283c251 -< g ∈ [1..2147483647] ---- -> g ∈ [1..126] -diff tests/value/oracle/auto_loop_unroll.1.res.oracle tests/value/oracle_apron/auto_loop_unroll.1.res.oracle -15,18c15 -< [eva:alarm] tests/value/auto_loop_unroll.c:31: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -< [eva] tests/value/auto_loop_unroll.c:33: -< Frama_C_show_each_imprecise: [0..2147483647] ---- -> [eva] tests/value/auto_loop_unroll.c:33: Frama_C_show_each_imprecise: {1000} -20,23c17 -< [eva:alarm] tests/value/auto_loop_unroll.c:39: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -< [eva] tests/value/auto_loop_unroll.c:41: -< Frama_C_show_each_imprecise: [0..2147483647] ---- -> [eva] tests/value/auto_loop_unroll.c:41: Frama_C_show_each_imprecise: {100} -58c52,55 -< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr ---- -> [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:101. -> [eva] Recording results for incr -> [eva] Done for function incr -67c64,67 -< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr ---- -> [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:101. -> [eva] Recording results for incr -> [eva] Done for function incr -76c76,79 -< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr ---- -> [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:101. -> [eva] Recording results for incr -> [eva] Done for function incr -85c88,91 -< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr ---- -> [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:101. -> [eva] Recording results for incr -> [eva] Done for function incr -94c100,103 -< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr ---- -> [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:101. -> [eva] Recording results for incr -> [eva] Done for function incr -103c112,115 -< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr ---- -> [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:101. -> [eva] Recording results for incr -> [eva] Done for function incr -112c124,127 -< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr ---- -> [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:101. -> [eva] Recording results for incr -> [eva] Done for function incr -121c136,139 -< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr ---- -> [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:101. -> [eva] Recording results for incr -> [eva] Done for function incr -130c148,151 -< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr ---- -> [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:101. -> [eva] Recording results for incr -> [eva] Done for function incr -139c160,163 -< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr ---- -> [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:101. -> [eva] Recording results for incr -> [eva] Done for function incr -148c172,175 -< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr ---- -> [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:101. -> [eva] Recording results for incr -> [eva] Done for function incr -157c184,187 -< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr ---- -> [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:101. -> [eva] Recording results for incr -> [eva] Done for function incr -166c196,199 -< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr ---- -> [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:101. -> [eva] Recording results for incr -> [eva] Done for function incr -175c208,211 -< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr ---- -> [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:101. -> [eva] Recording results for incr -> [eva] Done for function incr -184c220,223 -< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr ---- -> [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:101. -> [eva] Recording results for incr -> [eva] Done for function incr -193c232,235 -< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr ---- -> [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:101. -> [eva] Recording results for incr -> [eva] Done for function incr -202c244,247 -< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr ---- -> [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:101. -> [eva] Recording results for incr -> [eva] Done for function incr -211c256,259 -< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr ---- -> [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:101. -> [eva] Recording results for incr -> [eva] Done for function incr -220c268,271 -< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr ---- -> [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:101. -> [eva] Recording results for incr -> [eva] Done for function incr -229c280,283 -< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr ---- -> [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:101. -> [eva] Recording results for incr -> [eva] Done for function incr -238c292,295 -< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr ---- -> [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:101. -> [eva] Recording results for incr -> [eva] Done for function incr -247c304,307 -< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr ---- -> [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:101. -> [eva] Recording results for incr -> [eva] Done for function incr -256c316,319 -< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr ---- -> [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:101. -> [eva] Recording results for incr -> [eva] Done for function incr -265c328,331 -< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr ---- -> [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:101. -> [eva] Recording results for incr -> [eva] Done for function incr -274c340,343 -< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr ---- -> [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:101. -> [eva] Recording results for incr -> [eva] Done for function incr -296,297d364 -< [eva:alarm] tests/value/auto_loop_unroll.c:145: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -304c371 -< Frama_C_show_each_imprecise: [0..2147483647] ---- -> Frama_C_show_each_imprecise: [10..2147483647] -322,327c389,397 -< [eva] tests/value/auto_loop_unroll.c:162: Reusing old results for call to incr_g -< [eva] tests/value/auto_loop_unroll.c:162: Reusing old results for call to incr_g -< [eva:alarm] tests/value/auto_loop_unroll.c:164: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -< [eva] tests/value/auto_loop_unroll.c:166: -< Frama_C_show_each_imprecise: [0..2147483647] ---- -> [eva] computing for function incr_g <- complex_loops <- main. -> Called from tests/value/auto_loop_unroll.c:162. -> [eva] Recording results for incr_g -> [eva] Done for function incr_g -> [eva] computing for function incr_g <- complex_loops <- main. -> Called from tests/value/auto_loop_unroll.c:162. -> [eva] Recording results for incr_g -> [eva] Done for function incr_g -> [eva] tests/value/auto_loop_unroll.c:166: Frama_C_show_each_imprecise: [0..64] -329,332c399 -< [eva:alarm] tests/value/auto_loop_unroll.c:173: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -< [eva] tests/value/auto_loop_unroll.c:175: -< Frama_C_show_each_imprecise: [0..2147483647] ---- -> [eva] tests/value/auto_loop_unroll.c:175: Frama_C_show_each_imprecise: [0..9] -334,335d400 -< [eva:alarm] tests/value/auto_loop_unroll.c:181: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -339c404 -< Frama_C_show_each_imprecise: [0..2147483647] ---- -> Frama_C_show_each_imprecise: [64..2147483647] -344c409 -< [eva:loop-unroll] tests/value/auto_loop_unroll.c:192: Automatic loop unrolling. ---- -> [eva] tests/value/auto_loop_unroll.c:192: starting to merge loop iterations -346c411 -< [eva:loop-unroll] tests/value/auto_loop_unroll.c:197: Automatic loop unrolling. ---- -> [eva] tests/value/auto_loop_unroll.c:197: starting to merge loop iterations -348,353c413,429 -< [eva:loop-unroll] tests/value/auto_loop_unroll.c:203: Automatic loop unrolling. -< [eva] tests/value/auto_loop_unroll.c:206: Frama_C_show_each_0_13: [0..13] -< [eva:loop-unroll] tests/value/auto_loop_unroll.c:208: Automatic loop unrolling. -< [eva] tests/value/auto_loop_unroll.c:211: Frama_C_show_each_0_14: [0..14] -< [eva:loop-unroll] tests/value/auto_loop_unroll.c:214: Automatic loop unrolling. -< [eva] tests/value/auto_loop_unroll.c:219: Frama_C_show_each_0_15: [0..15] ---- -> [eva] tests/value/auto_loop_unroll.c:203: starting to merge loop iterations -> [eva:alarm] tests/value/auto_loop_unroll.c:203: Warning: -> signed overflow. assert -2147483648 ≤ i_0 - 1; -> [eva:alarm] tests/value/auto_loop_unroll.c:204: Warning: -> signed overflow. assert res + 1 ≤ 2147483647; -> [eva] tests/value/auto_loop_unroll.c:206: -> Frama_C_show_each_0_13: [0..2147483647] -> [eva] tests/value/auto_loop_unroll.c:208: starting to merge loop iterations -> [eva:alarm] tests/value/auto_loop_unroll.c:208: Warning: -> signed overflow. assert -2147483648 ≤ i_1 - 1; -> [eva:alarm] tests/value/auto_loop_unroll.c:209: Warning: -> signed overflow. assert res + 1 ≤ 2147483647; -> [eva] tests/value/auto_loop_unroll.c:211: -> Frama_C_show_each_0_14: [0..2147483647] -> [eva] tests/value/auto_loop_unroll.c:214: starting to merge loop iterations -> [eva] tests/value/auto_loop_unroll.c:219: -> Frama_C_show_each_0_15: [0..2147483647] -364c440,444 -< [eva:loop-unroll] tests/value/auto_loop_unroll.c:240: Automatic loop unrolling. ---- -> [eva] tests/value/auto_loop_unroll.c:240: starting to merge loop iterations -> [eva:alarm] tests/value/auto_loop_unroll.c:240: Warning: -> signed overflow. assert -2147483648 ≤ i - 1; -> [eva:alarm] tests/value/auto_loop_unroll.c:241: Warning: -> signed overflow. assert res + 1 ≤ 2147483647; -375c455,456 -< [eva] tests/value/auto_loop_unroll.c:263: Frama_C_show_each_top: [0..2147483647] ---- -> [eva] tests/value/auto_loop_unroll.c:263: -> Frama_C_show_each_top: [31..2147483647] -391,392d471 -< [eva:alarm] tests/value/auto_loop_unroll.c:283: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -425,426c504,505 -< i ∈ {-1} -< res ∈ {21} ---- -> i ∈ [-2147483648..20] -> res ∈ [0..2147483647] -diff tests/value/oracle/backward_add_ptr.res.oracle tests/value/oracle_apron/backward_add_ptr.res.oracle -71c71,74 -< [eva] tests/value/backward_add_ptr.c:91: Reusing old results for call to gm ---- -> [eva] computing for function gm <- main3 <- main. -> Called from tests/value/backward_add_ptr.c:91. -> [eva] Recording results for gm -> [eva] Done for function gm -93c96,99 -< [eva] tests/value/backward_add_ptr.c:110: Reusing old results for call to gm ---- -> [eva] computing for function gm <- main3 <- main. -> Called from tests/value/backward_add_ptr.c:110. -> [eva] Recording results for gm -> [eva] Done for function gm -107c113,116 -< [eva] tests/value/backward_add_ptr.c:125: Reusing old results for call to gm ---- -> [eva] computing for function gm <- main3 <- main. -> Called from tests/value/backward_add_ptr.c:125. -> [eva] Recording results for gm -> [eva] Done for function gm -160c169,172 -< [eva] tests/value/backward_add_ptr.c:160: Reusing old results for call to gm ---- -> [eva] computing for function gm <- main4 <- main. -> Called from tests/value/backward_add_ptr.c:160. -> [eva] Recording results for gm -> [eva] Done for function gm -diff tests/value/oracle/call_simple.res.oracle tests/value/oracle_apron/call_simple.res.oracle -28c28 -< c ∈ [--..--] ---- -> c ∈ [-2147483648..2147483646] -diff tests/value/oracle/deps_compose.res.oracle tests/value/oracle_apron/deps_compose.res.oracle -24c24,27 -< [eva] tests/value/deps_compose.i:26: Reusing old results for call to f ---- -> [eva] computing for function f <- main. -> Called from tests/value/deps_compose.i:26. -> [eva] Recording results for f -> [eva] Done for function f -diff tests/value/oracle/divneg.res.oracle tests/value/oracle_apron/divneg.res.oracle -57c57 -< vic ∈ {4294967295} ---- -> vic ∈ {-1} -diff tests/value/oracle/domains_function.res.oracle tests/value/oracle_apron/domains_function.res.oracle -107c107,110 -< [eva] tests/value/domains_function.c:63: Reusing old results for call to use ---- -> [eva] computing for function use <- test_propagation <- main. -> Called from tests/value/domains_function.c:63. -> [eva] Recording results for use -> [eva] Done for function use -diff tests/value/oracle/downcast.1.res.oracle tests/value/oracle_apron/downcast.1.res.oracle -61c61 -< [100000..2147483647], [100145..2147483647], [100145..2147483647] ---- -> [100000..2147483502], [100145..2147483647], [100145..2147483647] -diff tests/value/oracle/dur.res.oracle tests/value/oracle_apron/dur.res.oracle -310c310 -< V6 ∈ [--..--] or UNINITIALIZED ---- -> V6 ∈ [0..32767] or UNINITIALIZED -diff tests/value/oracle/find_ivaltop.res.oracle tests/value/oracle_apron/find_ivaltop.res.oracle -32,33c32,33 -< j ∈ {0; 1; 2; 3; 4; 5; 6; 7} -< X ∈ {1; 2; 3; 4; 5; 6; 7; 8} ---- -> j ∈ {7} -> X ∈ {8} -39c39 -< \result FROM t[0..7] ---- -> \result FROM t[7] -44c44 -< t[0..7] ---- -> t[7] -diff tests/value/oracle/for_loops.1.res.oracle tests/value/oracle_apron/for_loops.1.res.oracle -39,41c39 -< [eva:alarm] tests/value/for_loops.c:16: Warning: -< signed overflow. assert w + 1 ≤ 2147483647; -< [eva] tests/value/for_loops.c:17: Frama_C_show_each_F: [0..2147483647] ---- -> [eva] tests/value/for_loops.c:17: Frama_C_show_each_F: [0..100] -47c45 -< j ∈ [0..2147483647] ---- -> j ∈ [0..100] -diff tests/value/oracle/for_loops.2.res.oracle tests/value/oracle_apron/for_loops.2.res.oracle -37,39c37 -< [eva:alarm] tests/value/for_loops.c:42: Warning: -< signed overflow. assert w + T[j] ≤ 2147483647; -< [eva] tests/value/for_loops.c:43: Frama_C_show_each: [0..2147483647] ---- -> [eva] tests/value/for_loops.c:43: Frama_C_show_each: [0..1000] -diff tests/value/oracle/fptr.0.res.oracle tests/value/oracle_apron/fptr.0.res.oracle -57c57,60 -< [eva] tests/value/fptr.i:9: Reusing old results for call to h ---- -> [eva] computing for function h <- f <- main. -> Called from tests/value/fptr.i:9. -> [eva] Recording results for h -> [eva] Done for function h -66,67c69,76 -< [eva] tests/value/fptr.i:9: Reusing old results for call to hh -< [eva] tests/value/fptr.i:9: Reusing old results for call to h ---- -> [eva] computing for function hh <- f <- main. -> Called from tests/value/fptr.i:9. -> [eva] Recording results for hh -> [eva] Done for function hh -> [eva] computing for function h <- f <- main. -> Called from tests/value/fptr.i:9. -> [eva] Recording results for h -> [eva] Done for function h -72c81,92 -< [eva] tests/value/fptr.i:52: Reusing old results for call to f ---- -> [eva] computing for function f <- main. -> Called from tests/value/fptr.i:52. -> [eva] computing for function hh <- f <- main. -> Called from tests/value/fptr.i:9. -> [eva] Recording results for hh -> [eva] Done for function hh -> [eva] computing for function h <- f <- main. -> Called from tests/value/fptr.i:9. -> [eva] Recording results for h -> [eva] Done for function h -> [eva] Recording results for f -> [eva] Done for function f -diff tests/value/oracle/fptr.1.res.oracle tests/value/oracle_apron/fptr.1.res.oracle -42c42,45 -< [eva] tests/value/fptr.i:9: Reusing old results for call to h ---- -> [eva] computing for function h <- f <- main_uninit. -> Called from tests/value/fptr.i:9. -> [eva] Recording results for h -> [eva] Done for function h -51,52c54,61 -< [eva] tests/value/fptr.i:9: Reusing old results for call to hh -< [eva] tests/value/fptr.i:9: Reusing old results for call to h ---- -> [eva] computing for function hh <- f <- main_uninit. -> Called from tests/value/fptr.i:9. -> [eva] Recording results for hh -> [eva] Done for function hh -> [eva] computing for function h <- f <- main_uninit. -> Called from tests/value/fptr.i:9. -> [eva] Recording results for h -> [eva] Done for function h -57c66,77 -< [eva] tests/value/fptr.i:68: Reusing old results for call to f ---- -> [eva] computing for function f <- main_uninit. -> Called from tests/value/fptr.i:68. -> [eva] computing for function hh <- f <- main_uninit. -> Called from tests/value/fptr.i:9. -> [eva] Recording results for hh -> [eva] Done for function hh -> [eva] computing for function h <- f <- main_uninit. -> Called from tests/value/fptr.i:9. -> [eva] Recording results for h -> [eva] Done for function h -> [eva] Recording results for f -> [eva] Done for function f -diff tests/value/oracle/from_call.0.res.oracle tests/value/oracle_apron/from_call.0.res.oracle -68c68,73 -< [eva] tests/value/from_call.i:20: Reusing old results for call to g ---- -> [eva] computing for function g <- f <- main. -> Called from tests/value/from_call.i:20. -> [eva] Recording results for g -> [from] Computing for function g -> [from] Done for function g -> [eva] Done for function g -78c83,88 -< [eva] tests/value/from_call.i:20: Reusing old results for call to g ---- -> [eva] computing for function g <- f <- main. -> Called from tests/value/from_call.i:20. -> [eva] Recording results for g -> [from] Computing for function g -> [from] Done for function g -> [eva] Done for function g -149,150c159,170 -< [eva] tests/value/from_call.i:44: Reusing old results for call to return_A1 -< [eva] tests/value/from_call.i:44: Reusing old results for call to return_A2 ---- -> [eva] computing for function return_A1 <- dispatcher2 <- call_dispatcher2 <- main. -> Called from tests/value/from_call.i:44. -> [eva] Recording results for return_A1 -> [from] Computing for function return_A1 -> [from] Done for function return_A1 -> [eva] Done for function return_A1 -> [eva] computing for function return_A2 <- dispatcher2 <- call_dispatcher2 <- main. -> Called from tests/value/from_call.i:44. -> [eva] Recording results for return_A2 -> [from] Computing for function return_A2 -> [from] Done for function return_A2 -> [eva] Done for function return_A2 -diff tests/value/oracle/from_call.1.res.oracle tests/value/oracle_apron/from_call.1.res.oracle -64c64,67 -< [eva] tests/value/from_call.i:20: Reusing old results for call to g ---- -> [eva] computing for function g <- f <- main. -> Called from tests/value/from_call.i:20. -> [eva] Recording results for g -> [eva] Done for function g -72c75,78 -< [eva] tests/value/from_call.i:20: Reusing old results for call to g ---- -> [eva] computing for function g <- f <- main. -> Called from tests/value/from_call.i:20. -> [eva] Recording results for g -> [eva] Done for function g -123,124c129,136 -< [eva] tests/value/from_call.i:44: Reusing old results for call to return_A1 -< [eva] tests/value/from_call.i:44: Reusing old results for call to return_A2 ---- -> [eva] computing for function return_A1 <- dispatcher2 <- call_dispatcher2 <- main. -> Called from tests/value/from_call.i:44. -> [eva] Recording results for return_A1 -> [eva] Done for function return_A1 -> [eva] computing for function return_A2 <- dispatcher2 <- call_dispatcher2 <- main. -> Called from tests/value/from_call.i:44. -> [eva] Recording results for return_A2 -> [eva] Done for function return_A2 -diff tests/value/oracle/fun_ptr.0.res.oracle tests/value/oracle_apron/fun_ptr.0.res.oracle -39c39,42 -< [eva] tests/value/fun_ptr.i:33: Reusing old results for call to f ---- -> [eva] computing for function f <- test2 <- main. -> Called from tests/value/fun_ptr.i:33. -> [eva] Recording results for f -> [eva] Done for function f -diff tests/value/oracle/fun_ptr.1.res.oracle tests/value/oracle_apron/fun_ptr.1.res.oracle -43c43,46 -< [eva] tests/value/fun_ptr.i:33: Reusing old results for call to f ---- -> [eva] computing for function f <- test2 <- main. -> Called from tests/value/fun_ptr.i:33. -> [eva] Recording results for f -> [eva] Done for function f -diff tests/value/oracle/gauges.res.oracle tests/value/oracle_apron/gauges.res.oracle -38,39d37 -< [eva:alarm] tests/value/gauges.c:26: Warning: -< signed overflow. assert l + 1 ≤ 2147483647; -70,71d67 -< [eva:alarm] tests/value/gauges.c:48: Warning: -< signed overflow. assert l + 1 ≤ 2147483647; -113,114d108 -< [eva:alarm] tests/value/gauges.c:81: Warning: -< signed overflow. assert k + 1 ≤ 2147483647; -116,117d109 -< [eva:alarm] tests/value/gauges.c:84: Warning: -< signed overflow. assert k + 1 ≤ 2147483647; -123a116,117 -> [eva:alarm] tests/value/gauges.c:81: Warning: -> signed overflow. assert k + 1 ≤ 2147483647; -125c119,121 -< [eva] tests/value/gauges.c:86: Frama_C_show_each: [0..2147483647] ---- -> [eva:alarm] tests/value/gauges.c:84: Warning: -> signed overflow. assert k + 1 ≤ 2147483647; -> [eva] tests/value/gauges.c:86: Frama_C_show_each: [15..2147483647] -139,140d134 -< [eva:alarm] tests/value/gauges.c:99: Warning: -< signed overflow. assert c + 1 ≤ 2147483647; -187,188d180 -< [eva:alarm] tests/value/gauges.c:140: Warning: -< signed overflow. assert j + 1 ≤ 2147483647; -303,304d294 -< [eva:alarm] tests/value/gauges.c:220: Warning: -< signed overflow. assert -2147483648 ≤ n - 1; -319,320d308 -< [eva:alarm] tests/value/gauges.c:240: Warning: -< signed overflow. assert j + 1 ≤ 2147483647; -322c310 -< Frama_C_show_each: {45; 46; 47; 48; 49; 50; 51}, [0..2147483647] ---- -> Frama_C_show_each: {45; 46; 47; 48; 49; 50; 51}, [0..46] -328,329d315 -< [eva:alarm] tests/value/gauges.c:251: Warning: -< signed overflow. assert j + 1 ≤ 2147483647; -331c317 -< Frama_C_show_each: {48; 49; 50; 51; 52; 53; 54}, [0..2147483647] ---- -> Frama_C_show_each: {48; 49; 50; 51; 52; 53; 54}, [0..49] -337,338d322 -< [eva:alarm] tests/value/gauges.c:263: Warning: -< signed overflow. assert j + 1 ≤ 2147483647; -340c324 -< Frama_C_show_each: {-59; -58; -57; -56; -55; -54; -53}, [0..2147483647] ---- -> Frama_C_show_each: {-59; -58; -57; -56; -55; -54; -53}, [0..65] -346,347d329 -< [eva:alarm] tests/value/gauges.c:274: Warning: -< signed overflow. assert j + 1 ≤ 2147483647; -349c331 -< Frama_C_show_each: {-64; -63; -62; -61; -60; -59; -58}, [0..2147483647] ---- -> Frama_C_show_each: {-64; -63; -62; -61; -60; -59; -58}, [0..70] -357,358d338 -< [eva:alarm] tests/value/gauges.c:293: Warning: -< signed overflow. assert j + 1 ≤ 2147483647; -360c340 -< Frama_C_show_each: {-593; -592; -591; -590; -589; -588}, [0..2147483647] ---- -> Frama_C_show_each: {-593; -592; -591; -590; -589; -588}, [0..598] -802c782 -< n ∈ [-2147483648..99] ---- -> n ∈ [-2147483547..99] -805c785 -< i ∈ [0..2147483647] ---- -> i ∈ [10..2147483647] -841c821 -< i ∈ [0..2147483647] ---- -> i ∈ [0..21] -diff tests/value/oracle/ghost.res.oracle tests/value/oracle_apron/ghost.res.oracle -10,11d9 -< [eva:alarm] tests/value/ghost.i:17: Warning: -< signed overflow. assert G + 1 ≤ 2147483647; -diff tests/value/oracle/hierarchical_convergence.res.oracle tests/value/oracle_apron/hierarchical_convergence.res.oracle -40c40 -< j ∈ [0..2147483647] ---- -> j ∈ [0..99] -diff tests/value/oracle/initialized_copy.1.res.oracle tests/value/oracle_apron/initialized_copy.1.res.oracle -24,27c24 -< c_0[bits 0 to 7] ∈ {1} or UNINITIALIZED -< [bits 8 to 15] ∈ {2} -< [bits 16 to 23] ∈ {3} -< [bits 24 to 31] ∈ {4} ---- -> c_0 ∈ {67305985} or UNINITIALIZED -29,32c26 -< a_2[bits 0 to 7] ∈ {1} or UNINITIALIZED -< [bits 8 to 15] ∈ {2} -< [bits 16 to 23] ∈ {3} -< [bits 24 to 31] ∈ {4} ---- -> a_2 ∈ {67305985} or UNINITIALIZED -diff tests/value/oracle/invalid_loc_return.res.oracle tests/value/oracle_apron/invalid_loc_return.res.oracle -70c70,73 -< [eva] tests/value/invalid_loc_return.i:17: Reusing old results for call to foo ---- -> [eva] computing for function foo <- main <- main2. -> Called from tests/value/invalid_loc_return.i:17. -> [eva] Recording results for foo -> [eva] Done for function foo -diff tests/value/oracle/local.res.oracle tests/value/oracle_apron/local.res.oracle -22c22,25 -< [eva] tests/value/local.i:13: Reusing old results for call to f ---- -> [eva] computing for function f <- g <- main. -> Called from tests/value/local.i:13. -> [eva] Recording results for f -> [eva] Done for function f -diff tests/value/oracle/local_slevel.res.oracle tests/value/oracle_apron/local_slevel.res.oracle -13,15c13,15 -< [eva] tests/value/local_slevel.i:18: Frama_C_show_each: {1}, {1}, {0; 1} -< [eva] tests/value/local_slevel.i:18: Frama_C_show_each: {-1}, {0}, {0; 1} -< [eva] tests/value/local_slevel.i:18: Frama_C_show_each: {1}, {1}, {0; 1; 2} ---- -> [eva] tests/value/local_slevel.i:18: Frama_C_show_each: {1}, {1}, {1} -> [eva] tests/value/local_slevel.i:18: Frama_C_show_each: {-1}, {0}, {0} -> [eva] tests/value/local_slevel.i:18: Frama_C_show_each: {1}, {1}, {1} -18c18 -< Frama_C_show_each: {1}, [1..79],1%2, {0; 1; 2; 3} ---- -> Frama_C_show_each: {1}, [1..79],1%2, {1; 2; 3} -22c22 -< Frama_C_show_each: {1}, [1..79],1%2, {0; 1; 2; 3; 4} ---- -> Frama_C_show_each: {1}, [1..79],1%2, {1; 2; 3; 4} -26,34c26 -< Frama_C_show_each: {1}, [1..79],1%2, [0..2147483647] -< [eva] tests/value/local_slevel.i:18: -< Frama_C_show_each: {-1}, [0..78],0%2, [0..2147483647] -< [eva] tests/value/local_slevel.i:18: -< Frama_C_show_each: {1}, [1..79],1%2, [0..2147483648] -< [eva] tests/value/local_slevel.i:18: -< Frama_C_show_each: {-1}, [0..78],0%2, [0..2147483648] -< [eva] tests/value/local_slevel.i:18: -< Frama_C_show_each: {1}, [1..79],1%2, [0..4294967295] ---- -> Frama_C_show_each: {1}, [1..79],1%2, [1..79] -36c28 -< Frama_C_show_each: {-1}, [0..78],0%2, [0..4294967295] ---- -> Frama_C_show_each: {-1}, [0..78],0%2, [0..78] -152c144 -< r ∈ [--..--] ---- -> r ∈ [0..2147483647] -393,395c385,387 -< [eva] tests/value/local_slevel.i:18: Frama_C_show_each: {1}, {1}, {0; 1} -< [eva] tests/value/local_slevel.i:18: Frama_C_show_each: {-1}, {0}, {0; 1} -< [eva] tests/value/local_slevel.i:18: Frama_C_show_each: {1}, {1}, {0; 1; 2} ---- -> [eva] tests/value/local_slevel.i:18: Frama_C_show_each: {1}, {1}, {1} -> [eva] tests/value/local_slevel.i:18: Frama_C_show_each: {-1}, {0}, {0} -> [eva] tests/value/local_slevel.i:18: Frama_C_show_each: {1}, {1}, {1} -398c390 -< Frama_C_show_each: {1}, [1..79],1%2, {0; 1; 2; 3} ---- -> Frama_C_show_each: {1}, [1..79],1%2, {1; 2; 3} -402c394 -< Frama_C_show_each: {1}, [1..79],1%2, {0; 1; 2; 3; 4} ---- -> Frama_C_show_each: {1}, [1..79],1%2, {1; 2; 3; 4} -406,414c398 -< Frama_C_show_each: {1}, [1..79],1%2, [0..2147483647] -< [eva] tests/value/local_slevel.i:18: -< Frama_C_show_each: {-1}, [0..78],0%2, [0..2147483647] -< [eva] tests/value/local_slevel.i:18: -< Frama_C_show_each: {1}, [1..79],1%2, [0..2147483648] -< [eva] tests/value/local_slevel.i:18: -< Frama_C_show_each: {-1}, [0..78],0%2, [0..2147483648] -< [eva] tests/value/local_slevel.i:18: -< Frama_C_show_each: {1}, [1..79],1%2, [0..4294967295] ---- -> Frama_C_show_each: {1}, [1..79],1%2, [1..79] -416c400 -< Frama_C_show_each: {-1}, [0..78],0%2, [0..4294967295] ---- -> Frama_C_show_each: {-1}, [0..78],0%2, [0..78] -532c516 -< r ∈ [--..--] ---- -> r ∈ [0..2147483647] -diff tests/value/oracle/logicdeps.res.oracle tests/value/oracle_apron/logicdeps.res.oracle -31c31,39 -< [eva] tests/value/logicdeps.i:25: Reusing old results for call to g ---- -> [eva] computing for function g <- main. -> Called from tests/value/logicdeps.i:25. -> [eva] computing for function f <- g <- main. -> Called from tests/value/logicdeps.i:13. -> [eva] Done for function f -> [eva] Recording results for g -> [from] Computing for function g -> [from] Done for function g -> [eva] Done for function g -51c59,67 -< [eva] tests/value/logicdeps.i:32: Reusing old results for call to g ---- -> [eva] computing for function g <- main. -> Called from tests/value/logicdeps.i:32. -> [eva] computing for function f <- g <- main. -> Called from tests/value/logicdeps.i:13. -> [eva] Done for function f -> [eva] Recording results for g -> [from] Computing for function g -> [from] Done for function g -> [eva] Done for function g -diff tests/value/oracle/long.res.oracle tests/value/oracle_apron/long.res.oracle -15,17c15,26 -< [eva] tests/value/long.i:12: Reusing old results for call to f -< [eva] tests/value/long.i:12: Reusing old results for call to f -< [eva] tests/value/long.i:12: Reusing old results for call to f ---- -> [eva] computing for function f <- main. -> Called from tests/value/long.i:12. -> [eva] Recording results for f -> [eva] Done for function f -> [eva] computing for function f <- main. -> Called from tests/value/long.i:12. -> [eva] Recording results for f -> [eva] Done for function f -> [eva] computing for function f <- main. -> Called from tests/value/long.i:12. -> [eva] Recording results for f -> [eva] Done for function f -diff tests/value/oracle/long_const.0.res.oracle tests/value/oracle_apron/long_const.0.res.oracle -19c19,22 -< [eva] tests/value/long_const.i:25: Reusing old results for call to LL_ABS ---- -> [eva] computing for function LL_ABS <- div64 <- main. -> Called from tests/value/long_const.i:25. -> [eva] Recording results for LL_ABS -> [eva] Done for function LL_ABS -diff tests/value/oracle/long_const.1.res.oracle tests/value/oracle_apron/long_const.1.res.oracle -19c19,22 -< [eva] tests/value/long_const.i:25: Reusing old results for call to LL_ABS ---- -> [eva] computing for function LL_ABS <- div64 <- main. -> Called from tests/value/long_const.i:25. -> [eva] Recording results for LL_ABS -> [eva] Done for function LL_ABS -diff tests/value/oracle/loop_wvar.1.res.oracle tests/value/oracle_apron/loop_wvar.1.res.oracle -12,13d11 -< [eva:alarm] tests/value/loop_wvar.i:57: Warning: -< signed overflow. assert next + 1 ≤ 2147483647; -27,28c25 -< [eva] tests/value/loop_wvar.i:71: Frama_C_show_each: [0..9], [0..17], [0..11] -< [eva] tests/value/loop_wvar.i:71: Frama_C_show_each: [0..9], [0..18], [0..12] ---- -> [eva] tests/value/loop_wvar.i:71: Frama_C_show_each: [0..9], [0..9], [0..9] -37,38c34,35 -< j ∈ [0..18] -< k ∈ [0..12] ---- -> j ∈ [0..17] -> k ∈ [0..11] -41c38 -< next ∈ [0..2147483647] ---- -> next ∈ [0..25] -diff tests/value/oracle/loopinv.res.oracle tests/value/oracle_apron/loopinv.res.oracle -51,53c51 -< [eva:alarm] tests/value/loopinv.c:45: Warning: -< signed overflow. assert j + 1 ≤ 2147483647; -< [eva] tests/value/loopinv.c:46: Frama_C_show_each: [0..99], [0..2147483647] ---- -> [eva] tests/value/loopinv.c:46: Frama_C_show_each: [0..99], [0..100] -134,135d131 -< [ - ] Assertion 'Eva,signed_overflow' (file tests/value/loopinv.c, line 45) -< tried with Eva. -148,149c144,145 -< 4 To be validated -< 13 Total ---- -> 3 To be validated -> 12 Total -diff tests/value/oracle/memexec.res.oracle tests/value/oracle_apron/memexec.res.oracle -27,32c27,50 -< [eva] tests/value/memexec.c:13: Reusing old results for call to f11 -< [eva] tests/value/memexec.c:14: Reusing old results for call to f11 -< [eva] tests/value/memexec.c:16: Reusing old results for call to f11 -< [eva] tests/value/memexec.c:18: Reusing old results for call to f11 -< [eva] tests/value/memexec.c:20: Reusing old results for call to f11 -< [eva] tests/value/memexec.c:21: Reusing old results for call to f11 ---- -> [eva] computing for function f11 <- f1 <- main. -> Called from tests/value/memexec.c:13. -> [eva] Recording results for f11 -> [eva] Done for function f11 -> [eva] computing for function f11 <- f1 <- main. -> Called from tests/value/memexec.c:14. -> [eva] Recording results for f11 -> [eva] Done for function f11 -> [eva] computing for function f11 <- f1 <- main. -> Called from tests/value/memexec.c:16. -> [eva] Recording results for f11 -> [eva] Done for function f11 -> [eva] computing for function f11 <- f1 <- main. -> Called from tests/value/memexec.c:18. -> [eva] Recording results for f11 -> [eva] Done for function f11 -> [eva] computing for function f11 <- f1 <- main. -> Called from tests/value/memexec.c:20. -> [eva] Recording results for f11 -> [eva] Done for function f11 -> [eva] computing for function f11 <- f1 <- main. -> Called from tests/value/memexec.c:21. -> [eva] Recording results for f11 -> [eva] Done for function f11 -106c124,127 -< [eva] tests/value/memexec.c:113: Reusing old results for call to f5_aux ---- -> [eva] computing for function f5_aux <- f5 <- main. -> Called from tests/value/memexec.c:113. -> [eva] Recording results for f5_aux -> [eva] Done for function f5_aux -129c150,153 -< [eva] tests/value/memexec.c:137: Reusing old results for call to f7_1 ---- -> [eva] computing for function f7_1 <- f7 <- main. -> Called from tests/value/memexec.c:137. -> [eva] Recording results for f7_1 -> [eva] Done for function f7_1 -144c168,171 -< [eva] tests/value/memexec.c:150: Reusing old results for call to f8_1 ---- -> [eva] computing for function f8_1 <- f8 <- main. -> Called from tests/value/memexec.c:150. -> [eva] Recording results for f8_1 -> [eva] Done for function f8_1 -diff tests/value/oracle/modulo.res.oracle tests/value/oracle_apron/modulo.res.oracle -40a41,64 -> [eva] tests/value/modulo.i:41: Frama_C_show_each_1: [-10..-1], [-9..-1], [-8..0] -> [eva] tests/value/modulo.i:41: Frama_C_show_each_1: [-10..-1], [1..9], [-8..0] -> [eva] tests/value/modulo.i:41: Frama_C_show_each_1: [1..10], [-9..-1], [0..8] -> [eva] tests/value/modulo.i:41: Frama_C_show_each_1: [1..10], [1..9], [0..8] -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: -> [1..9], {1; 2; 3; 4; 5; 6; 7; 8}, {0; 1; 2; 3; 4; 5; 6; 7} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: -> [-9..-1], {1; 2; 3; 4; 5; 6; 7; 8}, {-7; -6; -5; -4; -3; -2; -1; 0} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: -> [1..9], {-8; -7; -6; -5; -4; -3; -2; -1}, {0; 1; 2; 3; 4; 5; 6; 7} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: -> [-9..-1], {-8; -7; -6; -5; -4; -3; -2; -1}, {-7; -6; -5; -4; -3; -2; -1; 0} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: -> {-8; -7; -6; -5; -4; -3; -2; -1}, -> {1; 2; 3; 4; 5; 6; 7}, -> {-6; -5; -4; -3; -2; -1; 0} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: -> {1; 2; 3; 4; 5; 6; 7; 8}, {-7; -6; -5; -4; -3; -2; -1}, {0; 1; 2; 3; 4; 5; 6} -50a75,98 -> [eva] tests/value/modulo.i:53: Frama_C_show_each_2: [-10..-1], [1..9], [-8..0] -> [eva] tests/value/modulo.i:53: Frama_C_show_each_2: [-10..-1], [-9..-1], [-8..0] -> [eva] tests/value/modulo.i:53: Frama_C_show_each_2: [1..10], [1..9], [0..8] -> [eva] tests/value/modulo.i:53: Frama_C_show_each_2: [1..10], [-9..-1], [0..8] -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: -> [-9..-1], {1; 2; 3; 4; 5; 6; 7; 8}, {-7; -6; -5; -4; -3; -2; -1; 0} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: -> [1..9], {1; 2; 3; 4; 5; 6; 7; 8}, {0; 1; 2; 3; 4; 5; 6; 7} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: -> [-9..-1], {-8; -7; -6; -5; -4; -3; -2; -1}, {-7; -6; -5; -4; -3; -2; -1; 0} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: -> [1..9], {-8; -7; -6; -5; -4; -3; -2; -1}, {0; 1; 2; 3; 4; 5; 6; 7} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: -> {-8; -7; -6; -5; -4; -3; -2; -1}, -> {1; 2; 3; 4; 5; 6; 7}, -> {-6; -5; -4; -3; -2; -1; 0} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: -> {1; 2; 3; 4; 5; 6; 7; 8}, {-7; -6; -5; -4; -3; -2; -1}, {0; 1; 2; 3; 4; 5; 6} -60a109,110 -> [eva] tests/value/modulo.i:64: Frama_C_show_each_3: [-10..10], [-9..9], [-8..8] -> [eva] tests/value/modulo.i:64: Frama_C_show_each_3: [-9..9], [-8..8], [-7..7] -diff tests/value/oracle/octagons.res.oracle tests/value/oracle_apron/octagons.res.oracle -270,273c270,273 -< a ∈ [-1024..2147483647] -< b ∈ [-1023..2147483647] -< c ∈ [-1023..2147483647] -< d ∈ [-1032..2147483647] ---- -> a ∈ [-603..2147483646] -> b ∈ [-602..2147483647] -> c ∈ [-602..1446] -> d ∈ [-611..2147483647] -diff tests/value/oracle/offsetmap.0.res.oracle tests/value/oracle_apron/offsetmap.0.res.oracle -64,65c64 -< a[bits 0 to 7] ∈ {1; 6} -< [bits 8 to 31]# ∈ {6}%32, bits 8 to 31 ---- -> a ∈ {1; 6} -67,68c66 -< a7[bits 0 to 7] ∈ {1} -< [bits 8 to 31]# ∈ {97}%32, bits 8 to 31 ---- -> a7 ∈ {1} -108,109c106 -< a[bits 0 to 7] ∈ {1; 6} -< [bits 8 to 31]# ∈ {6}%32, bits 8 to 31 ---- -> a ∈ {1; 6} -111,112c108 -< a7[bits 0 to 7] ∈ {1} -< [bits 8 to 31]# ∈ {97}%32, bits 8 to 31 ---- -> a7 ∈ {1} -diff tests/value/oracle/offsetmap.1.res.oracle tests/value/oracle_apron/offsetmap.1.res.oracle -64,69c64,66 -< a[bits 0 to 7] ∈ {1; 6} -< [bits 8 to 31]# ∈ {6}%32, bits 8 to 31 -< b[bits 0 to 7] ∈ {0; 1} -< [bits 8 to 31]# ∈ {0; 6}%32, bits 8 to 31 -< a7[bits 0 to 7] ∈ {1} -< [bits 8 to 31]# ∈ {97}%32, bits 8 to 31 ---- -> a ∈ {1; 6} -> b ∈ {0; 1} -> a7 ∈ {1} -109,114c106,108 -< a[bits 0 to 7] ∈ {1; 6} -< [bits 8 to 31]# ∈ {6}%32, bits 8 to 31 -< b[bits 0 to 7] ∈ {0; 1} -< [bits 8 to 31]# ∈ {0; 6}%32, bits 8 to 31 -< a7[bits 0 to 7] ∈ {1} -< [bits 8 to 31]# ∈ {97}%32, bits 8 to 31 ---- -> a ∈ {1; 6} -> b ∈ {0; 1} -> a7 ∈ {1} -diff tests/value/oracle/partitioning-annots.4.res.oracle tests/value/oracle_apron/partitioning-annots.4.res.oracle -15,16d14 -< [eva:alarm] tests/value/partitioning-annots.c:138: Warning: -< division by zero. assert j ≢ 0; -diff tests/value/oracle/precise_locations.res.oracle tests/value/oracle_apron/precise_locations.res.oracle -32,35c32,47 -< [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct -< [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct -< [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct -< [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct ---- -> [eva] computing for function ct <- main. -> Called from tests/value/precise_locations.i:39. -> [eva] Recording results for ct -> [eva] Done for function ct -> [eva] computing for function ct <- main. -> Called from tests/value/precise_locations.i:39. -> [eva] Recording results for ct -> [eva] Done for function ct -> [eva] computing for function ct <- main. -> Called from tests/value/precise_locations.i:39. -> [eva] Recording results for ct -> [eva] Done for function ct -> [eva] computing for function ct <- main. -> Called from tests/value/precise_locations.i:39. -> [eva] Recording results for ct -> [eva] Done for function ct -37,42c49,72 -< [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct -< [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct -< [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct -< [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct -< [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct -< [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct ---- -> [eva] computing for function ct <- main. -> Called from tests/value/precise_locations.i:39. -> [eva] Recording results for ct -> [eva] Done for function ct -> [eva] computing for function ct <- main. -> Called from tests/value/precise_locations.i:39. -> [eva] Recording results for ct -> [eva] Done for function ct -> [eva] computing for function ct <- main. -> Called from tests/value/precise_locations.i:39. -> [eva] Recording results for ct -> [eva] Done for function ct -> [eva] computing for function ct <- main. -> Called from tests/value/precise_locations.i:39. -> [eva] Recording results for ct -> [eva] Done for function ct -> [eva] computing for function ct <- main. -> Called from tests/value/precise_locations.i:39. -> [eva] Recording results for ct -> [eva] Done for function ct -> [eva] computing for function ct <- main. -> Called from tests/value/precise_locations.i:39. -> [eva] Recording results for ct -> [eva] Done for function ct -520,529c550,589 -< [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct -< [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct -< [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct -< [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct -< [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct -< [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct -< [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct -< [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct -< [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct -< [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct ---- -> [eva] computing for function ct <- main. -> Called from tests/value/precise_locations.i:39. -> [eva] Recording results for ct -> [eva] Done for function ct -> [eva] computing for function ct <- main. -> Called from tests/value/precise_locations.i:39. -> [eva] Recording results for ct -> [eva] Done for function ct -> [eva] computing for function ct <- main. -> Called from tests/value/precise_locations.i:39. -> [eva] Recording results for ct -> [eva] Done for function ct -> [eva] computing for function ct <- main. -> Called from tests/value/precise_locations.i:39. -> [eva] Recording results for ct -> [eva] Done for function ct -> [eva] computing for function ct <- main. -> Called from tests/value/precise_locations.i:39. -> [eva] Recording results for ct -> [eva] Done for function ct -> [eva] computing for function ct <- main. -> Called from tests/value/precise_locations.i:39. -> [eva] Recording results for ct -> [eva] Done for function ct -> [eva] computing for function ct <- main. -> Called from tests/value/precise_locations.i:39. -> [eva] Recording results for ct -> [eva] Done for function ct -> [eva] computing for function ct <- main. -> Called from tests/value/precise_locations.i:39. -> [eva] Recording results for ct -> [eva] Done for function ct -> [eva] computing for function ct <- main. -> Called from tests/value/precise_locations.i:39. -> [eva] Recording results for ct -> [eva] Done for function ct -> [eva] computing for function ct <- main. -> Called from tests/value/precise_locations.i:39. -> [eva] Recording results for ct -> [eva] Done for function ct -diff tests/value/oracle/precond.res.oracle tests/value/oracle_apron/precond.res.oracle -49a50,51 -> [eva] computing for function f <- main. -> Called from tests/value/precond.c:39. -53c55,56 -< [eva] tests/value/precond.c:39: Reusing old results for call to f ---- -> [eva] Recording results for f -> [eva] Done for function f -diff tests/value/oracle/ptr_relation.1.res.oracle tests/value/oracle_apron/ptr_relation.1.res.oracle -24c24 -< j ∈ {-1; 0; 1} ---- -> j ∈ {0} -diff tests/value/oracle/raz.res.oracle tests/value/oracle_apron/raz.res.oracle -14c14 -< i ∈ [0..2147483647] ---- -> i ∈ [0..10] -diff tests/value/oracle/reevaluate_alarms.res.oracle tests/value/oracle_apron/reevaluate_alarms.res.oracle -61c61 -< S ∈ [0..2147483647] ---- -> S ∈ [4..2147483647] -diff tests/value/oracle/relation_reduction.res.oracle tests/value/oracle_apron/relation_reduction.res.oracle -24,27d23 -< [eva:alarm] tests/value/relation_reduction.i:20: Warning: -< accessing out of bounds index. assert 0 ≤ y; -< [eva:alarm] tests/value/relation_reduction.i:20: Warning: -< accessing out of bounds index. assert y < 9; -34,37c30,33 -< R1 ∈ [-2147483648..2147483637] -< R2 ∈ [-2147483638..2147483647] -< R3 ∈ [--..--] -< R4 ∈ {0; 1; 2; 3; 4; 5} ---- -> R1 ∈ {0; 2} -> R2 ∈ {0; 12} -> R3 ∈ {0; 7} -> R4 ∈ {0; 2} -diff tests/value/oracle/relation_shift.res.oracle tests/value/oracle_apron/relation_shift.res.oracle -31,32c31,32 -< r1 ∈ [--..--] -< r2 ∈ [--..--] ---- -> r1 ∈ {2} -> r2 ∈ {7} -35,37c35,37 -< x ∈ [-2147483647..2147483647] -< y ∈ [-2147483648..2147483646] -< z ∈ [-2147483642..2147483647] ---- -> x ∈ [-2147483646..2147483642] -> y ∈ [-2147483648..2147483640] -> z ∈ [-2147483641..2147483647] -49,50c49,50 -< r1 ∈ [--..--] -< r2 ∈ [--..--] ---- -> r1 ∈ {2} -> r2 ∈ {7} -53,55c53,55 -< x ∈ [-2147483647..2147483647] -< y ∈ [-2147483648..2147483646] -< z ∈ [-2147483642..2147483647] ---- -> x ∈ [-2147483646..2147483642] -> y ∈ [-2147483648..2147483640] -> z ∈ [-2147483641..2147483647] -diff tests/value/oracle/relations.res.oracle tests/value/oracle_apron/relations.res.oracle -80,81c80,82 -< e ∈ [--..--] -< f ∈ [--..--] ---- -> e ∈ {1} -> f[bits 0 to 7] ∈ {1; 4} -> [bits 8 to 31] ∈ [--..--] -diff tests/value/oracle/relations2.res.oracle tests/value/oracle_apron/relations2.res.oracle -25c25 -< len ∈ [--..--] ---- -> len ∈ [0..1023] -36,37c36 -< [eva] tests/value/relations2.i:17: -< Frama_C_show_each_end: [0..4294967295], [0..64] ---- -> [eva] tests/value/relations2.i:17: Frama_C_show_each_end: [0..1023], [0..64] -69,71d67 -< [eva:alarm] tests/value/relations2.i:34: Warning: -< accessing out of bounds index. -< assert (unsigned int)(i - (unsigned int)(t + 1)) < 514; -124,125d119 -< [eva:alarm] tests/value/relations2.i:35: Warning: -< signed overflow. assert s + b3 ≤ 2147483647; -140c134 -< len ∈ [--..--] ---- -> len ∈ [0..1023] -diff tests/value/oracle/return.res.oracle tests/value/oracle_apron/return.res.oracle -12c12,15 -< [eva] tests/value/return.i:19: Reusing old results for call to f ---- -> [eva] computing for function f <- main. -> Called from tests/value/return.i:19. -> [eva] Recording results for f -> [eva] Done for function f -diff tests/value/oracle/static.res.oracle tests/value/oracle_apron/static.res.oracle -22c22,25 -< [eva] tests/value/static.i:20: Reusing old results for call to f ---- -> [eva] computing for function f <- main. -> Called from tests/value/static.i:20. -> [eva] Recording results for f -> [eva] Done for function f -diff tests/value/oracle/struct2.res.oracle tests/value/oracle_apron/struct2.res.oracle -81,84d80 -< accessing out of bounds index. assert 0 ≤ (int)(i + j); -< [eva:alarm] tests/value/struct2.i:185: Warning: -< accessing out of bounds index. assert (int)(i + j) < 2; -< [eva:alarm] tests/value/struct2.i:185: Warning: -106d101 -< [scope:rm_asserts] removing 2 assertion(s) -diff tests/value/oracle/test.0.res.oracle tests/value/oracle_apron/test.0.res.oracle -29c29 -< j ∈ [-1073741822..1] ---- -> j ∈ {-1; 0; 1} -diff tests/value/oracle/undefined_sequence.1.res.oracle tests/value/oracle_apron/undefined_sequence.1.res.oracle -33c33,36 -< [eva] tests/value/undefined_sequence.i:54: Reusing old results for call to g ---- -> [eva] computing for function g <- main. -> Called from tests/value/undefined_sequence.i:54. -> [eva] Recording results for g -> [eva] Done for function g -Only in tests/value/oracle: unit_tests.res.oracle -diff tests/value/oracle/unroll.res.oracle tests/value/oracle_apron/unroll.res.oracle -13,14d12 -< [eva:alarm] tests/value/unroll.i:34: Warning: -< signed overflow. assert -2147483648 ≤ j - 1; -26c24 -< j ∈ [-2147483648..-123] ---- -> j ∈ {-238} -diff tests/value/oracle/unroll_simple.res.oracle tests/value/oracle_apron/unroll_simple.res.oracle -8,9d7 -< [eva:alarm] tests/value/unroll_simple.i:11: Warning: -< signed overflow. assert -2147483648 ≤ j - 1; -21c19 -< j ∈ [-2147483648..-126] ---- -> j ∈ {-250} -diff tests/value/oracle/widen_on_non_monotonic.res.oracle tests/value/oracle_apron/widen_on_non_monotonic.res.oracle -25a26 -> [eva] tests/value/widen_on_non_monotonic.i:21: starting to merge loop iterations -diff tests/value/oracle/with_comment.res.oracle tests/value/oracle_apron/with_comment.res.oracle -9,10d8 -< [eva:alarm] tests/value/with_comment.i:21: Warning: -< signed overflow. assert G + 1 ≤ 2147483647; diff --git a/tests/value/diff_bitwise b/tests/value/diff_bitwise deleted file mode 100644 index 7ef9494da776c8a2e342d1f3be2eacc46a36d1e6..0000000000000000000000000000000000000000 --- a/tests/value/diff_bitwise +++ /dev/null @@ -1,54 +0,0 @@ -diff tests/value/oracle/addition.res.oracle tests/value/oracle_bitwise/addition.res.oracle -121,123c121 -< [eva] tests/value/addition.i:52: -< Assigning imprecise value to p10. -< The imprecision originates from Arithmetic {tests/value/addition.i:52} ---- -> [eva] tests/value/addition.i:52: Assigning imprecise value to p10. -163a162 -> {{ garbled mix of &{p1} (origin: Misaligned {tests/value/addition.i:52}) }} -165a165 -> {{ garbled mix of &{p2} (origin: Misaligned {tests/value/addition.i:56}) }} -201,203c201 -< p10 ∈ -< {{ garbled mix of &{p1} -< (origin: Arithmetic {tests/value/addition.i:52}) }} ---- -> p10 ∈ {{ garbled mix of &{p1} }} -428a427 -> {{ garbled mix of &{p1} (origin: Misaligned {tests/value/addition.i:52}) }} -467,469c466 -< p10 ∈ -< {{ garbled mix of &{p1} -< (origin: Arithmetic {tests/value/addition.i:52}) }} ---- -> p10 ∈ {{ garbled mix of &{p1} }} -diff tests/value/oracle/bitwise.res.oracle tests/value/oracle_bitwise/bitwise.res.oracle -98c98,101 -< [eva] tests/value/bitwise.i:158: Frama_C_show_each_dead: {0} ---- -> [eva] tests/value/bitwise.i:156: -> The evaluation of the expression x & 2 -> led to bottom without alarms: -> at this point the product of states has no possible concretization. -diff tests/value/oracle/bitwise_pointer.res.oracle tests/value/oracle_bitwise/bitwise_pointer.res.oracle -34,36c34 -< [eva] tests/value/bitwise_pointer.i:18: -< Assigning imprecise value to p. -< The imprecision originates from Arithmetic {tests/value/bitwise_pointer.i:18} ---- -> [eva] tests/value/bitwise_pointer.i:18: Assigning imprecise value to p. -41,43c39 -< [eva] tests/value/bitwise_pointer.i:22: -< Assigning imprecise value to p1. -< The imprecision originates from Arithmetic {tests/value/bitwise_pointer.i:22} ---- -> [eva] tests/value/bitwise_pointer.i:22: Assigning imprecise value to p1. -diff tests/value/oracle/logic_ptr_cast.res.oracle tests/value/oracle_bitwise/logic_ptr_cast.res.oracle -8,10c8 -< [eva] tests/value/logic_ptr_cast.i:8: -< Assigning imprecise value to p. -< The imprecision originates from Arithmetic {tests/value/logic_ptr_cast.i:8} ---- -> [eva] tests/value/logic_ptr_cast.i:8: Assigning imprecise value to p. -Only in tests/value/oracle: unit_tests.res.oracle diff --git a/tests/value/diff_equalities b/tests/value/diff_equalities deleted file mode 100644 index f07475f33aa61831526cdf8a686726438a8e2707..0000000000000000000000000000000000000000 --- a/tests/value/diff_equalities +++ /dev/null @@ -1,870 +0,0 @@ -diff tests/value/oracle/CruiseControl.res.oracle tests/value/oracle_equalities/CruiseControl.res.oracle -980c980 -< [0]._C4_ThrottleCmd._I0_Regul_ON ∈ {0; 1} ---- -> [0]._C4_ThrottleCmd._I0_Regul_ON ∈ {1} -1018c1018 -< [0]._C4_ThrottleCmd._C0_ThrottleRegulation._C0_SaturateThrottle{._I0_ThrottleIn; ._O0_ThrottleOut} ∈ ---- -> [0]._C4_ThrottleCmd._C0_ThrottleRegulation._C0_SaturateThrottle._I0_ThrottleIn ∈ -1019a1020,1021 -> [0]._C4_ThrottleCmd._C0_ThrottleRegulation._C0_SaturateThrottle._O0_ThrottleOut ∈ -> [-0.0000000000000000 .. 1.9999998807907104*2^127] -1033c1035 -< [-1.9999998807907104*2^127 .. 1.9999998807907104*2^127] ---- -> [-0.0000000000000000 .. 1.9999998807907104*2^127] -1218c1220 -< [0]._C4_ThrottleCmd._I0_Regul_ON ∈ {0; 1} ---- -> [0]._C4_ThrottleCmd._I0_Regul_ON ∈ {1} -1230c1232,1236 -< [0]._C4_ThrottleCmd._C0_ThrottleRegulation{._I1_CruiseSpeed; ._I2_VehiculeSpeed; ._O0_Throttle; ._L1_CruiseControl; ._L2_CruiseControl; ._L3_CruiseControl} ∈ ---- -> [0]._C4_ThrottleCmd._C0_ThrottleRegulation{._I1_CruiseSpeed; ._I2_VehiculeSpeed} ∈ -> [-1.9999998807907104*2^127 .. 1.9999998807907104*2^127] -> [0]._C4_ThrottleCmd._C0_ThrottleRegulation._O0_Throttle ∈ -> [-0.0000000000000000 .. 1.9999998807907104*2^127] -> [0]._C4_ThrottleCmd._C0_ThrottleRegulation{._L1_CruiseControl; ._L2_CruiseControl; ._L3_CruiseControl} ∈ -1248c1254 -< [0]._C4_ThrottleCmd._C0_ThrottleRegulation{._L4_CruiseControl; ._L13_CruiseControl} ∈ ---- -> [0]._C4_ThrottleCmd._C0_ThrottleRegulation._L4_CruiseControl ∈ -1249a1256,1257 -> [0]._C4_ThrottleCmd._C0_ThrottleRegulation._L13_CruiseControl ∈ -> [-0.0000000000000000 .. 1.9999998807907104*2^127] -1256c1264 -< [0]._C4_ThrottleCmd._C0_ThrottleRegulation._C0_SaturateThrottle{._I0_ThrottleIn; ._O0_ThrottleOut} ∈ ---- -> [0]._C4_ThrottleCmd._C0_ThrottleRegulation._C0_SaturateThrottle._I0_ThrottleIn ∈ -1257a1266,1267 -> [0]._C4_ThrottleCmd._C0_ThrottleRegulation._C0_SaturateThrottle._O0_ThrottleOut ∈ -> [-0.0000000000000000 .. 1.9999998807907104*2^127] -1271c1281 -< [-1.9999998807907104*2^127 .. 1.9999998807907104*2^127] ---- -> [-0.0000000000000000 .. 1.9999998807907104*2^127] -diff tests/value/oracle/addition.res.oracle tests/value/oracle_equalities/addition.res.oracle -138,141d137 -< [eva:alarm] tests/value/addition.i:61: Warning: -< signed overflow. assert -2147483648 ≤ (int)*((char *)(&q1)) + 2; -< [eva:alarm] tests/value/addition.i:61: Warning: -< signed overflow. assert (int)*((char *)(&q1)) + 2 ≤ 2147483647; -168c164 -< [scope:rm_asserts] removing 9 assertion(s) ---- -> [scope:rm_asserts] removing 7 assertion(s) -407,410d402 -< [eva:alarm] tests/value/addition.i:61: Warning: -< signed overflow. assert -2147483648 ≤ (int)*((char *)(&q1)) + 2; -< [eva:alarm] tests/value/addition.i:61: Warning: -< signed overflow. assert (int)*((char *)(&q1)) + 2 ≤ 2147483647; -433c425 -< [scope:rm_asserts] removing 9 assertion(s) ---- -> [scope:rm_asserts] removing 7 assertion(s) -diff tests/value/oracle/alias.0.res.oracle tests/value/oracle_equalities/alias.0.res.oracle -103,104c103,104 -< t ∈ {1; 2; 4} -< u ∈ {2; 3; 4; 5} ---- -> t ∈ {4} -> u ∈ {5} -110c110 -< t2 ∈ {0; 3; 6} ---- -> t2 ∈ {6} -diff tests/value/oracle/alias.1.res.oracle tests/value/oracle_equalities/alias.1.res.oracle -85c85 -< z ∈ {0; 1; 2} ---- -> z ∈ {0; 2} -87,88c87,88 -< v2 ∈ {-1; 0; 1; 2; 3; 4} -< PTR1 ∈ {{ &p2{[0], [1], [2]} }} ---- -> v2 ∈ {0; 1; 2} -> PTR1 ∈ {{ &p2{[0], [1]} }} -90c90 -< PTR3 ∈ {{ &p2{[1], [2], [4]} }} ---- -> PTR3 ∈ {{ &p2{[1], [2]} }} -110c110 -< t2 FROM p2[0..2]; c ---- -> t2 FROM p2[0..1]; c -diff tests/value/oracle/alias.2.res.oracle tests/value/oracle_equalities/alias.2.res.oracle -76c76 -< z ∈ {-5; -4; -3; -2; -1; 0; 1; 1000} ---- -> z ∈ {-2; -1; 0; 1000} -diff tests/value/oracle/alias.3.res.oracle tests/value/oracle_equalities/alias.3.res.oracle -67c67 -< z ∈ {0; 1; 2} ---- -> z ∈ {0; 2} -diff tests/value/oracle/alias.4.res.oracle tests/value/oracle_equalities/alias.4.res.oracle -81c81 -< y ∈ {0; 3; 77} ---- -> y ∈ {77} -diff tests/value/oracle/alias.5.res.oracle tests/value/oracle_equalities/alias.5.res.oracle -59a60 -> [eva] tests/value/alias.i:260: starting to merge loop iterations -170c171 -< y ∈ {0; 3; 77} ---- -> y ∈ {77} -diff tests/value/oracle/alias.6.res.oracle tests/value/oracle_equalities/alias.6.res.oracle -86c86 -< x ∈ {0; 4; 33} ---- -> x ∈ {33} -diff tests/value/oracle/auto_loop_unroll.0.res.oracle tests/value/oracle_equalities/auto_loop_unroll.0.res.oracle -81c81,84 -< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr ---- -> [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:101. -> [eva] Recording results for incr -> [eva] Done for function incr -90c93,96 -< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr ---- -> [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:101. -> [eva] Recording results for incr -> [eva] Done for function incr -diff tests/value/oracle/backward_add_ptr.res.oracle tests/value/oracle_equalities/backward_add_ptr.res.oracle -12c12 -< Frama_C_show_each_only_a: {0; 1}, {{ &a }}, {0} ---- -> Frama_C_show_each_only_a: {0}, {{ &a }}, {0} -93c93,96 -< [eva] tests/value/backward_add_ptr.c:110: Reusing old results for call to gm ---- -> [eva] computing for function gm <- main3 <- main. -> Called from tests/value/backward_add_ptr.c:110. -> [eva] Recording results for gm -> [eva] Done for function gm -107c110,113 -< [eva] tests/value/backward_add_ptr.c:125: Reusing old results for call to gm ---- -> [eva] computing for function gm <- main3 <- main. -> Called from tests/value/backward_add_ptr.c:125. -> [eva] Recording results for gm -> [eva] Done for function gm -119c125 -< (origin: Arithmetic {tests/value/backward_add_ptr.c:68}) }}, ---- -> (origin: Arithmetic Bottom) }}, -157,160c163,167 -< {{ garbled mix of &{b} -< (origin: Arithmetic {tests/value/backward_add_ptr.c:68}) }}, -< [0..4294967295] -< [eva] tests/value/backward_add_ptr.c:160: Reusing old results for call to gm ---- -> {{ garbled mix of &{b} (origin: Arithmetic Bottom) }}, [0..4294967295] -> [eva] computing for function gm <- main4 <- main. -> Called from tests/value/backward_add_ptr.c:160. -> [eva] Recording results for gm -> [eva] Done for function gm -178c185 -< (origin: Arithmetic {tests/value/backward_add_ptr.c:68}) }}, ---- -> (origin: Arithmetic Bottom) }}, -180c187 -< (origin: Arithmetic {tests/value/backward_add_ptr.c:68}) }} ---- -> (origin: Arithmetic Bottom) }} -188c195 -< (origin: Arithmetic {tests/value/backward_add_ptr.c:68}) }} ---- -> (origin: Arithmetic Bottom) }} -194c201 -< (origin: Arithmetic {tests/value/backward_add_ptr.c:68}) }}, ---- -> (origin: Arithmetic Bottom) }}, -211a219,222 -> (origin: Arithmetic {tests/value/backward_add_ptr.c:33}) }} -> {{ garbled mix of &{a} -> (origin: Arithmetic {tests/value/backward_add_ptr.c:33}) }} -> {{ garbled mix of &{b} -232a244,245 -> {{ garbled mix of &{a; b} -> (origin: Arithmetic {tests/value/backward_add_ptr.c:106}) }} -234a248,251 -> {{ garbled mix of &{a; b} -> (origin: Arithmetic {tests/value/backward_add_ptr.c:107}) }} -> {{ garbled mix of &{a; b} -> (origin: Arithmetic {tests/value/backward_add_ptr.c:115}) }} -238c255,257 -< (origin: Arithmetic {tests/value/backward_add_ptr.c:115}) }} ---- -> (origin: Arithmetic {tests/value/backward_add_ptr.c:116}) }} -> {{ garbled mix of &{a; b} -> (origin: Arithmetic {tests/value/backward_add_ptr.c:121}) }} -240a260,263 -> {{ garbled mix of &{a; b} -> (origin: Arithmetic {tests/value/backward_add_ptr.c:122}) }} -> {{ garbled mix of &{a; b} -> (origin: Arithmetic {tests/value/backward_add_ptr.c:130}) }} -242a266,267 -> {{ garbled mix of &{a; b} -> (origin: Arithmetic {tests/value/backward_add_ptr.c:136}) }} -245a271,272 -> (origin: Arithmetic {tests/value/backward_add_ptr.c:137}) }} -> {{ garbled mix of &{a; b} -246a274,275 -> {{ garbled mix of &{a; b} -> (origin: Arithmetic {tests/value/backward_add_ptr.c:145}) }} -248a278,285 -> {{ garbled mix of &{a; b} -> (origin: Arithmetic {tests/value/backward_add_ptr.c:150}) }} -> {{ garbled mix of &{a; b} -> (origin: Arithmetic {tests/value/backward_add_ptr.c:151}) }} -> {{ garbled mix of &{a; b} -> (origin: Arithmetic {tests/value/backward_add_ptr.c:156}) }} -> {{ garbled mix of &{a; b} -> (origin: Arithmetic {tests/value/backward_add_ptr.c:157}) }} -250a288,311 -> {{ garbled mix of &{a; b} -> (origin: Arithmetic {tests/value/backward_add_ptr.c:165}) }} -> {{ garbled mix of &{b; c} -> (origin: Arithmetic {tests/value/backward_add_ptr.c:165}) }} -> {{ garbled mix of &{a; b} -> (origin: Arithmetic {tests/value/backward_add_ptr.c:166}) }} -> {{ garbled mix of &{b; c} -> (origin: Arithmetic {tests/value/backward_add_ptr.c:166}) }} -> {{ garbled mix of &{a; b} -> (origin: Arithmetic {tests/value/backward_add_ptr.c:171}) }} -> {{ garbled mix of &{b; c} -> (origin: Arithmetic {tests/value/backward_add_ptr.c:171}) }} -> {{ garbled mix of &{a; b} -> (origin: Arithmetic {tests/value/backward_add_ptr.c:172}) }} -> {{ garbled mix of &{b; c} -> (origin: Arithmetic {tests/value/backward_add_ptr.c:172}) }} -> {{ garbled mix of &{a; b} -> (origin: Arithmetic {tests/value/backward_add_ptr.c:177}) }} -> {{ garbled mix of &{b; c} -> (origin: Arithmetic {tests/value/backward_add_ptr.c:177}) }} -> {{ garbled mix of &{a; b} -> (origin: Arithmetic {tests/value/backward_add_ptr.c:178}) }} -> {{ garbled mix of &{b; c} -> (origin: Arithmetic {tests/value/backward_add_ptr.c:178}) }} -diff tests/value/oracle/bitfield.res.oracle tests/value/oracle_equalities/bitfield.res.oracle -138a139,141 -> [eva] tests/value/bitfield.i:71: -> Frama_C_show_each: -> {{ garbled mix of &{b} (origin: Misaligned {tests/value/bitfield.i:70}) }} -diff tests/value/oracle/bitwise_pointer.res.oracle tests/value/oracle_equalities/bitwise_pointer.res.oracle -62c62 -< x ∈ [0..9] ---- -> x ∈ {5} -75c75 -< x1 ∈ [0..9] ---- -> x1 ∈ {5} -diff tests/value/oracle/call_simple.res.oracle tests/value/oracle_equalities/call_simple.res.oracle -28c28 -< c ∈ [--..--] ---- -> c ∈ [-2147483648..2147483646] -diff tests/value/oracle/case_analysis.res.oracle tests/value/oracle_equalities/case_analysis.res.oracle -11a12,15 -> [eva] tests/value/case_analysis.i:18: -> The evaluation of the expression r * r -> led to bottom without alarms: -> at this point the product of states has no possible concretization. -18c22 -< rq ∈ [-0.0000000000000000 .. 100.0000000000000000] ---- -> rq ∈ [0.0000000000000000 .. 100.0000000000000000] -diff tests/value/oracle/descending.res.oracle tests/value/oracle_equalities/descending.res.oracle -42c42 -< i ∈ {31; 32} ---- -> i ∈ {31} -diff tests/value/oracle/domains_function.res.oracle tests/value/oracle_equalities/domains_function.res.oracle -19,20c19 -< [eva] tests/value/domains_function.c:92: -< Frama_C_show_each_top: [-2147483648..2147483647] ---- -> [eva] tests/value/domains_function.c:92: Frama_C_show_each_top: {3} -28,29c27 -< [eva] tests/value/domains_function.c:77: -< Frama_C_show_each_top: [-2147483648..2147483647] ---- -> [eva] tests/value/domains_function.c:77: Frama_C_show_each_top: {1} -32,33c30 -< [eva] tests/value/domains_function.c:96: -< Frama_C_show_each_top: [-2147483648..2147483647] ---- -> [eva] tests/value/domains_function.c:96: Frama_C_show_each_top: {1} -36,37c33 -< [eva] tests/value/domains_function.c:84: -< Frama_C_show_each_top: [-2147483648..2147483647] ---- -> [eva] tests/value/domains_function.c:84: Frama_C_show_each_top: {2} -40,41c36 -< [eva] tests/value/domains_function.c:98: -< Frama_C_show_each_top: [-2147483648..2147483647] ---- -> [eva] tests/value/domains_function.c:98: Frama_C_show_each_top: {2} -60,61c55 -< [eva] tests/value/domains_function.c:84: -< Frama_C_show_each_top: [-2147483648..2147483647] ---- -> [eva] tests/value/domains_function.c:84: Frama_C_show_each_top: {2} -64,65c58 -< [eva] tests/value/domains_function.c:113: -< Frama_C_show_each_top: [-2147483648..2147483647] ---- -> [eva] tests/value/domains_function.c:113: Frama_C_show_each_top: {2} -78,79c71 -< [eva] tests/value/domains_function.c:55: -< Frama_C_show_each_top: [-2147483648..2147483647] ---- -> [eva] tests/value/domains_function.c:55: Frama_C_show_each_top: {42} -108,109c100 -< [eva] tests/value/domains_function.c:64: -< Frama_C_show_each_top: [-2147483648..2147483647] ---- -> [eva] tests/value/domains_function.c:64: Frama_C_show_each_top: {42} -116c107 -< result ∈ [--..--] ---- -> result ∈ {2} -130c121 -< result ∈ [--..--] ---- -> result ∈ {1} -135c126 -< result ∈ [--..--] ---- -> result ∈ {2} -138c129 -< result ∈ [--..--] ---- -> result ∈ {2} -diff tests/value/oracle/downcast.2.res.oracle tests/value/oracle_equalities/downcast.2.res.oracle -114c114 -< ux ∈ [--..--] ---- -> ux ∈ [0..65535] -157c157 -< ux ∈ [--..--] ---- -> ux ∈ [0..65535] -diff tests/value/oracle/fptr.1.res.oracle tests/value/oracle_equalities/fptr.1.res.oracle -55,57d54 -< [eva] tests/value/fptr.i:67: -< Frama_C_show_each_F: {{ NULL + [0..4294967295] ; &h ; &hh }} -< [eva] tests/value/fptr.i:68: Reusing old results for call to f -69c66 -< n ∈ {0; 1; 2} ---- -> n ∈ {0; 1} -diff tests/value/oracle/from_call.0.res.oracle tests/value/oracle_equalities/from_call.0.res.oracle -68c68,73 -< [eva] tests/value/from_call.i:20: Reusing old results for call to g ---- -> [eva] computing for function g <- f <- main. -> Called from tests/value/from_call.i:20. -> [eva] Recording results for g -> [from] Computing for function g -> [from] Done for function g -> [eva] Done for function g -78c83,88 -< [eva] tests/value/from_call.i:20: Reusing old results for call to g ---- -> [eva] computing for function g <- f <- main. -> Called from tests/value/from_call.i:20. -> [eva] Recording results for g -> [from] Computing for function g -> [from] Done for function g -> [eva] Done for function g -diff tests/value/oracle/from_call.1.res.oracle tests/value/oracle_equalities/from_call.1.res.oracle -64c64,67 -< [eva] tests/value/from_call.i:20: Reusing old results for call to g ---- -> [eva] computing for function g <- f <- main. -> Called from tests/value/from_call.i:20. -> [eva] Recording results for g -> [eva] Done for function g -72c75,78 -< [eva] tests/value/from_call.i:20: Reusing old results for call to g ---- -> [eva] computing for function g <- f <- main. -> Called from tests/value/from_call.i:20. -> [eva] Recording results for g -> [eva] Done for function g -diff tests/value/oracle/from_termin.res.oracle tests/value/oracle_equalities/from_termin.res.oracle -9a10 -> [eva] tests/value/from_termin.i:8: starting to merge loop iterations -diff tests/value/oracle/imprecise_invalid_write.res.oracle tests/value/oracle_equalities/imprecise_invalid_write.res.oracle -29a30,31 -> [kernel] tests/value/imprecise_invalid_write.i:9: -> imprecise size for variable main1 (Undefined sizeof on a function.) -diff tests/value/oracle/incompatible_states.res.oracle tests/value/oracle_equalities/incompatible_states.res.oracle -14a15,18 -> [eva] tests/value/incompatible_states.c:24: -> The evaluation of the expression x * x -> led to bottom without alarms: -> at this point the product of states has no possible concretization. -27,29c31,34 -< [eva:alarm] tests/value/incompatible_states.c:41: Warning: -< accessing uninitialized left-value. -< assert \initialized(&t[(int)((int)(2 * i) / 2)]); ---- -> [eva] tests/value/incompatible_states.c:41: -> The evaluation of the expression t[(2 * i) / 2] -> led to bottom without alarms: -> at this point the product of states has no possible concretization. -41,42d45 -< [eva:alarm] tests/value/incompatible_states.c:53: Warning: -< division by zero. assert t[i] ≢ 0; -47,49d49 -< [eva] tests/value/incompatible_states.c:41: -< assertion 'Eva,initialization' got final status invalid. -< [scope:rm_asserts] removing 2 assertion(s) -55c55 -< z ∈ [-3..100] ---- -> z ∈ {-3; -2} -58c58 -< t[0] ∈ {0; 1} ---- -> t[0] ∈ {0} -diff tests/value/oracle/library.res.oracle tests/value/oracle_equalities/library.res.oracle -129,132d128 -< [eva:alarm] tests/value/library.i:44: Warning: -< non-finite float value. assert \is_finite(*pf); -< [eva:alarm] tests/value/library.i:44: Warning: -< non-finite float value. assert \is_finite(\add_float(*pf, *pf)); -diff tests/value/oracle/long_const.0.res.oracle tests/value/oracle_equalities/long_const.0.res.oracle -19c19,22 -< [eva] tests/value/long_const.i:25: Reusing old results for call to LL_ABS ---- -> [eva] computing for function LL_ABS <- div64 <- main. -> Called from tests/value/long_const.i:25. -> [eva] Recording results for LL_ABS -> [eva] Done for function LL_ABS -diff tests/value/oracle/long_const.1.res.oracle tests/value/oracle_equalities/long_const.1.res.oracle -19c19,22 -< [eva] tests/value/long_const.i:25: Reusing old results for call to LL_ABS ---- -> [eva] computing for function LL_ABS <- div64 <- main. -> Called from tests/value/long_const.i:25. -> [eva] Recording results for LL_ABS -> [eva] Done for function LL_ABS -diff tests/value/oracle/modulo.res.oracle tests/value/oracle_equalities/modulo.res.oracle -40a41,119 -> [eva] tests/value/modulo.i:41: Frama_C_show_each_1: [-10..-1], [-9..-1], [-8..0] -> [eva] tests/value/modulo.i:41: Frama_C_show_each_1: [-10..-1], [1..9], [-8..0] -> [eva] tests/value/modulo.i:41: Frama_C_show_each_1: [1..10], [-9..-1], [0..8] -> [eva] tests/value/modulo.i:41: Frama_C_show_each_1: [1..10], [1..9], [0..8] -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: -> [1..9], {1; 2; 3; 4; 5; 6; 7; 8}, {0; 1; 2; 3; 4; 5; 6; 7} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: -> [-9..-1], {1; 2; 3; 4; 5; 6; 7; 8}, {-7; -6; -5; -4; -3; -2; -1; 0} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: -> [1..9], {-8; -7; -6; -5; -4; -3; -2; -1}, {0; 1; 2; 3; 4; 5; 6; 7} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: -> [-9..-1], {-8; -7; -6; -5; -4; -3; -2; -1}, {-7; -6; -5; -4; -3; -2; -1; 0} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: -> {-8; -7; -6; -5; -4; -3; -2; -1}, -> {-7; -6; -5; -4; -3; -2; -1}, -> {-6; -5; -4; -3; -2; -1; 0} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: -> {-8; -7; -6; -5; -4; -3; -2; -1}, -> {1; 2; 3; 4; 5; 6; 7}, -> {-6; -5; -4; -3; -2; -1; 0} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: -> {1; 2; 3; 4; 5; 6; 7; 8}, {-7; -6; -5; -4; -3; -2; -1}, {0; 1; 2; 3; 4; 5; 6} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: -> {1; 2; 3; 4; 5; 6; 7; 8}, {1; 2; 3; 4; 5; 6; 7}, {0; 1; 2; 3; 4; 5; 6} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: -> {1; 2; 3; 4; 5; 6; 7}, {1; 2; 3; 4; 5; 6}, {0; 1; 2; 3; 4; 5} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: -> {-7; -6; -5; -4; -3; -2; -1}, {1; 2; 3; 4; 5; 6}, {-5; -4; -3; -2; -1; 0} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: -> {1; 2; 3; 4; 5; 6; 7}, {-6; -5; -4; -3; -2; -1}, {0; 1; 2; 3; 4; 5} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: -> {-7; -6; -5; -4; -3; -2; -1}, -> {-6; -5; -4; -3; -2; -1}, -> {-5; -4; -3; -2; -1; 0} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: -> {-6; -5; -4; -3; -2; -1}, {-5; -4; -3; -2; -1}, {-4; -3; -2; -1; 0} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: -> {-6; -5; -4; -3; -2; -1}, {1; 2; 3; 4; 5}, {-4; -3; -2; -1; 0} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: -> {1; 2; 3; 4; 5; 6}, {-5; -4; -3; -2; -1}, {0; 1; 2; 3; 4} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: {1; 2; 3; 4; 5; 6}, {1; 2; 3; 4; 5}, {0; 1; 2; 3; 4} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: {1; 2; 3; 4; 5}, {1; 2; 3; 4}, {0; 1; 2; 3} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: {-5; -4; -3; -2; -1}, {1; 2; 3; 4}, {-3; -2; -1; 0} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: {1; 2; 3; 4; 5}, {-4; -3; -2; -1}, {0; 1; 2; 3} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: {-5; -4; -3; -2; -1}, {-4; -3; -2; -1}, {-3; -2; -1; 0} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: {-4; -3; -2; -1}, {-3; -2; -1}, {-2; -1; 0} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: {-4; -3; -2; -1}, {1; 2; 3}, {-2; -1; 0} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: {1; 2; 3; 4}, {-3; -2; -1}, {0; 1; 2} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: {1; 2; 3; 4}, {1; 2; 3}, {0; 1; 2} -> [eva] tests/value/modulo.i:41: Frama_C_show_each_1: {1; 2; 3}, {1; 2}, {0; 1} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: {-3; -2; -1}, {1; 2}, {-1; 0} -> [eva] tests/value/modulo.i:41: Frama_C_show_each_1: {1; 2; 3}, {-2; -1}, {0; 1} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: {-3; -2; -1}, {-2; -1}, {-1; 0} -50a130,208 -> [eva] tests/value/modulo.i:53: Frama_C_show_each_2: [-10..-1], [1..9], [-8..0] -> [eva] tests/value/modulo.i:53: Frama_C_show_each_2: [-10..-1], [-9..-1], [-8..0] -> [eva] tests/value/modulo.i:53: Frama_C_show_each_2: [1..10], [1..9], [0..8] -> [eva] tests/value/modulo.i:53: Frama_C_show_each_2: [1..10], [-9..-1], [0..8] -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: -> [-9..-1], {1; 2; 3; 4; 5; 6; 7; 8}, {-7; -6; -5; -4; -3; -2; -1; 0} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: -> [1..9], {1; 2; 3; 4; 5; 6; 7; 8}, {0; 1; 2; 3; 4; 5; 6; 7} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: -> [-9..-1], {-8; -7; -6; -5; -4; -3; -2; -1}, {-7; -6; -5; -4; -3; -2; -1; 0} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: -> [1..9], {-8; -7; -6; -5; -4; -3; -2; -1}, {0; 1; 2; 3; 4; 5; 6; 7} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: -> {-8; -7; -6; -5; -4; -3; -2; -1}, -> {1; 2; 3; 4; 5; 6; 7}, -> {-6; -5; -4; -3; -2; -1; 0} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: -> {-8; -7; -6; -5; -4; -3; -2; -1}, -> {-7; -6; -5; -4; -3; -2; -1}, -> {-6; -5; -4; -3; -2; -1; 0} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: -> {1; 2; 3; 4; 5; 6; 7; 8}, {1; 2; 3; 4; 5; 6; 7}, {0; 1; 2; 3; 4; 5; 6} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: -> {1; 2; 3; 4; 5; 6; 7; 8}, {-7; -6; -5; -4; -3; -2; -1}, {0; 1; 2; 3; 4; 5; 6} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: -> {-7; -6; -5; -4; -3; -2; -1}, {1; 2; 3; 4; 5; 6}, {-5; -4; -3; -2; -1; 0} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: -> {1; 2; 3; 4; 5; 6; 7}, {1; 2; 3; 4; 5; 6}, {0; 1; 2; 3; 4; 5} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: -> {-7; -6; -5; -4; -3; -2; -1}, -> {-6; -5; -4; -3; -2; -1}, -> {-5; -4; -3; -2; -1; 0} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: -> {1; 2; 3; 4; 5; 6; 7}, {-6; -5; -4; -3; -2; -1}, {0; 1; 2; 3; 4; 5} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: -> {-6; -5; -4; -3; -2; -1}, {1; 2; 3; 4; 5}, {-4; -3; -2; -1; 0} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: -> {-6; -5; -4; -3; -2; -1}, {-5; -4; -3; -2; -1}, {-4; -3; -2; -1; 0} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: {1; 2; 3; 4; 5; 6}, {1; 2; 3; 4; 5}, {0; 1; 2; 3; 4} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: -> {1; 2; 3; 4; 5; 6}, {-5; -4; -3; -2; -1}, {0; 1; 2; 3; 4} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: {-5; -4; -3; -2; -1}, {1; 2; 3; 4}, {-3; -2; -1; 0} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: {1; 2; 3; 4; 5}, {1; 2; 3; 4}, {0; 1; 2; 3} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: {-5; -4; -3; -2; -1}, {-4; -3; -2; -1}, {-3; -2; -1; 0} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: {1; 2; 3; 4; 5}, {-4; -3; -2; -1}, {0; 1; 2; 3} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: {-4; -3; -2; -1}, {1; 2; 3}, {-2; -1; 0} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: {-4; -3; -2; -1}, {-3; -2; -1}, {-2; -1; 0} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: {1; 2; 3; 4}, {1; 2; 3}, {0; 1; 2} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: {1; 2; 3; 4}, {-3; -2; -1}, {0; 1; 2} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: {-3; -2; -1}, {1; 2}, {-1; 0} -> [eva] tests/value/modulo.i:53: Frama_C_show_each_2: {1; 2; 3}, {1; 2}, {0; 1} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: {-3; -2; -1}, {-2; -1}, {-1; 0} -> [eva] tests/value/modulo.i:53: Frama_C_show_each_2: {1; 2; 3}, {-2; -1}, {0; 1} -60a219,231 -> [eva] tests/value/modulo.i:64: Frama_C_show_each_3: [-10..10], [-9..9], [-8..8] -> [eva] tests/value/modulo.i:64: Frama_C_show_each_3: [-9..9], [-8..8], [-7..7] -> [eva] tests/value/modulo.i:64: Frama_C_show_each_3: [-8..8], [-7..7], [-6..6] -> [eva] tests/value/modulo.i:64: Frama_C_show_each_3: [-7..7], [-6..6], [-5..5] -> [eva] tests/value/modulo.i:64: Frama_C_show_each_3: [-6..6], [-5..5], [-4..4] -> [eva] tests/value/modulo.i:64: -> Frama_C_show_each_3: -> [-5..5], {-4; -3; -2; -1; 1; 2; 3; 4}, {-3; -2; -1; 0; 1; 2; 3} -> [eva] tests/value/modulo.i:64: -> Frama_C_show_each_3: -> {-4; -3; -2; -1; 1; 2; 3; 4}, {-3; -2; -1; 1; 2; 3}, {-2; -1; 0; 1; 2} -> [eva] tests/value/modulo.i:64: -> Frama_C_show_each_3: {-3; -2; -1; 1; 2; 3}, {-2; -1; 1; 2}, {-1; 0; 1} -diff tests/value/oracle/non_natural.res.oracle tests/value/oracle_equalities/non_natural.res.oracle -58a59,60 -> [kernel] tests/value/non_natural.i:30: -> more than 200(12500) elements to enumerate. Approximating. -65a68,71 -> [kernel] tests/value/non_natural.i:23: -> more than 200(12500) elements to enumerate. Approximating. -> [kernel] tests/value/non_natural.i:23: -> more than 200(12501) elements to enumerate. Approximating. -70a77,80 -> [kernel] tests/value/non_natural.i:24: -> more than 200(12500) elements to enumerate. Approximating. -> [kernel] tests/value/non_natural.i:24: -> more than 200(12501) elements to enumerate. Approximating. -78a89,90 -> [kernel] tests/value/non_natural.i:25: -> more than 200(12500) elements to enumerate. Approximating. -86a99,100 -> [kernel] tests/value/non_natural.i:26: -> more than 200(12500) elements to enumerate. Approximating. -94a109,110 -> [kernel] tests/value/non_natural.i:27: -> more than 200(12500) elements to enumerate. Approximating. -102a119,120 -> [kernel] tests/value/non_natural.i:28: -> more than 200(12500) elements to enumerate. Approximating. -110a129,130 -> [kernel] tests/value/non_natural.i:29: -> more than 200(12500) elements to enumerate. Approximating. -127,146d146 -< [kernel] tests/value/non_natural.i:23: -< more than 200(12501) elements to enumerate. Approximating. -< [kernel] tests/value/non_natural.i:23: -< more than 200(12500) elements to enumerate. Approximating. -< [kernel] tests/value/non_natural.i:24: -< more than 200(12501) elements to enumerate. Approximating. -< [kernel] tests/value/non_natural.i:24: -< more than 200(12500) elements to enumerate. Approximating. -< [kernel] tests/value/non_natural.i:25: -< more than 200(12500) elements to enumerate. Approximating. -< [kernel] tests/value/non_natural.i:26: -< more than 200(12500) elements to enumerate. Approximating. -< [kernel] tests/value/non_natural.i:27: -< more than 200(12500) elements to enumerate. Approximating. -< [kernel] tests/value/non_natural.i:28: -< more than 200(12500) elements to enumerate. Approximating. -< [kernel] tests/value/non_natural.i:29: -< more than 200(12500) elements to enumerate. Approximating. -< [kernel] tests/value/non_natural.i:30: -< more than 200(12500) elements to enumerate. Approximating. -199a200,201 -> [kernel] tests/value/non_natural.i:39: -> more than 200(12500) elements to enumerate. Approximating. -diff tests/value/oracle/nonlin.res.oracle tests/value/oracle_equalities/nonlin.res.oracle -194c194 -< q ∈ {{ &x + [-400..400],0%4 }} ---- -> q ∈ {{ &x }} -diff tests/value/oracle/octagons.res.oracle tests/value/oracle_equalities/octagons.res.oracle -29c29 -< Frama_C_show_each_unreduced_unsigned: [0..4294967295], [0..4294967295] ---- -> Frama_C_show_each_unreduced_unsigned: [0..4294967295], [6..4294967295] -255c255 -< t ∈ [--..--] or UNINITIALIZED ---- -> t ∈ [6..4294967295] or UNINITIALIZED -diff tests/value/oracle/offsetmap.0.res.oracle tests/value/oracle_equalities/offsetmap.0.res.oracle -40d39 -< [eva] Recording results for g -42a42 -> [eva] Recording results for g -diff tests/value/oracle/offsetmap.1.res.oracle tests/value/oracle_equalities/offsetmap.1.res.oracle -40d39 -< [eva] Recording results for g -42a42 -> [eva] Recording results for g -diff tests/value/oracle/origin.0.res.oracle tests/value/oracle_equalities/origin.0.res.oracle -249,250c249 -< pm2[bits 0 to 15]# ∈ {{ (? *)&a }}%32, bits 16 to 31 -< [bits 16 to 31]# ∈ {{ (? *)&b }}%32, bits 0 to 15 ---- -> pm2 ∈ {{ &a + {-4} ; &b + {-4} }} -289,290c288 -< pm2[bits 0 to 15]# ∈ {{ (? *)&a }}%32, bits 16 to 31 -< [bits 16 to 31]# ∈ {{ (? *)&b }}%32, bits 0 to 15 ---- -> pm2 ∈ {{ &a + {-4} ; &b + {-4} }} -diff tests/value/oracle/period.res.oracle tests/value/oracle_equalities/period.res.oracle -88,94d87 -< [eva:alarm] tests/value/period.c:53: Warning: -< pointer downcast. assert (unsigned int)(&g) ≤ 2147483647; -< [eva] tests/value/period.c:53: -< Assigning imprecise value to p. -< The imprecision originates from Arithmetic {tests/value/period.c:53} -< [eva:alarm] tests/value/period.c:54: Warning: -< out of bounds read. assert \valid_read(p); -99d91 -< [scope:rm_asserts] removing 1 assertion(s) -diff tests/value/oracle/plevel.res.oracle tests/value/oracle_equalities/plevel.res.oracle -12d11 -< [eva] Recording results for main -14a14 -> [eva] Recording results for main -diff tests/value/oracle/pointer_comp.res.oracle tests/value/oracle_equalities/pointer_comp.res.oracle -30a31,34 -> [kernel] tests/value/pointer_comp.c:43: -> imprecise size for variable g (Undefined sizeof on a function.) -> [kernel] tests/value/pointer_comp.c:43: -> imprecise size for variable f (Undefined sizeof on a function.) -diff tests/value/oracle/ptr_relation.0.res.oracle tests/value/oracle_equalities/ptr_relation.0.res.oracle -23c23 -< i ∈ {0; 77; 333} ---- -> i ∈ {77} -diff tests/value/oracle/redundant_alarms.res.oracle tests/value/oracle_equalities/redundant_alarms.res.oracle -10,13d9 -< [eva:alarm] tests/value/redundant_alarms.c:11: Warning: -< accessing uninitialized left-value. assert \initialized(p); -< [eva:alarm] tests/value/redundant_alarms.c:12: Warning: -< accessing uninitialized left-value. assert \initialized(p); -24,25d19 -< [eva:alarm] tests/value/redundant_alarms.c:21: Warning: -< accessing uninitialized left-value. assert \initialized(&t[i]); -63,65c57 -< [scope:rm_asserts] removing 3 assertion(s) -< [scope:rm_asserts] tests/value/redundant_alarms.c:12: -< removing redundant assert Eva: initialization: \initialized(p); ---- -> [scope:rm_asserts] removing 2 assertion(s) -108d99 -< /*@ assert Eva: initialization: \initialized(p); */ -110d100 -< /*@ assert Eva: initialization: \initialized(p); */ -127d116 -< /*@ assert Eva: initialization: \initialized(&t[i]); */ -196a186 -> int z; -199,201d188 -< *p = 1; -< int z = *p + 1; -< int w = *p + 2; -diff tests/value/oracle/relation_reduction.res.oracle tests/value/oracle_equalities/relation_reduction.res.oracle -24,27d23 -< [eva:alarm] tests/value/relation_reduction.i:20: Warning: -< accessing out of bounds index. assert 0 ≤ y; -< [eva:alarm] tests/value/relation_reduction.i:20: Warning: -< accessing out of bounds index. assert y < 9; -34,37c30,33 -< R1 ∈ [-2147483648..2147483637] -< R2 ∈ [-2147483638..2147483647] -< R3 ∈ [--..--] -< R4 ∈ {0; 1; 2; 3; 4; 5} ---- -> R1 ∈ {0; 2} -> R2 ∈ {0; 12} -> R3 ∈ {0; 7} -> R4 ∈ {0; 2} -48c44 -< R4 FROM tab[0..8]; x (and SELF) ---- -> R4 FROM tab[0..5]; x (and SELF) -53c49 -< y; t; tab[0..8] ---- -> y; t; tab[0..5] -diff tests/value/oracle/relation_shift.res.oracle tests/value/oracle_equalities/relation_shift.res.oracle -35,36c35,36 -< x ∈ [-2147483647..2147483647] -< y ∈ [-2147483648..2147483646] ---- -> x ∈ [-2147483647..2147483642] -> y ∈ [-2147483648..2147483645] -53,54c53,54 -< x ∈ [-2147483647..2147483647] -< y ∈ [-2147483648..2147483646] ---- -> x ∈ [-2147483647..2147483642] -> y ∈ [-2147483648..2147483645] -diff tests/value/oracle/relations.res.oracle tests/value/oracle_equalities/relations.res.oracle -60,61c60 -< u[0] ∈ [-2147483648..2147483646] -< [1] ∈ [--..--] ---- -> u[0..1] ∈ [-2147483648..2147483646] -67,70c66,69 -< R1 ∈ [--..--] -< R2 ∈ [--..--] -< R3 ∈ [-2147483648..2147483646] -< R4 ∈ [--..--] ---- -> R1 ∈ {0; 3} -> R2 ∈ {0; 3} -> R3 ∈ {0; 2} -> R4 ∈ {0; 2} -diff tests/value/oracle/relations2.res.oracle tests/value/oracle_equalities/relations2.res.oracle -59c59 -< n ∈ [0..512] ---- -> n ∈ [1..512] -133d132 -< [eva] tests/value/relations2.i:57: Frama_C_show_each_NO2: -diff tests/value/oracle/struct2.res.oracle tests/value/oracle_equalities/struct2.res.oracle -55a56,57 -> [kernel] tests/value/struct2.i:78: Warning: -> all target addresses were invalid. This path is assumed to be dead. -59,60d60 -< accessing out of bounds index. assert 0 ≤ (int)(tab2[i] + j); -< [eva:alarm] tests/value/struct2.i:82: Warning: -83,84d82 -< accessing out of bounds index. assert (int)(i + j) < 2; -< [eva:alarm] tests/value/struct2.i:185: Warning: -106c104 -< [scope:rm_asserts] removing 2 assertion(s) ---- -> [scope:rm_asserts] removing 1 assertion(s) -143,145c141,143 -< tab3[0..1] ∈ [--..--] -< tab4[0] ∈ {0; 2} -< [1] ∈ {0} ---- -> tab3[0] ∈ {0; 1} -> [1] ∈ [--..--] -> tab4[0..1] ∈ {0} -148c146,147 -< tab6[0..1] ∈ {0; 2} ---- -> tab6[0] ∈ {0} -> [1] ∈ {2} -219c218 -< [9].a}; s1; s2; s5.e[0].b; s6.b; s8; tabl[0..1]; tab1[0..1]; ---- -> [9].a}; s1; s2; s5.e[0].b; s6.b; s8; tabl[0..1]; tab1[0]; -Only in tests/value/oracle: unit_tests.res.oracle diff --git a/tests/value/diff_gauges b/tests/value/diff_gauges deleted file mode 100644 index f6010fb62ca6b8e732c4cdfb986167352b43e100..0000000000000000000000000000000000000000 --- a/tests/value/diff_gauges +++ /dev/null @@ -1,1284 +0,0 @@ -diff tests/value/oracle/alias.5.res.oracle tests/value/oracle_gauges/alias.5.res.oracle -59a60 -> [eva] tests/value/alias.i:260: starting to merge loop iterations -diff tests/value/oracle/auto_loop_unroll.0.res.oracle tests/value/oracle_gauges/auto_loop_unroll.0.res.oracle -11,13c11 -< [eva:alarm] tests/value/auto_loop_unroll.c:25: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -< [eva] tests/value/auto_loop_unroll.c:27: Frama_C_show_each_auto: [0..2147483647] ---- -> [eva] tests/value/auto_loop_unroll.c:27: Frama_C_show_each_auto: {100} -15,18c13 -< [eva:alarm] tests/value/auto_loop_unroll.c:31: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -< [eva] tests/value/auto_loop_unroll.c:33: -< Frama_C_show_each_imprecise: [0..2147483647] ---- -> [eva] tests/value/auto_loop_unroll.c:33: Frama_C_show_each_imprecise: {1000} -20,23c15 -< [eva:alarm] tests/value/auto_loop_unroll.c:39: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -< [eva] tests/value/auto_loop_unroll.c:41: -< Frama_C_show_each_imprecise: [0..2147483647] ---- -> [eva] tests/value/auto_loop_unroll.c:41: Frama_C_show_each_imprecise: {100} -32,34c24 -< [eva:alarm] tests/value/auto_loop_unroll.c:58: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -< [eva] tests/value/auto_loop_unroll.c:59: Frama_C_show_each_64: [0..2147483647] ---- -> [eva] tests/value/auto_loop_unroll.c:59: Frama_C_show_each_64: {64} -36,38c26 -< [eva:alarm] tests/value/auto_loop_unroll.c:63: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -< [eva] tests/value/auto_loop_unroll.c:64: Frama_C_show_each_40: [0..2147483647] ---- -> [eva] tests/value/auto_loop_unroll.c:64: Frama_C_show_each_40: {40} -40,42c28 -< [eva:alarm] tests/value/auto_loop_unroll.c:69: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -< [eva] tests/value/auto_loop_unroll.c:72: Frama_C_show_each_80: [0..2147483647] ---- -> [eva] tests/value/auto_loop_unroll.c:72: Frama_C_show_each_80: {80} -44,47c30 -< [eva:alarm] tests/value/auto_loop_unroll.c:76: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -< [eva] tests/value/auto_loop_unroll.c:82: -< Frama_C_show_each_32_80: [0..2147483647] ---- -> [eva] tests/value/auto_loop_unroll.c:82: Frama_C_show_each_32_80: [32..83] -55,56d37 -< [eva:alarm] tests/value/auto_loop_unroll.c:88: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -58c39 -< Frama_C_show_each_40_50: [0..2147483647] ---- -> Frama_C_show_each_40_50: [40..1073741861] -133,136c114 -< [eva:alarm] tests/value/auto_loop_unroll.c:120: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -< [eva] tests/value/auto_loop_unroll.c:122: -< Frama_C_show_each_32_64: [0..2147483647] ---- -> [eva] tests/value/auto_loop_unroll.c:122: Frama_C_show_each_32_64: [32..65] -185,188c163 -< [eva:alarm] tests/value/auto_loop_unroll.c:173: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -< [eva] tests/value/auto_loop_unroll.c:175: -< Frama_C_show_each_imprecise: [0..2147483647] ---- -> [eva] tests/value/auto_loop_unroll.c:175: Frama_C_show_each_imprecise: [1..9] -190,191d164 -< [eva:alarm] tests/value/auto_loop_unroll.c:181: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -195c168 -< Frama_C_show_each_imprecise: [0..2147483647] ---- -> Frama_C_show_each_imprecise: [64..2147483647] -201,203c174 -< [eva:alarm] tests/value/auto_loop_unroll.c:193: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -< [eva] tests/value/auto_loop_unroll.c:195: Frama_C_show_each_11: [0..2147483647] ---- -> [eva] tests/value/auto_loop_unroll.c:195: Frama_C_show_each_11: {11} -205,207c176 -< [eva:alarm] tests/value/auto_loop_unroll.c:198: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -< [eva] tests/value/auto_loop_unroll.c:200: Frama_C_show_each_12: [0..2147483647] ---- -> [eva] tests/value/auto_loop_unroll.c:200: Frama_C_show_each_12: {12} -209,210d177 -< [eva:alarm] tests/value/auto_loop_unroll.c:204: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -212a180,181 -> [eva:alarm] tests/value/auto_loop_unroll.c:204: Warning: -> signed overflow. assert res + 1 ≤ 2147483647; -216,217d184 -< [eva:alarm] tests/value/auto_loop_unroll.c:209: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -219a187,188 -> [eva:alarm] tests/value/auto_loop_unroll.c:209: Warning: -> signed overflow. assert res + 1 ≤ 2147483647; -223,224d191 -< [eva:alarm] tests/value/auto_loop_unroll.c:217: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -228,231c195 -< [eva:alarm] tests/value/auto_loop_unroll.c:222: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -< [eva] tests/value/auto_loop_unroll.c:226: -< Frama_C_show_each_11_111: [0..2147483647] ---- -> [eva] tests/value/auto_loop_unroll.c:226: Frama_C_show_each_11_111: [11..111] -239,241c203 -< [eva:alarm] tests/value/auto_loop_unroll.c:236: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -< [eva] tests/value/auto_loop_unroll.c:238: Frama_C_show_each_20: [0..2147483647] ---- -> [eva] tests/value/auto_loop_unroll.c:238: Frama_C_show_each_20: [20..2147483646] -243,244d204 -< [eva:alarm] tests/value/auto_loop_unroll.c:241: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -247c207,209 -< [eva] tests/value/auto_loop_unroll.c:243: Frama_C_show_each_21: [0..2147483647] ---- -> [eva:alarm] tests/value/auto_loop_unroll.c:241: Warning: -> signed overflow. assert res + 1 ≤ 2147483647; -> [eva] tests/value/auto_loop_unroll.c:243: Frama_C_show_each_21: {21} -253,255c215,216 -< [eva:alarm] tests/value/auto_loop_unroll.c:250: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -< [eva] tests/value/auto_loop_unroll.c:254: Frama_C_show_each_30: [0..2147483647] ---- -> [eva] tests/value/auto_loop_unroll.c:254: Frama_C_show_each_30: {30} -> [eva] tests/value/auto_loop_unroll.c:258: starting to merge loop iterations -258d218 -< [eva] tests/value/auto_loop_unroll.c:258: starting to merge loop iterations -261,263c221 -< [eva:alarm] tests/value/auto_loop_unroll.c:267: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -< [eva] tests/value/auto_loop_unroll.c:272: Frama_C_show_each_32: [0..2147483647] ---- -> [eva] tests/value/auto_loop_unroll.c:272: Frama_C_show_each_32: {32} -diff tests/value/oracle/auto_loop_unroll.1.res.oracle tests/value/oracle_gauges/auto_loop_unroll.1.res.oracle -15,18c15 -< [eva:alarm] tests/value/auto_loop_unroll.c:31: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -< [eva] tests/value/auto_loop_unroll.c:33: -< Frama_C_show_each_imprecise: [0..2147483647] ---- -> [eva] tests/value/auto_loop_unroll.c:33: Frama_C_show_each_imprecise: {1000} -20,23c17 -< [eva:alarm] tests/value/auto_loop_unroll.c:39: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -< [eva] tests/value/auto_loop_unroll.c:41: -< Frama_C_show_each_imprecise: [0..2147483647] ---- -> [eva] tests/value/auto_loop_unroll.c:41: Frama_C_show_each_imprecise: {100} -329,332c323 -< [eva:alarm] tests/value/auto_loop_unroll.c:173: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -< [eva] tests/value/auto_loop_unroll.c:175: -< Frama_C_show_each_imprecise: [0..2147483647] ---- -> [eva] tests/value/auto_loop_unroll.c:175: Frama_C_show_each_imprecise: [1..9] -334,335d324 -< [eva:alarm] tests/value/auto_loop_unroll.c:181: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -339c328 -< Frama_C_show_each_imprecise: [0..2147483647] ---- -> Frama_C_show_each_imprecise: [64..2147483647] -385a375,458 -> [eva] tests/value/auto_loop_unroll.c:276: -> Trace partitioning superposing up to 200 states -> [eva] tests/value/auto_loop_unroll.c:276: -> Trace partitioning superposing up to 300 states -> [eva] tests/value/auto_loop_unroll.c:276: -> Trace partitioning superposing up to 400 states -> [eva] tests/value/auto_loop_unroll.c:276: -> Trace partitioning superposing up to 500 states -> [eva] tests/value/auto_loop_unroll.c:276: -> Trace partitioning superposing up to 600 states -> [eva] tests/value/auto_loop_unroll.c:276: -> Trace partitioning superposing up to 700 states -> [eva] tests/value/auto_loop_unroll.c:276: -> Trace partitioning superposing up to 800 states -> [eva] tests/value/auto_loop_unroll.c:276: -> Trace partitioning superposing up to 900 states -> [eva] tests/value/auto_loop_unroll.c:276: -> Trace partitioning superposing up to 1000 states -> [eva] tests/value/auto_loop_unroll.c:276: -> Trace partitioning superposing up to 1100 states -> [eva] tests/value/auto_loop_unroll.c:276: -> Trace partitioning superposing up to 1200 states -> [eva] tests/value/auto_loop_unroll.c:276: -> Trace partitioning superposing up to 1300 states -> [eva] tests/value/auto_loop_unroll.c:276: -> Trace partitioning superposing up to 1400 states -> [eva] tests/value/auto_loop_unroll.c:276: -> Trace partitioning superposing up to 1500 states -> [eva] tests/value/auto_loop_unroll.c:276: -> Trace partitioning superposing up to 1600 states -> [eva] tests/value/auto_loop_unroll.c:276: -> Trace partitioning superposing up to 1700 states -> [eva] tests/value/auto_loop_unroll.c:276: -> Trace partitioning superposing up to 1800 states -> [eva] tests/value/auto_loop_unroll.c:276: -> Trace partitioning superposing up to 1900 states -> [eva] tests/value/auto_loop_unroll.c:276: -> Trace partitioning superposing up to 2000 states -> [eva] tests/value/auto_loop_unroll.c:276: -> Trace partitioning superposing up to 2100 states -> [eva] tests/value/auto_loop_unroll.c:276: -> Trace partitioning superposing up to 2200 states -> [eva] tests/value/auto_loop_unroll.c:276: -> Trace partitioning superposing up to 2300 states -> [eva] tests/value/auto_loop_unroll.c:276: -> Trace partitioning superposing up to 2400 states -> [eva] tests/value/auto_loop_unroll.c:276: -> Trace partitioning superposing up to 2500 states -> [eva] tests/value/auto_loop_unroll.c:276: -> Trace partitioning superposing up to 2600 states -> [eva] tests/value/auto_loop_unroll.c:276: -> Trace partitioning superposing up to 2700 states -> [eva] tests/value/auto_loop_unroll.c:276: -> Trace partitioning superposing up to 2800 states -> [eva] tests/value/auto_loop_unroll.c:276: -> Trace partitioning superposing up to 2900 states -> [eva] tests/value/auto_loop_unroll.c:276: -> Trace partitioning superposing up to 3000 states -> [eva] tests/value/auto_loop_unroll.c:276: -> Trace partitioning superposing up to 3100 states -> [eva] tests/value/auto_loop_unroll.c:276: -> Trace partitioning superposing up to 3200 states -> [eva] tests/value/auto_loop_unroll.c:276: -> Trace partitioning superposing up to 3300 states -> [eva] tests/value/auto_loop_unroll.c:276: -> Trace partitioning superposing up to 3400 states -> [eva] tests/value/auto_loop_unroll.c:276: -> Trace partitioning superposing up to 3500 states -> [eva] tests/value/auto_loop_unroll.c:276: -> Trace partitioning superposing up to 3600 states -> [eva] tests/value/auto_loop_unroll.c:276: -> Trace partitioning superposing up to 3700 states -> [eva] tests/value/auto_loop_unroll.c:276: -> Trace partitioning superposing up to 3800 states -> [eva] tests/value/auto_loop_unroll.c:276: -> Trace partitioning superposing up to 3900 states -> [eva] tests/value/auto_loop_unroll.c:276: -> Trace partitioning superposing up to 4000 states -> [eva] tests/value/auto_loop_unroll.c:276: -> Trace partitioning superposing up to 4100 states -> [eva] tests/value/auto_loop_unroll.c:276: -> Trace partitioning superposing up to 4200 states -> [eva] tests/value/auto_loop_unroll.c:276: -> Trace partitioning superposing up to 4300 states -diff tests/value/oracle/bad_loop.res.oracle tests/value/oracle_gauges/bad_loop.res.oracle -6a7 -> [eva] tests/value/bad_loop.i:12: starting to merge loop iterations -diff tests/value/oracle/bitfield.res.oracle tests/value/oracle_gauges/bitfield.res.oracle -138a139,153 -> [eva] tests/value/bitfield.i:71: -> Frama_C_show_each: -> {{ garbled mix of &{b} (origin: Misaligned {tests/value/bitfield.i:70}) }} -> [eva] tests/value/bitfield.i:73: -> Frama_C_show_each: -> {{ garbled mix of &{b} (origin: Misaligned {tests/value/bitfield.i:70}) }} -> [eva] computing for function leaf <- imprecise_bts_1671 <- main. -> Called from tests/value/bitfield.i:70. -> [eva] Done for function leaf -> [eva] tests/value/bitfield.i:71: -> Frama_C_show_each: -> {{ garbled mix of &{b} (origin: Misaligned {tests/value/bitfield.i:70}) }} -> [eva] tests/value/bitfield.i:73: -> Frama_C_show_each: -> {{ garbled mix of &{b} (origin: Misaligned {tests/value/bitfield.i:70}) }} -diff tests/value/oracle/cast2.res.oracle tests/value/oracle_gauges/cast2.res.oracle -26a27 -> [eva] tests/value/cast2.i:24: starting to merge loop iterations -diff tests/value/oracle/for_loops.1.res.oracle tests/value/oracle_gauges/for_loops.1.res.oracle -39,41c39 -< [eva:alarm] tests/value/for_loops.c:16: Warning: -< signed overflow. assert w + 1 ≤ 2147483647; -< [eva] tests/value/for_loops.c:17: Frama_C_show_each_F: [0..2147483647] ---- -> [eva] tests/value/for_loops.c:17: Frama_C_show_each_F: [0..100] -diff tests/value/oracle/for_loops.2.res.oracle tests/value/oracle_gauges/for_loops.2.res.oracle -37,39c37 -< [eva:alarm] tests/value/for_loops.c:42: Warning: -< signed overflow. assert w + T[j] ≤ 2147483647; -< [eva] tests/value/for_loops.c:43: Frama_C_show_each: [0..2147483647] ---- -> [eva] tests/value/for_loops.c:43: Frama_C_show_each: [0..1000] -diff tests/value/oracle/from_termin.res.oracle tests/value/oracle_gauges/from_termin.res.oracle -9a10 -> [eva] tests/value/from_termin.i:8: starting to merge loop iterations -diff tests/value/oracle/gauges.res.oracle tests/value/oracle_gauges/gauges.res.oracle -25,26d24 -< [eva:alarm] tests/value/gauges.c:23: Warning: -< signed overflow. assert -2147483648 ≤ j - 4; -38,39d35 -< [eva:alarm] tests/value/gauges.c:26: Warning: -< signed overflow. assert l + 1 ≤ 2147483647; -57,58d52 -< [eva:alarm] tests/value/gauges.c:45: Warning: -< signed overflow. assert -2147483648 ≤ j - 4; -61a56,57 -> [eva:alarm] tests/value/gauges.c:45: Warning: -> signed overflow. assert -2147483648 ≤ j - 4; -70,71d65 -< [eva:alarm] tests/value/gauges.c:48: Warning: -< signed overflow. assert l + 1 ≤ 2147483647; -83,84d76 -< [eva:alarm] tests/value/gauges.c:58: Warning: -< accessing out of bounds index. assert j < 38; -97,101d88 -< [eva:alarm] tests/value/gauges.c:71: Warning: -< out of bounds write. assert \valid(tmp); -< (tmp from p++) -< [eva] tests/value/gauges.c:72: Frama_C_show_each: -< [eva] tests/value/gauges.c:72: Frama_C_show_each: -113,114d99 -< [eva:alarm] tests/value/gauges.c:81: Warning: -< signed overflow. assert k + 1 ≤ 2147483647; -116,117d100 -< [eva:alarm] tests/value/gauges.c:84: Warning: -< signed overflow. assert k + 1 ≤ 2147483647; -125c108 -< [eva] tests/value/gauges.c:86: Frama_C_show_each: [0..2147483647] ---- -> [eva] tests/value/gauges.c:86: Frama_C_show_each: {390} -139,140d121 -< [eva:alarm] tests/value/gauges.c:99: Warning: -< signed overflow. assert c + 1 ≤ 2147483647; -178,181c159,162 -< [eva] tests/value/gauges.c:129: Frama_C_show_each: {{ &y + [4..36],0%4 }} -< [eva] tests/value/gauges.c:129: Frama_C_show_each: {{ &y + [4..40],0%4 }} -< [eva:alarm] tests/value/gauges.c:130: Warning: -< out of bounds write. assert \valid(p); ---- -> [eva] tests/value/gauges.c:129: -> Frama_C_show_each: {{ &y + {4; 8; 12; 16; 20; 24} }} -> [eva] tests/value/gauges.c:129: -> Frama_C_show_each: {{ &y + {4; 8; 12; 16; 20; 24} }} -187,188d167 -< [eva:alarm] tests/value/gauges.c:140: Warning: -< signed overflow. assert j + 1 ≤ 2147483647; -206,208d184 -< [eva:alarm] tests/value/gauges.c:158: Warning: -< out of bounds write. assert \valid(tmp); -< (tmp from p--) -227,231c203,205 -< [eva] tests/value/gauges.c:172: Frama_C_show_each: [2147483646..4294967294] -< [eva] tests/value/gauges.c:172: Frama_C_show_each: [1..4294967294] -< [eva] tests/value/gauges.c:172: Frama_C_show_each: [1..4294967294] -< [eva] tests/value/gauges.c:172: Frama_C_show_each: [1..4294967294] -< [eva] tests/value/gauges.c:172: Frama_C_show_each: [1..4294967294] ---- -> [eva] tests/value/gauges.c:172: Frama_C_show_each: [2147483647..4294967294] -> [eva] tests/value/gauges.c:172: Frama_C_show_each: [2147483647..4294967294] -> [eva] tests/value/gauges.c:172: Frama_C_show_each: [2147483647..4294967294] -235c209,210 -< [eva] tests/value/gauges.c:172: Frama_C_show_each: [1..4294967294] ---- -> [eva] tests/value/gauges.c:172: Frama_C_show_each: [2147483647..4294967294] -> [eva] tests/value/gauges.c:172: Frama_C_show_each: [2147483647..4294967294] -259,262d233 -< [eva:alarm] tests/value/gauges.c:192: Warning: -< out of bounds write. assert \valid(p); -< [eva:alarm] tests/value/gauges.c:193: Warning: -< out of bounds write. assert \valid(q); -270,275d240 -< [eva:alarm] tests/value/gauges.c:202: Warning: -< out of bounds read. assert \valid_read(tmp); -< (tmp from A++) -< [eva:alarm] tests/value/gauges.c:202: Warning: -< out of bounds read. assert \valid_read(tmp_0); -< (tmp_0 from B++) -303,304d267 -< [eva:alarm] tests/value/gauges.c:220: Warning: -< signed overflow. assert -2147483648 ≤ n - 1; -319,322c282 -< [eva:alarm] tests/value/gauges.c:240: Warning: -< signed overflow. assert j + 1 ≤ 2147483647; -< [eva] tests/value/gauges.c:242: -< Frama_C_show_each: {45; 46; 47; 48; 49; 50; 51}, [0..2147483647] ---- -> [eva] tests/value/gauges.c:242: Frama_C_show_each: {47; 48}, {6} -328,329d287 -< [eva:alarm] tests/value/gauges.c:251: Warning: -< signed overflow. assert j + 1 ≤ 2147483647; -331c289 -< Frama_C_show_each: {48; 49; 50; 51; 52; 53; 54}, [0..2147483647] ---- -> Frama_C_show_each: {48; 49; 50; 51; 52; 53; 54}, {6; 7} -337,340c295 -< [eva:alarm] tests/value/gauges.c:263: Warning: -< signed overflow. assert j + 1 ≤ 2147483647; -< [eva] tests/value/gauges.c:265: -< Frama_C_show_each: {-59; -58; -57; -56; -55; -54; -53}, [0..2147483647] ---- -> [eva] tests/value/gauges.c:265: Frama_C_show_each: {-58; -57}, {9} -346,347d300 -< [eva:alarm] tests/value/gauges.c:274: Warning: -< signed overflow. assert j + 1 ≤ 2147483647; -349c302 -< Frama_C_show_each: {-64; -63; -62; -61; -60; -59; -58}, [0..2147483647] ---- -> Frama_C_show_each: {-64; -63; -62; -61; -60; -59; -58}, {9; 10} -357,358d309 -< [eva:alarm] tests/value/gauges.c:293: Warning: -< signed overflow. assert j + 1 ≤ 2147483647; -360c311 -< Frama_C_show_each: {-593; -592; -591; -590; -589; -588}, [0..2147483647] ---- -> Frama_C_show_each: {-593; -592; -591; -590; -589; -588}, [99..119] -422a374,377 -> # Gauges domain: -> V: [{[ p -> {{ &x }} -> i -> {1} ]}] -> s398: λ(0) -482a438,441 -> # Gauges domain: -> V: [{[ i -> {1} ]}] -> s398: λ([0 .. 1]) -> {[ i -> {1} ]} -541a501,504 -> # Gauges domain: -> V: [{[ i -> {1} ]}] -> s398: λ([0 .. 2]) -> {[ i -> {1} ]} -600a564,567 -> # Gauges domain: -> V: [{[ i -> {1} ]}] -> s398: λ([0 .. 10]) -> {[ i -> {1} ]} -665a633,637 -> # Gauges domain: -> V: [{[ p -> {{ &a }} -> i -> {2} ]}] -> s412: λ(0) -> s411: λ(0) -726a699,703 -> # Gauges domain: -> V: [{[ i -> {2} ]}] -> s412: λ(0) -> s411: λ([0 .. 1]) -> {[ i -> {0} ]} -728a706,833 -> [eva] tests/value/gauges.c:325: -> Frama_C_dump_each: -> # Cvalue domain: -> __fc_heap_status ∈ [--..--] -> __fc_random_counter ∈ [--..--] -> __fc_rand_max ∈ {32767} -> __fc_random48_init ∈ {0} -> __fc_random48_counter[0..2] ∈ [--..--] -> __fc_p_random48_counter ∈ {{ &__fc_random48_counter[0] }} -> __fc_env[0] ∈ {{ NULL ; &S_0___fc_env[0] }} -> [1] ∈ {{ NULL ; &S_1___fc_env[0] }} -> [2..4095] ∈ {{ NULL ; &S_0___fc_env[0] ; &S_1___fc_env[0] }} -> __fc_mblen_state ∈ [--..--] -> __fc_mbtowc_state ∈ [--..--] -> __fc_wctomb_state ∈ [--..--] -> v ∈ [--..--] -> t[0..4] ∈ {0} -> [5] ∈ [0..48],0%3 -> [6] ∈ {0} -> [7] ∈ [0..48],0%3 -> [8] ∈ {0} -> [9] ∈ [0..48],0%3 -> [10] ∈ {0} -> [11] ∈ [0..48],0%3 -> [12] ∈ {0} -> [13] ∈ [0..48],0%3 -> [14] ∈ {0} -> [15] ∈ [0..48],0%3 -> [16] ∈ {0} -> [17] ∈ [0..48],0%3 -> [18] ∈ {0} -> [19] ∈ [0..48],0%3 -> [20] ∈ {0} -> [21] ∈ [0..48],0%3 -> [22] ∈ {0} -> [23] ∈ [0..48],0%3 -> [24] ∈ {0} -> [25] ∈ [0..48],0%3 -> [26] ∈ {0} -> [27] ∈ [0..48],0%3 -> [28] ∈ {0} -> [29] ∈ [0..48],0%3 -> [30] ∈ {0} -> [31] ∈ [0..48],0%3 -> [32] ∈ {0} -> [33] ∈ [0..48],0%3 -> [34] ∈ {0} -> [35] ∈ [0..48],0%3 -> [36] ∈ {0} -> [37] ∈ [0..48],0%3 -> u[0..99] ∈ [0..100] -> T[0..99] ∈ [--..--] -> a ∈ {1} -> b ∈ {0} -> p ∈ {{ &a ; &b }} -> i ∈ {2} -> S_0___fc_env[0..1] ∈ [--..--] -> S_1___fc_env[0..1] ∈ [--..--] -> # Gauges domain: -> V: [{[ i -> {2} ]}] -> s412: λ(0) -> s411: λ([0 .. 2]) -> {[ i -> {0} ]} -> ==END OF DUMP== -> [eva] tests/value/gauges.c:325: -> Frama_C_dump_each: -> # Cvalue domain: -> __fc_heap_status ∈ [--..--] -> __fc_random_counter ∈ [--..--] -> __fc_rand_max ∈ {32767} -> __fc_random48_init ∈ {0} -> __fc_random48_counter[0..2] ∈ [--..--] -> __fc_p_random48_counter ∈ {{ &__fc_random48_counter[0] }} -> __fc_env[0] ∈ {{ NULL ; &S_0___fc_env[0] }} -> [1] ∈ {{ NULL ; &S_1___fc_env[0] }} -> [2..4095] ∈ {{ NULL ; &S_0___fc_env[0] ; &S_1___fc_env[0] }} -> __fc_mblen_state ∈ [--..--] -> __fc_mbtowc_state ∈ [--..--] -> __fc_wctomb_state ∈ [--..--] -> v ∈ [--..--] -> t[0..4] ∈ {0} -> [5] ∈ [0..48],0%3 -> [6] ∈ {0} -> [7] ∈ [0..48],0%3 -> [8] ∈ {0} -> [9] ∈ [0..48],0%3 -> [10] ∈ {0} -> [11] ∈ [0..48],0%3 -> [12] ∈ {0} -> [13] ∈ [0..48],0%3 -> [14] ∈ {0} -> [15] ∈ [0..48],0%3 -> [16] ∈ {0} -> [17] ∈ [0..48],0%3 -> [18] ∈ {0} -> [19] ∈ [0..48],0%3 -> [20] ∈ {0} -> [21] ∈ [0..48],0%3 -> [22] ∈ {0} -> [23] ∈ [0..48],0%3 -> [24] ∈ {0} -> [25] ∈ [0..48],0%3 -> [26] ∈ {0} -> [27] ∈ [0..48],0%3 -> [28] ∈ {0} -> [29] ∈ [0..48],0%3 -> [30] ∈ {0} -> [31] ∈ [0..48],0%3 -> [32] ∈ {0} -> [33] ∈ [0..48],0%3 -> [34] ∈ {0} -> [35] ∈ [0..48],0%3 -> [36] ∈ {0} -> [37] ∈ [0..48],0%3 -> u[0..99] ∈ [0..100] -> T[0..99] ∈ [--..--] -> a ∈ {1} -> b ∈ {0} -> p ∈ {{ &a ; &b }} -> i ∈ {2} -> S_0___fc_env[0..1] ∈ [--..--] -> S_1___fc_env[0..1] ∈ [--..--] -> # Gauges domain: -> V: [{[ i -> {2} ]}] -> s412: λ(0) -> s411: λ([0 .. +oo]) -> {[ i -> {0} ]} -> ==END OF DUMP== -736a842,843 -> [eva] tests/value/gauges.c:343: Call to builtin malloc -> [eva] tests/value/gauges.c:343: Call to builtin malloc -789,790c896,897 -< A ∈ {{ &A + [0..--],0%4 }} -< B ∈ {{ &B + [0..--],0%4 }} ---- -> A ∈ {{ &A + [0..36],0%4 }} -> B ∈ {{ &B + [0..36],0%4 }} -802c909 -< n ∈ [-2147483648..99] ---- -> n ∈ [-2147483547..99] -808c915 -< i ∈ {45; 46; 47; 48; 49; 50; 51} ---- -> i ∈ {45; 46; 47; 48} -814c921 -< i ∈ {-59; -58; -57; -56; -55; -54; -53} ---- -> i ∈ {-58; -57; -56; -55; -54; -53} -834c941 -< p ∈ {{ &u + [0..--],0%4 }} ---- -> p ∈ {{ &u + [0..400],0%4 }} -836c943 -< k ∈ [0..2147483647] ---- -> k ∈ [0..390] -841c948 -< i ∈ [0..2147483647] ---- -> i ∈ [0..21] -852,853c959,961 -< [1..9] ∈ {4; 5; 6; 7; 8; 9} or UNINITIALIZED -< p ∈ {{ &y + [4..40],0%4 }} ---- -> [1..6] ∈ {4; 5; 6; 7; 8; 9} or UNINITIALIZED -> [7..9] ∈ UNINITIALIZED -> p ∈ {{ &y[7] }} -864c972 -< p ∈ {{ &T + [--..396],0%4 }} ---- -> p ∈ {{ &T + [-4..396],0%4 }} -869,873c977 -< n ∈ {0} -< arr[0] ∈ {0} -< [1] ∈ {-1} -< [2..65535] ∈ [--..--] or UNINITIALIZED -< p ∈ {{ &arr + [12..--],0%4 }} ---- -> NON TERMINATING FUNCTION -976a1081 -> [from] Non-terminating function main8_aux (no dependencies) -999,1000c1104,1105 -< p FROM p; A; B; n; p; A[0..9]; B[0..9] (and SELF) -< \result FROM p; A; B; n; p; A[0..9]; B[0..9] ---- -> p FROM p; A; B; n; p; A[0..8]; B[0..8] (and SELF) -> \result FROM p; A; B; n; p; A[0..8]; B[0..8] -1044c1149 -< NO EFFECTS ---- -> NON TERMINATING - NO EFFECTS -1078c1183 -< p; A[0..9]; B[0..9] ---- -> p; A[0..8]; B[0..8] -diff tests/value/oracle/hierarchical_convergence.res.oracle tests/value/oracle_gauges/hierarchical_convergence.res.oracle -15a16 -> [eva] tests/value/hierarchical_convergence.c:10: Frama_C_show_each: {1}, {0} -diff tests/value/oracle/infinite.res.oracle tests/value/oracle_gauges/infinite.res.oracle -12a13,22 -> [eva] tests/value/infinite.i:6: starting to merge loop iterations -> [eva] computing for function pause <- main. -> Called from tests/value/infinite.i:9. -> [eva] Done for function pause -> [eva] computing for function pause <- main. -> Called from tests/value/infinite.i:9. -> [eva] Done for function pause -> [eva] computing for function pause <- main. -> Called from tests/value/infinite.i:9. -> [eva] Done for function pause -diff tests/value/oracle/inout.2.res.oracle tests/value/oracle_gauges/inout.2.res.oracle -22a23 -> [eva] tests/value/inout.i:50: starting to merge loop iterations -diff tests/value/oracle/inout.3.res.oracle tests/value/oracle_gauges/inout.3.res.oracle -22a23 -> [eva] tests/value/inout.i:60: starting to merge loop iterations -diff tests/value/oracle/inout.4.res.oracle tests/value/oracle_gauges/inout.4.res.oracle -24a25 -> [eva] tests/value/inout.i:60: starting to merge loop iterations -diff tests/value/oracle/local_slevel.res.oracle tests/value/oracle_gauges/local_slevel.res.oracle -13,15c13,15 -< [eva] tests/value/local_slevel.i:18: Frama_C_show_each: {1}, {1}, {0; 1} -< [eva] tests/value/local_slevel.i:18: Frama_C_show_each: {-1}, {0}, {0; 1} -< [eva] tests/value/local_slevel.i:18: Frama_C_show_each: {1}, {1}, {0; 1; 2} ---- -> [eva] tests/value/local_slevel.i:18: Frama_C_show_each: {1}, {1}, {1} -> [eva] tests/value/local_slevel.i:18: Frama_C_show_each: {-1}, {0}, {0} -> [eva] tests/value/local_slevel.i:18: Frama_C_show_each: {1}, {1}, {1} -18c18 -< Frama_C_show_each: {1}, [1..79],1%2, {0; 1; 2; 3} ---- -> Frama_C_show_each: {1}, [1..79],1%2, {1; 2; 3} -22c22 -< Frama_C_show_each: {1}, [1..79],1%2, {0; 1; 2; 3; 4} ---- -> Frama_C_show_each: {1}, [1..79],1%2, {1; 2; 3; 4} -26,34c26 -< Frama_C_show_each: {1}, [1..79],1%2, [0..2147483647] -< [eva] tests/value/local_slevel.i:18: -< Frama_C_show_each: {-1}, [0..78],0%2, [0..2147483647] -< [eva] tests/value/local_slevel.i:18: -< Frama_C_show_each: {1}, [1..79],1%2, [0..2147483648] -< [eva] tests/value/local_slevel.i:18: -< Frama_C_show_each: {-1}, [0..78],0%2, [0..2147483648] -< [eva] tests/value/local_slevel.i:18: -< Frama_C_show_each: {1}, [1..79],1%2, [0..4294967295] ---- -> Frama_C_show_each: {1}, [1..79],1%2, [1..79] -36c28 -< Frama_C_show_each: {-1}, [0..78],0%2, [0..4294967295] ---- -> Frama_C_show_each: {-1}, [0..78],0%2, [0..78] -152c144 -< r ∈ [--..--] ---- -> r ∈ [0..2147483647] -393,395c385,387 -< [eva] tests/value/local_slevel.i:18: Frama_C_show_each: {1}, {1}, {0; 1} -< [eva] tests/value/local_slevel.i:18: Frama_C_show_each: {-1}, {0}, {0; 1} -< [eva] tests/value/local_slevel.i:18: Frama_C_show_each: {1}, {1}, {0; 1; 2} ---- -> [eva] tests/value/local_slevel.i:18: Frama_C_show_each: {1}, {1}, {1} -> [eva] tests/value/local_slevel.i:18: Frama_C_show_each: {-1}, {0}, {0} -> [eva] tests/value/local_slevel.i:18: Frama_C_show_each: {1}, {1}, {1} -398c390 -< Frama_C_show_each: {1}, [1..79],1%2, {0; 1; 2; 3} ---- -> Frama_C_show_each: {1}, [1..79],1%2, {1; 2; 3} -402c394 -< Frama_C_show_each: {1}, [1..79],1%2, {0; 1; 2; 3; 4} ---- -> Frama_C_show_each: {1}, [1..79],1%2, {1; 2; 3; 4} -406,414c398 -< Frama_C_show_each: {1}, [1..79],1%2, [0..2147483647] -< [eva] tests/value/local_slevel.i:18: -< Frama_C_show_each: {-1}, [0..78],0%2, [0..2147483647] -< [eva] tests/value/local_slevel.i:18: -< Frama_C_show_each: {1}, [1..79],1%2, [0..2147483648] -< [eva] tests/value/local_slevel.i:18: -< Frama_C_show_each: {-1}, [0..78],0%2, [0..2147483648] -< [eva] tests/value/local_slevel.i:18: -< Frama_C_show_each: {1}, [1..79],1%2, [0..4294967295] ---- -> Frama_C_show_each: {1}, [1..79],1%2, [1..79] -416c400 -< Frama_C_show_each: {-1}, [0..78],0%2, [0..4294967295] ---- -> Frama_C_show_each: {-1}, [0..78],0%2, [0..78] -532c516 -< r ∈ [--..--] ---- -> r ∈ [0..2147483647] -diff tests/value/oracle/loop_no_var.res.oracle tests/value/oracle_gauges/loop_no_var.res.oracle -6a7 -> [eva] tests/value/loop_no_var.i:3: starting to merge loop iterations -diff tests/value/oracle/loop_wvar.1.res.oracle tests/value/oracle_gauges/loop_wvar.1.res.oracle -27,28c27 -< [eva] tests/value/loop_wvar.i:71: Frama_C_show_each: [0..9], [0..17], [0..11] -< [eva] tests/value/loop_wvar.i:71: Frama_C_show_each: [0..9], [0..18], [0..12] ---- -> [eva] tests/value/loop_wvar.i:71: Frama_C_show_each: [0..9], [0..9], [0..9] -37,38c36,37 -< j ∈ [0..18] -< k ∈ [0..12] ---- -> j ∈ [0..17] -> k ∈ [0..11] -diff tests/value/oracle/loopfun.1.res.oracle tests/value/oracle_gauges/loopfun.1.res.oracle -9a10,12 -> [eva] tests/value/loopfun.i:23: starting to merge loop iterations -> [eva:loop-unroll] tests/value/loopfun.i:25: loop not completely unrolled -> [eva] tests/value/loopfun.i:25: starting to merge loop iterations -11a15 -> [eva] tests/value/loopfun.i:26: starting to merge loop iterations -13a18 -> [eva] tests/value/loopfun.i:27: starting to merge loop iterations -diff tests/value/oracle/memexec.res.oracle tests/value/oracle_gauges/memexec.res.oracle -101a102 -> [eva] tests/value/memexec.c:98: starting to merge loop iterations -diff tests/value/oracle/modulo.res.oracle tests/value/oracle_gauges/modulo.res.oracle -40a41,123 -> [eva] tests/value/modulo.i:41: Frama_C_show_each_1: [-10..-1], [-9..-1], [-8..0] -> [eva] tests/value/modulo.i:41: Frama_C_show_each_1: [-10..-1], [1..9], [-8..0] -> [eva] tests/value/modulo.i:41: Frama_C_show_each_1: [1..10], [-9..-1], [0..8] -> [eva] tests/value/modulo.i:41: Frama_C_show_each_1: [1..10], [1..9], [0..8] -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: -> [1..9], {1; 2; 3; 4; 5; 6; 7; 8}, {0; 1; 2; 3; 4; 5; 6; 7} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: -> [-9..-1], {1; 2; 3; 4; 5; 6; 7; 8}, {-7; -6; -5; -4; -3; -2; -1; 0} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: -> [1..9], {-8; -7; -6; -5; -4; -3; -2; -1}, {0; 1; 2; 3; 4; 5; 6; 7} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: -> [-9..-1], {-8; -7; -6; -5; -4; -3; -2; -1}, {-7; -6; -5; -4; -3; -2; -1; 0} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: -> {-8; -7; -6; -5; -4; -3; -2; -1}, -> {-7; -6; -5; -4; -3; -2; -1}, -> {-6; -5; -4; -3; -2; -1; 0} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: -> {-8; -7; -6; -5; -4; -3; -2; -1}, -> {1; 2; 3; 4; 5; 6; 7}, -> {-6; -5; -4; -3; -2; -1; 0} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: -> {1; 2; 3; 4; 5; 6; 7; 8}, {-7; -6; -5; -4; -3; -2; -1}, {0; 1; 2; 3; 4; 5; 6} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: -> {1; 2; 3; 4; 5; 6; 7; 8}, {1; 2; 3; 4; 5; 6; 7}, {0; 1; 2; 3; 4; 5; 6} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: -> {1; 2; 3; 4; 5; 6; 7}, {1; 2; 3; 4; 5; 6}, {0; 1; 2; 3; 4; 5} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: -> {-7; -6; -5; -4; -3; -2; -1}, {1; 2; 3; 4; 5; 6}, {-5; -4; -3; -2; -1; 0} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: -> {1; 2; 3; 4; 5; 6; 7}, {-6; -5; -4; -3; -2; -1}, {0; 1; 2; 3; 4; 5} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: -> {-7; -6; -5; -4; -3; -2; -1}, -> {-6; -5; -4; -3; -2; -1}, -> {-5; -4; -3; -2; -1; 0} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: -> {-6; -5; -4; -3; -2; -1}, {-5; -4; -3; -2; -1}, {-4; -3; -2; -1; 0} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: -> {-6; -5; -4; -3; -2; -1}, {1; 2; 3; 4; 5}, {-4; -3; -2; -1; 0} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: -> {1; 2; 3; 4; 5; 6}, {-5; -4; -3; -2; -1}, {0; 1; 2; 3; 4} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: {1; 2; 3; 4; 5; 6}, {1; 2; 3; 4; 5}, {0; 1; 2; 3; 4} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: {1; 2; 3; 4; 5}, {1; 2; 3; 4}, {0; 1; 2; 3} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: {-5; -4; -3; -2; -1}, {1; 2; 3; 4}, {-3; -2; -1; 0} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: {1; 2; 3; 4; 5}, {-4; -3; -2; -1}, {0; 1; 2; 3} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: {-5; -4; -3; -2; -1}, {-4; -3; -2; -1}, {-3; -2; -1; 0} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: {-4; -3; -2; -1}, {-3; -2; -1}, {-2; -1; 0} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: {-4; -3; -2; -1}, {1; 2; 3}, {-2; -1; 0} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: {1; 2; 3; 4}, {-3; -2; -1}, {0; 1; 2} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: {1; 2; 3; 4}, {1; 2; 3}, {0; 1; 2} -> [eva] tests/value/modulo.i:41: Frama_C_show_each_1: {1; 2; 3}, {1; 2}, {0; 1} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: {-3; -2; -1}, {1; 2}, {-1; 0} -> [eva] tests/value/modulo.i:41: Frama_C_show_each_1: {1; 2; 3}, {-2; -1}, {0; 1} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: {-3; -2; -1}, {-2; -1}, {-1; 0} -> [eva] tests/value/modulo.i:41: Frama_C_show_each_1: {-2; -1}, {-1}, {0} -> [eva] tests/value/modulo.i:41: Frama_C_show_each_1: {-2; -1}, {1}, {0} -> [eva] tests/value/modulo.i:41: Frama_C_show_each_1: {1; 2}, {-1}, {0} -> [eva] tests/value/modulo.i:41: Frama_C_show_each_1: {1; 2}, {1}, {0} -50a134,216 -> [eva] tests/value/modulo.i:53: Frama_C_show_each_2: [-10..-1], [1..9], [-8..0] -> [eva] tests/value/modulo.i:53: Frama_C_show_each_2: [-10..-1], [-9..-1], [-8..0] -> [eva] tests/value/modulo.i:53: Frama_C_show_each_2: [1..10], [1..9], [0..8] -> [eva] tests/value/modulo.i:53: Frama_C_show_each_2: [1..10], [-9..-1], [0..8] -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: -> [-9..-1], {1; 2; 3; 4; 5; 6; 7; 8}, {-7; -6; -5; -4; -3; -2; -1; 0} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: -> [1..9], {1; 2; 3; 4; 5; 6; 7; 8}, {0; 1; 2; 3; 4; 5; 6; 7} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: -> [-9..-1], {-8; -7; -6; -5; -4; -3; -2; -1}, {-7; -6; -5; -4; -3; -2; -1; 0} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: -> [1..9], {-8; -7; -6; -5; -4; -3; -2; -1}, {0; 1; 2; 3; 4; 5; 6; 7} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: -> {-8; -7; -6; -5; -4; -3; -2; -1}, -> {1; 2; 3; 4; 5; 6; 7}, -> {-6; -5; -4; -3; -2; -1; 0} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: -> {-8; -7; -6; -5; -4; -3; -2; -1}, -> {-7; -6; -5; -4; -3; -2; -1}, -> {-6; -5; -4; -3; -2; -1; 0} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: -> {1; 2; 3; 4; 5; 6; 7; 8}, {1; 2; 3; 4; 5; 6; 7}, {0; 1; 2; 3; 4; 5; 6} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: -> {1; 2; 3; 4; 5; 6; 7; 8}, {-7; -6; -5; -4; -3; -2; -1}, {0; 1; 2; 3; 4; 5; 6} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: -> {-7; -6; -5; -4; -3; -2; -1}, {1; 2; 3; 4; 5; 6}, {-5; -4; -3; -2; -1; 0} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: -> {1; 2; 3; 4; 5; 6; 7}, {1; 2; 3; 4; 5; 6}, {0; 1; 2; 3; 4; 5} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: -> {-7; -6; -5; -4; -3; -2; -1}, -> {-6; -5; -4; -3; -2; -1}, -> {-5; -4; -3; -2; -1; 0} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: -> {1; 2; 3; 4; 5; 6; 7}, {-6; -5; -4; -3; -2; -1}, {0; 1; 2; 3; 4; 5} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: -> {-6; -5; -4; -3; -2; -1}, {1; 2; 3; 4; 5}, {-4; -3; -2; -1; 0} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: -> {-6; -5; -4; -3; -2; -1}, {-5; -4; -3; -2; -1}, {-4; -3; -2; -1; 0} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: {1; 2; 3; 4; 5; 6}, {1; 2; 3; 4; 5}, {0; 1; 2; 3; 4} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: -> {1; 2; 3; 4; 5; 6}, {-5; -4; -3; -2; -1}, {0; 1; 2; 3; 4} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: {-5; -4; -3; -2; -1}, {1; 2; 3; 4}, {-3; -2; -1; 0} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: {1; 2; 3; 4; 5}, {1; 2; 3; 4}, {0; 1; 2; 3} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: {-5; -4; -3; -2; -1}, {-4; -3; -2; -1}, {-3; -2; -1; 0} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: {1; 2; 3; 4; 5}, {-4; -3; -2; -1}, {0; 1; 2; 3} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: {-4; -3; -2; -1}, {1; 2; 3}, {-2; -1; 0} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: {-4; -3; -2; -1}, {-3; -2; -1}, {-2; -1; 0} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: {1; 2; 3; 4}, {1; 2; 3}, {0; 1; 2} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: {1; 2; 3; 4}, {-3; -2; -1}, {0; 1; 2} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: {-3; -2; -1}, {1; 2}, {-1; 0} -> [eva] tests/value/modulo.i:53: Frama_C_show_each_2: {1; 2; 3}, {1; 2}, {0; 1} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: {-3; -2; -1}, {-2; -1}, {-1; 0} -> [eva] tests/value/modulo.i:53: Frama_C_show_each_2: {1; 2; 3}, {-2; -1}, {0; 1} -> [eva] tests/value/modulo.i:53: Frama_C_show_each_2: {-2; -1}, {1}, {0} -> [eva] tests/value/modulo.i:53: Frama_C_show_each_2: {-2; -1}, {-1}, {0} -> [eva] tests/value/modulo.i:53: Frama_C_show_each_2: {1; 2}, {1}, {0} -> [eva] tests/value/modulo.i:53: Frama_C_show_each_2: {1; 2}, {-1}, {0} -60a227,240 -> [eva] tests/value/modulo.i:64: Frama_C_show_each_3: [-10..10], [-9..9], [-8..8] -> [eva] tests/value/modulo.i:64: Frama_C_show_each_3: [-9..9], [-8..8], [-7..7] -> [eva] tests/value/modulo.i:64: Frama_C_show_each_3: [-8..8], [-7..7], [-6..6] -> [eva] tests/value/modulo.i:64: Frama_C_show_each_3: [-7..7], [-6..6], [-5..5] -> [eva] tests/value/modulo.i:64: Frama_C_show_each_3: [-6..6], [-5..5], [-4..4] -> [eva] tests/value/modulo.i:64: -> Frama_C_show_each_3: -> [-5..5], {-4; -3; -2; -1; 1; 2; 3; 4}, {-3; -2; -1; 0; 1; 2; 3} -> [eva] tests/value/modulo.i:64: -> Frama_C_show_each_3: -> {-4; -3; -2; -1; 1; 2; 3; 4}, {-3; -2; -1; 1; 2; 3}, {-2; -1; 0; 1; 2} -> [eva] tests/value/modulo.i:64: -> Frama_C_show_each_3: {-3; -2; -1; 1; 2; 3}, {-2; -1; 1; 2}, {-1; 0; 1} -> [eva] tests/value/modulo.i:64: Frama_C_show_each_3: {-2; -1; 1; 2}, {-1; 1}, {0} -81a262,263 -> [eva] tests/value/modulo.i:95: starting to merge loop iterations -> [eva] tests/value/modulo.i:82: starting to merge loop iterations -diff tests/value/oracle/non_natural.res.oracle tests/value/oracle_gauges/non_natural.res.oracle -60,63c60 -< Frama_C_show_each: {{ &p2 + [0..400000],0%32 }} -< [eva:alarm] tests/value/non_natural.i:23: Warning: -< out of bounds write. assert \valid(tmp); -< (tmp from to++) ---- -> Frama_C_show_each: {{ &p2 + [0..399968],0%32 }} -66,68d62 -< [eva:alarm] tests/value/non_natural.i:24: Warning: -< out of bounds write. assert \valid(tmp_1); -< (tmp_1 from to++) -71,76d64 -< [eva:alarm] tests/value/non_natural.i:25: Warning: -< out of bounds write. assert \valid(tmp_3); -< (tmp_3 from to++) -< [eva:alarm] tests/value/non_natural.i:25: Warning: -< out of bounds read. assert \valid_read(tmp_4); -< (tmp_4 from from++) -79,84d66 -< [eva:alarm] tests/value/non_natural.i:26: Warning: -< out of bounds write. assert \valid(tmp_5); -< (tmp_5 from to++) -< [eva:alarm] tests/value/non_natural.i:26: Warning: -< out of bounds read. assert \valid_read(tmp_6); -< (tmp_6 from from++) -87,92d68 -< [eva:alarm] tests/value/non_natural.i:27: Warning: -< out of bounds write. assert \valid(tmp_7); -< (tmp_7 from to++) -< [eva:alarm] tests/value/non_natural.i:27: Warning: -< out of bounds read. assert \valid_read(tmp_8); -< (tmp_8 from from++) -95,100d70 -< [eva:alarm] tests/value/non_natural.i:28: Warning: -< out of bounds write. assert \valid(tmp_9); -< (tmp_9 from to++) -< [eva:alarm] tests/value/non_natural.i:28: Warning: -< out of bounds read. assert \valid_read(tmp_10); -< (tmp_10 from from++) -103,108d72 -< [eva:alarm] tests/value/non_natural.i:29: Warning: -< out of bounds write. assert \valid(tmp_11); -< (tmp_11 from to++) -< [eva:alarm] tests/value/non_natural.i:29: Warning: -< out of bounds read. assert \valid_read(tmp_12); -< (tmp_12 from from++) -111,125d74 -< [eva:alarm] tests/value/non_natural.i:30: Warning: -< out of bounds write. assert \valid(tmp_13); -< (tmp_13 from to++) -< [eva:alarm] tests/value/non_natural.i:30: Warning: -< out of bounds read. assert \valid_read(tmp_14); -< (tmp_14 from from++) -< [eva] tests/value/non_natural.i:22: -< Frama_C_show_each: {{ &p2 + [0..400032],0%32 }} -< [eva:alarm] tests/value/non_natural.i:23: Warning: -< out of bounds read. assert \valid_read(tmp_0); -< (tmp_0 from from++) -< [eva:alarm] tests/value/non_natural.i:24: Warning: -< out of bounds read. assert \valid_read(tmp_2); -< (tmp_2 from from++) -< [eva] tests/value/non_natural.i:22: Frama_C_show_each: {{ &p2 + [0..--],0%32 }} -128,129d76 -< more than 200(12501) elements to enumerate. Approximating. -< [kernel] tests/value/non_natural.i:23: -132,133d78 -< more than 200(12501) elements to enumerate. Approximating. -< [kernel] tests/value/non_natural.i:24: -194,197c139 -< Frama_C_show_each: {{ &p2 + [0..400000],0%32 }} -< [eva:alarm] tests/value/non_natural.i:39: Warning: -< out of bounds write. assert \valid(tmp); -< (tmp from to++) ---- -> Frama_C_show_each: {{ &p2 + [0..399968],0%32 }} -200,202d141 -< [eva:alarm] tests/value/non_natural.i:40: Warning: -< out of bounds write. assert \valid(tmp_1); -< (tmp_1 from to++) -205,210d143 -< [eva:alarm] tests/value/non_natural.i:41: Warning: -< out of bounds write. assert \valid(tmp_3); -< (tmp_3 from to++) -< [eva:alarm] tests/value/non_natural.i:41: Warning: -< out of bounds read. assert \valid_read(tmp_4); -< (tmp_4 from from++) -213,218d145 -< [eva:alarm] tests/value/non_natural.i:42: Warning: -< out of bounds write. assert \valid(tmp_5); -< (tmp_5 from to++) -< [eva:alarm] tests/value/non_natural.i:42: Warning: -< out of bounds read. assert \valid_read(tmp_6); -< (tmp_6 from from++) -221,226d147 -< [eva:alarm] tests/value/non_natural.i:43: Warning: -< out of bounds write. assert \valid(tmp_7); -< (tmp_7 from to++) -< [eva:alarm] tests/value/non_natural.i:43: Warning: -< out of bounds read. assert \valid_read(tmp_8); -< (tmp_8 from from++) -229,234d149 -< [eva:alarm] tests/value/non_natural.i:44: Warning: -< out of bounds write. assert \valid(tmp_9); -< (tmp_9 from to++) -< [eva:alarm] tests/value/non_natural.i:44: Warning: -< out of bounds read. assert \valid_read(tmp_10); -< (tmp_10 from from++) -237,242d151 -< [eva:alarm] tests/value/non_natural.i:45: Warning: -< out of bounds write. assert \valid(tmp_11); -< (tmp_11 from to++) -< [eva:alarm] tests/value/non_natural.i:45: Warning: -< out of bounds read. assert \valid_read(tmp_12); -< (tmp_12 from from++) -245,259d153 -< [eva:alarm] tests/value/non_natural.i:46: Warning: -< out of bounds write. assert \valid(tmp_13); -< (tmp_13 from to++) -< [eva:alarm] tests/value/non_natural.i:46: Warning: -< out of bounds read. assert \valid_read(tmp_14); -< (tmp_14 from from++) -< [eva] tests/value/non_natural.i:38: -< Frama_C_show_each: {{ &p2 + [0..400032],0%32 }} -< [eva:alarm] tests/value/non_natural.i:39: Warning: -< out of bounds read. assert \valid_read(tmp_0); -< (tmp_0 from from++) -< [eva:alarm] tests/value/non_natural.i:40: Warning: -< out of bounds read. assert \valid_read(tmp_2); -< (tmp_2 from from++) -< [eva] tests/value/non_natural.i:38: Frama_C_show_each: {{ &p2 + [0..--],0%32 }} -268,269c162,163 -< to ∈ {{ &p2 + [32..--],0%32 }} -< from ∈ {{ &p1 + [32..--],0%32 }} ---- -> to ∈ {{ &p2 + [32..400000],0%32 }} -> from ∈ {{ &p1 + [32..400000],0%32 }} -273,274c167,168 -< to ∈ {{ &p2 + [32..--],0%32 }} -< from ∈ {{ &p1 + [32..--],0%32 }} ---- -> to ∈ {{ &p2 + [32..400000],0%32 }} -> from ∈ {{ &p1 + [32..400000],0%32 }} -330,332c224,232 -< p2[0] FROM to; from; count; p1[0..100000] (and SELF) -< [1..99992] FROM to; from; count; p1[0..100001] (and SELF) -< [99993] FROM to; from; count; p1[1..100001] (and SELF) ---- -> p2[0] FROM to; from; count; p1[0..99992] (and SELF) -> [1] FROM to; from; count; p1[0..99993] (and SELF) -> [2] FROM to; from; count; p1[0..99994] (and SELF) -> [3] FROM to; from; count; p1[0..99995] (and SELF) -> [4] FROM to; from; count; p1[0..99996] (and SELF) -> [5] FROM to; from; count; p1[0..99997] (and SELF) -> [6] FROM to; from; count; p1[0..99998] (and SELF) -> [7..99992] FROM to; from; count; p1[0..99999] (and SELF) -> [99993] FROM to; from; count; p1[1..99999] (and SELF) -340,342c240,248 -< p2[0] FROM to; from; count; p1[0..100000] (and SELF) -< [1..99992] FROM to; from; count; p1[0..100001] (and SELF) -< [99993] FROM to; from; count; p1[1..100001] (and SELF) ---- -> p2[0] FROM to; from; count; p1[0..99992] (and SELF) -> [1] FROM to; from; count; p1[0..99993] (and SELF) -> [2] FROM to; from; count; p1[0..99994] (and SELF) -> [3] FROM to; from; count; p1[0..99995] (and SELF) -> [4] FROM to; from; count; p1[0..99996] (and SELF) -> [5] FROM to; from; count; p1[0..99997] (and SELF) -> [6] FROM to; from; count; p1[0..99998] (and SELF) -> [7..99992] FROM to; from; count; p1[0..99999] (and SELF) -> [99993] FROM to; from; count; p1[1..99999] (and SELF) -360c266 -< p1[0..100001] ---- -> p1[0..99999] -365c271 -< p1[0..100001] ---- -> p1[0..99999] -diff tests/value/oracle/noreturn.res.oracle tests/value/oracle_gauges/noreturn.res.oracle -8a9 -> [eva] tests/value/noreturn.i:20: starting to merge loop iterations -16a18 -> [eva] tests/value/noreturn.i:16: starting to merge loop iterations -32a35 -> [eva] tests/value/noreturn.i:7: starting to merge loop iterations -36a40 -> [eva] tests/value/noreturn.i:13: starting to merge loop iterations -diff tests/value/oracle/octagons.res.oracle tests/value/oracle_gauges/octagons.res.oracle -121,128d120 -< [eva:alarm] tests/value/octagons.c:107: Warning: -< signed overflow. assert a + 2 ≤ 2147483647; -< [eva:alarm] tests/value/octagons.c:108: Warning: -< signed overflow. assert b + 2 ≤ 2147483647; -< [eva:alarm] tests/value/octagons.c:110: Warning: -< signed overflow. assert a + k ≤ 2147483647; -< [eva:alarm] tests/value/octagons.c:113: Warning: -< signed overflow. assert -2147483648 ≤ c - a; -130c122 -< [eva] tests/value/octagons.c:116: Frama_C_show_each_imprecise: [-2147483648..1] ---- -> [eva] tests/value/octagons.c:116: Frama_C_show_each_imprecise: [-2468..1] -270,273c262,265 -< a ∈ [-1024..2147483647] -< b ∈ [-1023..2147483647] -< c ∈ [-1023..2147483647] -< d ∈ [-1032..2147483647] ---- -> a ∈ [-182..1866] -> b ∈ [-181..1867] -> c ∈ [-602..1446] -> d ∈ [-190..1874] -275c267 -< d2 ∈ [-2147483648..1] ---- -> d2 ∈ [-2468..1] -diff tests/value/oracle/reduce_formals.res.oracle tests/value/oracle_gauges/reduce_formals.res.oracle -10a11 -> [eva] tests/value/reduce_formals.i:5: starting to merge loop iterations -diff tests/value/oracle/redundant_alarms.res.oracle tests/value/oracle_gauges/redundant_alarms.res.oracle -47a48 -> [eva] tests/value/redundant_alarms.c:39: starting to merge loop iterations -diff tests/value/oracle/reevaluate_alarms.res.oracle tests/value/oracle_gauges/reevaluate_alarms.res.oracle -14,16d13 -< [eva:alarm] tests/value/reevaluate_alarms.i:14: Warning: -< out of bounds write. assert \valid(tmp); -< (tmp from p++) -59c56 -< p ∈ {{ &T + [0..--],0%4 }} ---- -> p ∈ {{ &T{[0], [1], [2], [3], [4], [5]} }} -124,125d120 -< [ - ] Assertion 'Eva,mem_access' (file tests/value/reevaluate_alarms.i, line 14) -< tried with Eva. -144,145c139,140 -< 4 To be validated -< 4 Total ---- -> 3 To be validated -> 3 Total -182,183d176 -< [eva] tests/value/reevaluate_alarms.i:14: -< assertion 'Eva,mem_access' got final status valid. -274,275d266 -< [ Valid ] Assertion 'Eva,mem_access' (file tests/value/reevaluate_alarms.i, line 14) -< by Eva (v2). -294,295c285,286 -< 4 Completely validated -< 4 Total ---- -> 3 Completely validated -> 3 Total -diff tests/value/oracle/semaphore.res.oracle tests/value/oracle_gauges/semaphore.res.oracle -24a25,33 -> [eva] computing for function V <- g. -> Called from tests/value/semaphore.i:31. -> [eva] Done for function V -> [eva] computing for function V <- g. -> Called from tests/value/semaphore.i:31. -> [eva] Done for function V -> [eva] computing for function V <- g. -> Called from tests/value/semaphore.i:31. -> [eva] Done for function V -diff tests/value/oracle/symbolic_locs.res.oracle tests/value/oracle_gauges/symbolic_locs.res.oracle -135a136 -> [eva] tests/value/symbolic_locs.i:93: starting to merge loop iterations -diff tests/value/oracle/undefined_sequence.0.res.oracle tests/value/oracle_gauges/undefined_sequence.0.res.oracle -97a98 -> [eva] tests/value/undefined_sequence.i:43: starting to merge loop iterations -101a103 -> [eva] tests/value/undefined_sequence.i:49: starting to merge loop iterations -Only in tests/value/oracle: unit_tests.res.oracle -diff tests/value/oracle/unroll.res.oracle tests/value/oracle_gauges/unroll.res.oracle -13,14d12 -< [eva:alarm] tests/value/unroll.i:34: Warning: -< signed overflow. assert -2147483648 ≤ j - 1; -16a15 -> [eva] tests/value/unroll.i:39: starting to merge loop iterations -26c25 -< j ∈ [-2147483648..-123] ---- -> j ∈ {-238} -diff tests/value/oracle/unroll_simple.res.oracle tests/value/oracle_gauges/unroll_simple.res.oracle -8,9d7 -< [eva:alarm] tests/value/unroll_simple.i:11: Warning: -< signed overflow. assert -2147483648 ≤ j - 1; -11a10 -> [eva] tests/value/unroll_simple.i:16: starting to merge loop iterations -21c20 -< j ∈ [-2147483648..-126] ---- -> j ∈ {-250} -diff tests/value/oracle/va_list2.0.res.oracle tests/value/oracle_gauges/va_list2.0.res.oracle -50a51,62 -> [eva] tests/value/va_list2.c:16: -> Frama_C_show_each_i: -> {{ garbled mix of &{S_0_S___va_params; S_1_S___va_params} (origin: Well) }} -> [eva] tests/value/va_list2.c:21: -> Frama_C_show_each_f: -> {{ garbled mix of &{S_0_S___va_params; S_1_S___va_params} (origin: Well) }} -> [eva] tests/value/va_list2.c:16: -> Frama_C_show_each_i: -> {{ garbled mix of &{S_0_S___va_params; S_1_S___va_params} (origin: Well) }} -> [eva] tests/value/va_list2.c:21: -> Frama_C_show_each_f: -> {{ garbled mix of &{S_0_S___va_params; S_1_S___va_params} (origin: Well) }} -diff tests/value/oracle/va_list2.1.res.oracle tests/value/oracle_gauges/va_list2.1.res.oracle -40a41,52 -> [eva] computing for function __builtin_va_arg <- main. -> Called from tests/value/va_list2.c:15. -> [eva] Done for function __builtin_va_arg -> [eva] computing for function __builtin_va_arg <- main. -> Called from tests/value/va_list2.c:20. -> [eva] Done for function __builtin_va_arg -> [eva] computing for function __builtin_va_arg <- main. -> Called from tests/value/va_list2.c:15. -> [eva] Done for function __builtin_va_arg -> [eva] computing for function __builtin_va_arg <- main. -> Called from tests/value/va_list2.c:20. -> [eva] Done for function __builtin_va_arg -diff tests/value/oracle/widen_on_non_monotonic.res.oracle tests/value/oracle_gauges/widen_on_non_monotonic.res.oracle -25a26,27 -> [eva] tests/value/widen_on_non_monotonic.i:21: starting to merge loop iterations -> [eva] tests/value/widen_on_non_monotonic.i:18: starting to merge loop iterations -diff tests/value/oracle/widen_overflow.res.oracle tests/value/oracle_gauges/widen_overflow.res.oracle -31a32,34 -> [eva] computing for function u <- main. -> Called from tests/value/widen_overflow.i:9. -> [eva] Done for function u diff --git a/tests/value/diff_octagons b/tests/value/diff_octagons deleted file mode 100644 index 60823ae538cd11a1439e74d6916dda01dca0c8c1..0000000000000000000000000000000000000000 --- a/tests/value/diff_octagons +++ /dev/null @@ -1,413 +0,0 @@ -diff tests/value/oracle/alias.1.res.oracle tests/value/oracle_octagons/alias.1.res.oracle -85c85 -< z ∈ {0; 1; 2} ---- -> z ∈ {0; 2} -diff tests/value/oracle/alias.2.res.oracle tests/value/oracle_octagons/alias.2.res.oracle -76c76 -< z ∈ {-5; -4; -3; -2; -1; 0; 1; 1000} ---- -> z ∈ {-2; -1; 0; 1000} -diff tests/value/oracle/alias.3.res.oracle tests/value/oracle_octagons/alias.3.res.oracle -67c67 -< z ∈ {0; 1; 2} ---- -> z ∈ {0; 2} -diff tests/value/oracle/alias.5.res.oracle tests/value/oracle_octagons/alias.5.res.oracle -59a60 -> [eva] tests/value/alias.i:260: starting to merge loop iterations -diff tests/value/oracle/alias.6.res.oracle tests/value/oracle_octagons/alias.6.res.oracle -82c82 -< t ∈ {4; 5; 6} ---- -> t ∈ {5} -87c87 -< y ∈ {0; 1} ---- -> y ∈ {1} -94,96c94,96 -< tz1 ∈ {0; 1} -< tz2 ∈ {0; 1} -< tz3 ∈ {0; 1} ---- -> tz1 ∈ {1} -> tz2 ∈ {1} -> tz3 ∈ {1} -diff tests/value/oracle/auto_loop_unroll.0.res.oracle tests/value/oracle_octagons/auto_loop_unroll.0.res.oracle -211,212d210 -< [eva:alarm] tests/value/auto_loop_unroll.c:203: Warning: -< signed overflow. assert -2147483648 ≤ i_0 - 1; -218,219d215 -< [eva:alarm] tests/value/auto_loop_unroll.c:208: Warning: -< signed overflow. assert -2147483648 ≤ i_1 - 1; -245,246d240 -< [eva:alarm] tests/value/auto_loop_unroll.c:240: Warning: -< signed overflow. assert -2147483648 ≤ i - 1; -306c300 -< i ∈ [-2147483648..20] ---- -> i ∈ {-1} -diff tests/value/oracle/bitfield.res.oracle tests/value/oracle_octagons/bitfield.res.oracle -138a139,141 -> [eva] tests/value/bitfield.i:71: -> Frama_C_show_each: -> {{ garbled mix of &{b} (origin: Misaligned {tests/value/bitfield.i:70}) }} -diff tests/value/oracle/builtins_split.res.oracle tests/value/oracle_octagons/builtins_split.res.oracle -70a71,84 -> [eva] tests/value/builtins_split.c:104: -> Call to builtin Frama_C_builtin_split_all -> [eva] tests/value/builtins_split.c:104: -> Call to builtin Frama_C_builtin_split_all -> [eva] tests/value/builtins_split.c:104: -> Call to builtin Frama_C_builtin_split_all -> [eva] tests/value/builtins_split.c:104: -> Call to builtin Frama_C_builtin_split_all -> [eva] tests/value/builtins_split.c:104: -> Call to builtin Frama_C_builtin_split_all -> [eva] tests/value/builtins_split.c:104: -> Call to builtin Frama_C_builtin_split_all -> [eva] tests/value/builtins_split.c:104: -> Call to builtin Frama_C_builtin_split_all -81a96,109 -> [eva] tests/value/builtins_split.c:112: -> Call to builtin Frama_C_builtin_split_all -> [eva] tests/value/builtins_split.c:112: -> Call to builtin Frama_C_builtin_split_all -> [eva] tests/value/builtins_split.c:112: -> Call to builtin Frama_C_builtin_split_all -> [eva] tests/value/builtins_split.c:112: -> Call to builtin Frama_C_builtin_split_all -> [eva] tests/value/builtins_split.c:112: -> Call to builtin Frama_C_builtin_split_all -> [eva] tests/value/builtins_split.c:112: -> Call to builtin Frama_C_builtin_split_all -> [eva] tests/value/builtins_split.c:112: -> Call to builtin Frama_C_builtin_split_all -diff tests/value/oracle/call_simple.res.oracle tests/value/oracle_octagons/call_simple.res.oracle -28c28 -< c ∈ [--..--] ---- -> c ∈ [-2147483648..2147483646] -diff tests/value/oracle/descending.res.oracle tests/value/oracle_octagons/descending.res.oracle -42c42 -< i ∈ {31; 32} ---- -> i ∈ {31} -diff tests/value/oracle/downcast.1.res.oracle tests/value/oracle_octagons/downcast.1.res.oracle -61c61 -< [100000..2147483647], [100145..2147483647], [100145..2147483647] ---- -> [100000..2147483502], [100145..2147483647], [100145..2147483647] -166c166 -< x_0 ∈ [100000..2147483647] ---- -> x_0 ∈ [100000..2147483502] -diff tests/value/oracle/equality.res.oracle tests/value/oracle_octagons/equality.res.oracle -29,30c29,30 -< y ∈ [0..42] or UNINITIALIZED -< w ∈ [0..42] or UNINITIALIZED ---- -> y ∈ [0..42] -> w ∈ [0..42] -diff tests/value/oracle/find_ivaltop.res.oracle tests/value/oracle_octagons/find_ivaltop.res.oracle -32,33c32,33 -< j ∈ {0; 1; 2; 3; 4; 5; 6; 7} -< X ∈ {1; 2; 3; 4; 5; 6; 7; 8} ---- -> j ∈ {7} -> X ∈ {8} -39c39 -< \result FROM t[0..7] ---- -> \result FROM t[7] -44c44 -< t[0..7] ---- -> t[7] -diff tests/value/oracle/for_loops.3.res.oracle tests/value/oracle_octagons/for_loops.3.res.oracle -20c20 -< v ∈ [0..2147483647] ---- -> v ∈ [5..2147483647] -diff tests/value/oracle/gauges.res.oracle tests/value/oracle_octagons/gauges.res.oracle -209,210d208 -< [eva:alarm] tests/value/gauges.c:156: Warning: -< signed overflow. assert -2147483648 ≤ toCopy - 1; -276,277d273 -< [eva:alarm] tests/value/gauges.c:201: Warning: -< signed overflow. assert -2147483648 ≤ numNonZero - 1; -300,304d295 -< [eva] tests/value/gauges.c:218: Frama_C_show_each: -< [eva] tests/value/gauges.c:218: Frama_C_show_each: -< [eva] tests/value/gauges.c:218: Frama_C_show_each: -< [eva:alarm] tests/value/gauges.c:220: Warning: -< signed overflow. assert -2147483648 ≤ n - 1; -791c782 -< numNonZero ∈ [-2147483648..8] ---- -> numNonZero ∈ {-1} -802c793 -< n ∈ [-2147483648..99] ---- -> n ∈ {-1} -863c854 -< toCopy ∈ [-2147483648..99] ---- -> toCopy ∈ {-1} -diff tests/value/oracle/loop.res.oracle tests/value/oracle_octagons/loop.res.oracle -26c26 -< r ∈ [0..2147483646],0%2 ---- -> r ∈ [46..2147483646],0%2 -diff tests/value/oracle/loop_wvar.1.res.oracle tests/value/oracle_octagons/loop_wvar.1.res.oracle -12,13d11 -< [eva:alarm] tests/value/loop_wvar.i:57: Warning: -< signed overflow. assert next + 1 ≤ 2147483647; -41c39 -< next ∈ [0..2147483647] ---- -> next ∈ [0..25] -diff tests/value/oracle/modulo.res.oracle tests/value/oracle_octagons/modulo.res.oracle -40a41,56 -> [eva] tests/value/modulo.i:41: Frama_C_show_each_1: [-10..-1], [-9..-1], [-8..0] -> [eva] tests/value/modulo.i:41: Frama_C_show_each_1: [-10..-1], [1..9], [-8..0] -> [eva] tests/value/modulo.i:41: Frama_C_show_each_1: [1..10], [-9..-1], [0..8] -> [eva] tests/value/modulo.i:41: Frama_C_show_each_1: [1..10], [1..9], [0..8] -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: -> [1..9], {1; 2; 3; 4; 5; 6; 7; 8}, {0; 1; 2; 3; 4; 5; 6; 7} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: -> [-9..-1], {1; 2; 3; 4; 5; 6; 7; 8}, {-7; -6; -5; -4; -3; -2; -1; 0} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: -> [1..9], {-8; -7; -6; -5; -4; -3; -2; -1}, {0; 1; 2; 3; 4; 5; 6; 7} -> [eva] tests/value/modulo.i:41: -> Frama_C_show_each_1: -> [-9..-1], {-8; -7; -6; -5; -4; -3; -2; -1}, {-7; -6; -5; -4; -3; -2; -1; 0} -50a67,82 -> [eva] tests/value/modulo.i:53: Frama_C_show_each_2: [-10..-1], [1..9], [-8..0] -> [eva] tests/value/modulo.i:53: Frama_C_show_each_2: [-10..-1], [-9..-1], [-8..0] -> [eva] tests/value/modulo.i:53: Frama_C_show_each_2: [1..10], [1..9], [0..8] -> [eva] tests/value/modulo.i:53: Frama_C_show_each_2: [1..10], [-9..-1], [0..8] -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: -> [-9..-1], {1; 2; 3; 4; 5; 6; 7; 8}, {-7; -6; -5; -4; -3; -2; -1; 0} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: -> [1..9], {1; 2; 3; 4; 5; 6; 7; 8}, {0; 1; 2; 3; 4; 5; 6; 7} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: -> [-9..-1], {-8; -7; -6; -5; -4; -3; -2; -1}, {-7; -6; -5; -4; -3; -2; -1; 0} -> [eva] tests/value/modulo.i:53: -> Frama_C_show_each_2: -> [1..9], {-8; -7; -6; -5; -4; -3; -2; -1}, {0; 1; 2; 3; 4; 5; 6; 7} -60a93,94 -> [eva] tests/value/modulo.i:64: Frama_C_show_each_3: [-10..10], [-9..9], [-8..8] -> [eva] tests/value/modulo.i:64: Frama_C_show_each_3: [-9..9], [-8..8], [-7..7] -diff tests/value/oracle/non_natural.res.oracle tests/value/oracle_octagons/non_natural.res.oracle -58a59,60 -> [kernel] tests/value/non_natural.i:30: -> more than 200(12500) elements to enumerate. Approximating. -65a68,69 -> [kernel] tests/value/non_natural.i:23: -> more than 200(12500) elements to enumerate. Approximating. -70a75,76 -> [kernel] tests/value/non_natural.i:24: -> more than 200(12500) elements to enumerate. Approximating. -78a85,86 -> [kernel] tests/value/non_natural.i:25: -> more than 200(12500) elements to enumerate. Approximating. -86a95,96 -> [kernel] tests/value/non_natural.i:26: -> more than 200(12500) elements to enumerate. Approximating. -94a105,106 -> [kernel] tests/value/non_natural.i:27: -> more than 200(12500) elements to enumerate. Approximating. -102a115,116 -> [kernel] tests/value/non_natural.i:28: -> more than 200(12500) elements to enumerate. Approximating. -110a125,126 -> [kernel] tests/value/non_natural.i:29: -> more than 200(12500) elements to enumerate. Approximating. -129,130d144 -< [kernel] tests/value/non_natural.i:23: -< more than 200(12500) elements to enumerate. Approximating. -133,146d146 -< [kernel] tests/value/non_natural.i:24: -< more than 200(12500) elements to enumerate. Approximating. -< [kernel] tests/value/non_natural.i:25: -< more than 200(12500) elements to enumerate. Approximating. -< [kernel] tests/value/non_natural.i:26: -< more than 200(12500) elements to enumerate. Approximating. -< [kernel] tests/value/non_natural.i:27: -< more than 200(12500) elements to enumerate. Approximating. -< [kernel] tests/value/non_natural.i:28: -< more than 200(12500) elements to enumerate. Approximating. -< [kernel] tests/value/non_natural.i:29: -< more than 200(12500) elements to enumerate. Approximating. -< [kernel] tests/value/non_natural.i:30: -< more than 200(12500) elements to enumerate. Approximating. -199a200,201 -> [kernel] tests/value/non_natural.i:39: -> more than 200(12500) elements to enumerate. Approximating. -diff tests/value/oracle/nonlin.res.oracle tests/value/oracle_octagons/nonlin.res.oracle -113a114,115 -> [eva:nonlin] tests/value/nonlin.c:71: non-linear 'x * x', lv 'x' -> [eva:nonlin] tests/value/nonlin.c:71: subdividing on x -116a119,121 -> [eva:nonlin] tests/value/nonlin.c:72: subdividing on x -> [eva:nonlin] tests/value/nonlin.c:72: non-linear 'y * y', lv 'y' -> [eva:nonlin] tests/value/nonlin.c:72: subdividing on y -119a125,126 -> [eva:nonlin] tests/value/nonlin.c:74: non-linear 'z * x + x * y', lv 'x' -> [eva:nonlin] tests/value/nonlin.c:74: subdividing on x -157a165,166 -> [eva:nonlin] tests/value/nonlin.c:118: non-linear 'x * x', lv 'x' -> [eva:nonlin] tests/value/nonlin.c:118: subdividing on x -160a170 -> [eva:nonlin] tests/value/nonlin.c:119: subdividing on x -161a172 -> [eva:nonlin] tests/value/nonlin.c:121: subdividing on x -diff tests/value/oracle/plevel.res.oracle tests/value/oracle_octagons/plevel.res.oracle -12d11 -< [eva] Recording results for main -14a14 -> [eva] Recording results for main -diff tests/value/oracle/ptr_relation.1.res.oracle tests/value/oracle_octagons/ptr_relation.1.res.oracle -24c24 -< j ∈ {-1; 0; 1} ---- -> j ∈ {0} -diff tests/value/oracle/relation_reduction.res.oracle tests/value/oracle_octagons/relation_reduction.res.oracle -24,27d23 -< [eva:alarm] tests/value/relation_reduction.i:20: Warning: -< accessing out of bounds index. assert 0 ≤ y; -< [eva:alarm] tests/value/relation_reduction.i:20: Warning: -< accessing out of bounds index. assert y < 9; -34,37c30,33 -< R1 ∈ [-2147483648..2147483637] -< R2 ∈ [-2147483638..2147483647] -< R3 ∈ [--..--] -< R4 ∈ {0; 1; 2; 3; 4; 5} ---- -> R1 ∈ {0; 2} -> R2 ∈ {0; 12} -> R3 ∈ {0; 7} -> R4 ∈ {0; 2} -48c44 -< R4 FROM tab[0..8]; x (and SELF) ---- -> R4 FROM tab[0..5]; x (and SELF) -53c49 -< y; t; tab[0..8] ---- -> y; t; tab[0..5] -diff tests/value/oracle/relation_shift.res.oracle tests/value/oracle_octagons/relation_shift.res.oracle -18,25d17 -< [eva:alarm] tests/value/relation_shift.i:15: Warning: -< signed overflow. assert -2147483648 ≤ x - y; -< [eva:alarm] tests/value/relation_shift.i:15: Warning: -< signed overflow. assert x - y ≤ 2147483647; -< [eva:alarm] tests/value/relation_shift.i:16: Warning: -< signed overflow. assert -2147483648 ≤ z - y; -< [eva:alarm] tests/value/relation_shift.i:16: Warning: -< signed overflow. assert z - y ≤ 2147483647; -31,32c23,24 -< r1 ∈ [--..--] -< r2 ∈ [--..--] ---- -> r1 ∈ {2} -> r2 ∈ {7} -35,37c27,29 -< x ∈ [-2147483647..2147483647] -< y ∈ [-2147483648..2147483646] -< z ∈ [-2147483642..2147483647] ---- -> x ∈ [-2147483646..2147483642] -> y ∈ [-2147483648..2147483640] -> z ∈ [-2147483641..2147483647] -49,50c41,42 -< r1 ∈ [--..--] -< r2 ∈ [--..--] ---- -> r1 ∈ {2} -> r2 ∈ {7} -53,55c45,47 -< x ∈ [-2147483647..2147483647] -< y ∈ [-2147483648..2147483646] -< z ∈ [-2147483642..2147483647] ---- -> x ∈ [-2147483646..2147483642] -> y ∈ [-2147483648..2147483640] -> z ∈ [-2147483641..2147483647] -diff tests/value/oracle/relations.res.oracle tests/value/oracle_octagons/relations.res.oracle -80,81c80,82 -< e ∈ [--..--] -< f ∈ [--..--] ---- -> e ∈ {1} -> f[bits 0 to 7] ∈ {1; 4} -> [bits 8 to 31] ∈ [--..--] -diff tests/value/oracle/relations2.res.oracle tests/value/oracle_octagons/relations2.res.oracle -25c25 -< len ∈ [--..--] ---- -> len ∈ [0..1023] -36,37c36 -< [eva] tests/value/relations2.i:17: -< Frama_C_show_each_end: [0..4294967295], [0..64] ---- -> [eva] tests/value/relations2.i:17: Frama_C_show_each_end: [0..1023], [0..64] -59c58 -< n ∈ [0..512] ---- -> n ∈ [1..512] -69,71d67 -< [eva:alarm] tests/value/relations2.i:34: Warning: -< accessing out of bounds index. -< assert (unsigned int)(i - (unsigned int)(t + 1)) < 514; -80c76 -< n ∈ [0..512] ---- -> n ∈ [1..512] -97c93 -< n ∈ [0..512] ---- -> n ∈ [1..512] -140c136 -< len ∈ [--..--] ---- -> len ∈ [0..1023] -diff tests/value/oracle/semaphore.res.oracle tests/value/oracle_octagons/semaphore.res.oracle -65c65 -< c ∈ {-26; -1} ---- -> c ∈ {-1} -diff tests/value/oracle/struct2.res.oracle tests/value/oracle_octagons/struct2.res.oracle -81,84d80 -< accessing out of bounds index. assert 0 ≤ (int)(i + j); -< [eva:alarm] tests/value/struct2.i:185: Warning: -< accessing out of bounds index. assert (int)(i + j) < 2; -< [eva:alarm] tests/value/struct2.i:185: Warning: -106d101 -< [scope:rm_asserts] removing 2 assertion(s) -diff tests/value/oracle/test.0.res.oracle tests/value/oracle_octagons/test.0.res.oracle -17,18d16 -< [eva:alarm] tests/value/test.i:11: Warning: -< signed overflow. assert j + ecart ≤ 2147483647; -29c27 -< j ∈ [-1073741822..1] ---- -> j ∈ {-1; 0; 1} -Only in tests/value/oracle: unit_tests.res.oracle -diff tests/value/oracle/unroll.res.oracle tests/value/oracle_octagons/unroll.res.oracle -22c22 -< G ∈ [17739..2147483647] ---- -> G ∈ [17854..2147483647] -diff tests/value/oracle/unroll_simple.res.oracle tests/value/oracle_octagons/unroll_simple.res.oracle -17c17 -< G ∈ [8772..2147483647] ---- -> G ∈ [8896..2147483647] diff --git a/tests/value/diff_symblocs b/tests/value/diff_symblocs deleted file mode 100644 index a03b0b46bdb9405bb44d74b683245c7fc1b0b4a3..0000000000000000000000000000000000000000 --- a/tests/value/diff_symblocs +++ /dev/null @@ -1,329 +0,0 @@ -diff tests/value/oracle/alias.0.res.oracle tests/value/oracle_symblocs/alias.0.res.oracle -103,104c103,104 -< t ∈ {1; 2; 4} -< u ∈ {2; 3; 4; 5} ---- -> t ∈ {4} -> u ∈ {5} -110c110 -< t2 ∈ {0; 3; 6} ---- -> t2 ∈ {6} -diff tests/value/oracle/alias.4.res.oracle tests/value/oracle_symblocs/alias.4.res.oracle -81c81 -< y ∈ {0; 3; 77} ---- -> y ∈ {77} -diff tests/value/oracle/alias.5.res.oracle tests/value/oracle_symblocs/alias.5.res.oracle -170c170 -< y ∈ {0; 3; 77} ---- -> y ∈ {77} -diff tests/value/oracle/alias.6.res.oracle tests/value/oracle_symblocs/alias.6.res.oracle -86c86 -< x ∈ {0; 4; 33} ---- -> x ∈ {33} -diff tests/value/oracle/bitwise_pointer.res.oracle tests/value/oracle_symblocs/bitwise_pointer.res.oracle -62c62 -< x ∈ [0..9] ---- -> x ∈ {5} -75c75 -< x1 ∈ [0..9] ---- -> x1 ∈ {5} -diff tests/value/oracle/bitwise_reduction.res.oracle tests/value/oracle_symblocs/bitwise_reduction.res.oracle -20c20 -< {0; 1}, {0; 1; 0x3000; 0x3001; 0x3200; 0x3201; 0xF000; 0xFF00} ---- -> {0; 1}, {0x3000; 0x3001; 0x3200; 0x3201; 0xF000; 0xFF00} -23c23 -< {0; 1}, {0; 1; 0x3000; 0x3001; 0x3200; 0x3201; 0xF000; 0xFF00} ---- -> {0; 1}, {0x3000; 0x3001; 0x3200; 0x3201; 0xF000; 0xFF00} -30c30 -< {{ &t + {0; 4} }}, {0; 1; 0x3000; 0x3001; 0x3200; 0x3201; 0xF000; 0xFF00} ---- -> {{ &t + {0; 4} }}, {0x3000; 0x3001; 0x3200; 0x3201; 0xF000; 0xFF00} -33c33 -< {0; 1}, {0; 1; 0x3000; 0x3001; 0x3200; 0x3201; 0xF000; 0xFF00} ---- -> {0; 1}, {0x3000; 0x3001; 0x3200; 0x3201; 0xF000; 0xFF00} -diff tests/value/oracle/domains_function.res.oracle tests/value/oracle_symblocs/domains_function.res.oracle -19,20c19 -< [eva] tests/value/domains_function.c:92: -< Frama_C_show_each_top: [-2147483648..2147483647] ---- -> [eva] tests/value/domains_function.c:92: Frama_C_show_each_top: {3} -28,29c27 -< [eva] tests/value/domains_function.c:77: -< Frama_C_show_each_top: [-2147483648..2147483647] ---- -> [eva] tests/value/domains_function.c:77: Frama_C_show_each_top: {1} -32,33c30 -< [eva] tests/value/domains_function.c:96: -< Frama_C_show_each_top: [-2147483648..2147483647] ---- -> [eva] tests/value/domains_function.c:96: Frama_C_show_each_top: {1} -52,56c49,50 -< [eva] computing for function not_enabled <- recursively_enabled <- main. -< Called from tests/value/domains_function.c:110. -< [eva] tests/value/domains_function.c:77: Frama_C_show_each_top: {1} -< [eva] Recording results for not_enabled -< [eva] Done for function not_enabled ---- -> [eva] tests/value/domains_function.c:110: -> Reusing old results for call to not_enabled -58,63c52,53 -< [eva] computing for function disabled <- recursively_enabled <- main. -< Called from tests/value/domains_function.c:112. -< [eva] tests/value/domains_function.c:84: -< Frama_C_show_each_top: [-2147483648..2147483647] -< [eva] Recording results for disabled -< [eva] Done for function disabled ---- -> [eva] tests/value/domains_function.c:112: -> Reusing old results for call to disabled -130c120 -< result ∈ [--..--] ---- -> result ∈ {1} -diff tests/value/oracle/incompatible_states.res.oracle tests/value/oracle_symblocs/incompatible_states.res.oracle -41,42d40 -< [eva:alarm] tests/value/incompatible_states.c:53: Warning: -< division by zero. assert t[i] ≢ 0; -49c47 -< [scope:rm_asserts] removing 2 assertion(s) ---- -> [scope:rm_asserts] removing 1 assertion(s) -diff tests/value/oracle/library.res.oracle tests/value/oracle_symblocs/library.res.oracle -129,132d128 -< [eva:alarm] tests/value/library.i:44: Warning: -< non-finite float value. assert \is_finite(*pf); -< [eva:alarm] tests/value/library.i:44: Warning: -< non-finite float value. assert \is_finite(\add_float(*pf, *pf)); -diff tests/value/oracle/non_natural.res.oracle tests/value/oracle_symblocs/non_natural.res.oracle -58a59,60 -> [kernel] tests/value/non_natural.i:30: -> more than 200(12500) elements to enumerate. Approximating. -65a68,71 -> [kernel] tests/value/non_natural.i:23: -> more than 200(12501) elements to enumerate. Approximating. -> [kernel] tests/value/non_natural.i:23: -> more than 200(12500) elements to enumerate. Approximating. -70a77,80 -> [kernel] tests/value/non_natural.i:24: -> more than 200(12501) elements to enumerate. Approximating. -> [kernel] tests/value/non_natural.i:24: -> more than 200(12500) elements to enumerate. Approximating. -78a89,90 -> [kernel] tests/value/non_natural.i:25: -> more than 200(12500) elements to enumerate. Approximating. -86a99,100 -> [kernel] tests/value/non_natural.i:26: -> more than 200(12500) elements to enumerate. Approximating. -94a109,110 -> [kernel] tests/value/non_natural.i:27: -> more than 200(12500) elements to enumerate. Approximating. -102a119,120 -> [kernel] tests/value/non_natural.i:28: -> more than 200(12500) elements to enumerate. Approximating. -110a129,130 -> [kernel] tests/value/non_natural.i:29: -> more than 200(12500) elements to enumerate. Approximating. -127,146d146 -< [kernel] tests/value/non_natural.i:23: -< more than 200(12501) elements to enumerate. Approximating. -< [kernel] tests/value/non_natural.i:23: -< more than 200(12500) elements to enumerate. Approximating. -< [kernel] tests/value/non_natural.i:24: -< more than 200(12501) elements to enumerate. Approximating. -< [kernel] tests/value/non_natural.i:24: -< more than 200(12500) elements to enumerate. Approximating. -< [kernel] tests/value/non_natural.i:25: -< more than 200(12500) elements to enumerate. Approximating. -< [kernel] tests/value/non_natural.i:26: -< more than 200(12500) elements to enumerate. Approximating. -< [kernel] tests/value/non_natural.i:27: -< more than 200(12500) elements to enumerate. Approximating. -< [kernel] tests/value/non_natural.i:28: -< more than 200(12500) elements to enumerate. Approximating. -< [kernel] tests/value/non_natural.i:29: -< more than 200(12500) elements to enumerate. Approximating. -< [kernel] tests/value/non_natural.i:30: -< more than 200(12500) elements to enumerate. Approximating. -199a200,201 -> [kernel] tests/value/non_natural.i:39: -> more than 200(12500) elements to enumerate. Approximating. -diff tests/value/oracle/offsetmap.0.res.oracle tests/value/oracle_symblocs/offsetmap.0.res.oracle -40d39 -< [eva] Recording results for g -42a42 -> [eva] Recording results for g -diff tests/value/oracle/offsetmap.1.res.oracle tests/value/oracle_symblocs/offsetmap.1.res.oracle -40d39 -< [eva] Recording results for g -42a42 -> [eva] Recording results for g -diff tests/value/oracle/plevel.res.oracle tests/value/oracle_symblocs/plevel.res.oracle -12d11 -< [eva] Recording results for main -14a14 -> [eva] Recording results for main -diff tests/value/oracle/ptr_relation.0.res.oracle tests/value/oracle_symblocs/ptr_relation.0.res.oracle -23c23 -< i ∈ {0; 77; 333} ---- -> i ∈ {77} -diff tests/value/oracle/redundant_alarms.res.oracle tests/value/oracle_symblocs/redundant_alarms.res.oracle -10,13d9 -< [eva:alarm] tests/value/redundant_alarms.c:11: Warning: -< accessing uninitialized left-value. assert \initialized(p); -< [eva:alarm] tests/value/redundant_alarms.c:12: Warning: -< accessing uninitialized left-value. assert \initialized(p); -24,27d19 -< [eva:alarm] tests/value/redundant_alarms.c:21: Warning: -< accessing uninitialized left-value. assert \initialized(&t[i]); -< [eva:alarm] tests/value/redundant_alarms.c:22: Warning: -< accessing uninitialized left-value. assert \initialized(&t[i]); -38,41d29 -< [eva:alarm] tests/value/redundant_alarms.c:32: Warning: -< accessing uninitialized left-value. assert \initialized(&t[j]); -< [eva:alarm] tests/value/redundant_alarms.c:33: Warning: -< accessing uninitialized left-value. assert \initialized(&t[i]); -63,69d50 -< [scope:rm_asserts] removing 3 assertion(s) -< [scope:rm_asserts] tests/value/redundant_alarms.c:12: -< removing redundant assert Eva: initialization: \initialized(p); -< [scope:rm_asserts] tests/value/redundant_alarms.c:32: -< removing redundant assert Eva: initialization: \initialized(&t[j]); -< [scope:rm_asserts] tests/value/redundant_alarms.c:33: -< removing redundant assert Eva: initialization: \initialized(&t[i]); -108d88 -< /*@ assert Eva: initialization: \initialized(p); */ -110d89 -< /*@ assert Eva: initialization: \initialized(p); */ -127d105 -< /*@ assert Eva: initialization: \initialized(&t[i]); */ -129d106 -< /*@ assert Eva: initialization: \initialized(&t[i]); */ -142d118 -< /*@ assert Eva: initialization: \initialized(&t[j]); */ -144d119 -< /*@ assert Eva: initialization: \initialized(&t[i]); */ -196a172 -> int z; -199,201d174 -< *p = 1; -< int z = *p + 1; -< int w = *p + 2; -diff tests/value/oracle/relations2.res.oracle tests/value/oracle_symblocs/relations2.res.oracle -133d132 -< [eva] tests/value/relations2.i:57: Frama_C_show_each_NO2: -diff tests/value/oracle/struct2.res.oracle tests/value/oracle_symblocs/struct2.res.oracle -55a56,57 -> [kernel] tests/value/struct2.i:78: Warning: -> all target addresses were invalid. This path is assumed to be dead. -59,60d60 -< accessing out of bounds index. assert 0 ≤ (int)(tab2[i] + j); -< [eva:alarm] tests/value/struct2.i:82: Warning: -83,84d82 -< accessing out of bounds index. assert (int)(i + j) < 2; -< [eva:alarm] tests/value/struct2.i:185: Warning: -106c104 -< [scope:rm_asserts] removing 2 assertion(s) ---- -> [scope:rm_asserts] removing 1 assertion(s) -144,145c142 -< tab4[0] ∈ {0; 2} -< [1] ∈ {0} ---- -> tab4[0..1] ∈ {0} -148c145,146 -< tab6[0..1] ∈ {0; 2} ---- -> tab6[0] ∈ {0} -> [1] ∈ {2} -219c217 -< [9].a}; s1; s2; s5.e[0].b; s6.b; s8; tabl[0..1]; tab1[0..1]; ---- -> [9].a}; s1; s2; s5.e[0].b; s6.b; s8; tabl[0..1]; tab1[0]; -diff tests/value/oracle/symbolic_locs.res.oracle tests/value/oracle_symblocs/symbolic_locs.res.oracle -20a21,26 -> # Symbolic locations domain: -> V: {[ t[i] -> {4} ]} -> Z: {[ t[i] -> t[0..8]; i ]} -> I: {[ t -> {t[i]} -> i -> {t[i]} ]} -> S: {[ i -> {t[i]} ]} -31a38,42 -> # Symbolic locations domain: -> V: {[ ]} -> Z: {[ ]} -> I: {[ ]} -> S: {[ ]} -48a60,65 -> # Symbolic locations domain: -> V: {[ t[i] -> {4} ]} -> Z: {[ t[i] -> t[0..8]; i ]} -> I: {[ t -> {t[i]} -> i -> {t[i]} ]} -> S: {[ i -> {t[i]} ]} -59a77,81 -> # Symbolic locations domain: -> V: {[ ]} -> Z: {[ ]} -> I: {[ ]} -> S: {[ ]} -79a102,108 -> # Symbolic locations domain: -> V: {[ t[i] -> {{ &x }} ]} -> Z: {[ t[i] -> t[0..8]; i ]} -> I: {[ t -> {t[i]} -> i -> {t[i]} ]} -> S: {[ i -> {t[i]} -> x -> {t[i]} ]} -92a122,126 -> # Symbolic locations domain: -> V: {[ ]} -> Z: {[ ]} -> I: {[ ]} -> S: {[ ]} -108a143,148 -> # Symbolic locations domain: -> V: {[ t[i] -> {1} ]} -> Z: {[ t[i] -> t[0..8]; i ]} -> I: {[ t -> {t[i]} -> i -> {t[i]} ]} -> S: {[ i -> {t[i]} ]} -117a158,162 -> # Symbolic locations domain: -> V: {[ ]} -> Z: {[ ]} -> I: {[ ]} -> S: {[ ]} -134a180,184 -> # Symbolic locations domain: -> V: {[ ]} -> Z: {[ ]} -> I: {[ ]} -> S: {[ ]} -141,143c191 -< [eva:alarm] tests/value/symbolic_locs.i:111: Warning: -< signed overflow. assert *p + 1 ≤ 2147483647; -< [eva] tests/value/symbolic_locs.i:113: Frama_C_show_each: [0..2147483647] ---- -> [eva] tests/value/symbolic_locs.i:113: Frama_C_show_each: [10001..2147483647] -152a201,205 -> # Symbolic locations domain: -> V: {[ ]} -> Z: {[ ]} -> I: {[ ]} -> S: {[ ]} -diff tests/value/oracle/test.0.res.oracle tests/value/oracle_symblocs/test.0.res.oracle -31c31 -< tmp ∈ [--..--] or UNINITIALIZED ---- -> tmp ∈ [-2147483647..2147483647] or UNINITIALIZED -Only in tests/value/oracle: unit_tests.res.oracle diff --git a/tests/value/oracle_apron/alias.1.res.oracle b/tests/value/oracle_apron/alias.1.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..aaa1d8228100a2a23d9e68f2d441b2743e0accba --- /dev/null +++ b/tests/value/oracle_apron/alias.1.res.oracle @@ -0,0 +1,4 @@ +85c85 +< z ∈ {0; 1; 2} +--- +> z ∈ {0; 2} diff --git a/tests/value/oracle_apron/alias.2.res.oracle b/tests/value/oracle_apron/alias.2.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..62a4c928c5f07363d10d06a14440222d3f72b373 --- /dev/null +++ b/tests/value/oracle_apron/alias.2.res.oracle @@ -0,0 +1,4 @@ +76c76 +< z ∈ {-5; -4; -3; -2; -1; 0; 1; 1000} +--- +> z ∈ {-1; 1000} diff --git a/tests/value/oracle_apron/alias.3.res.oracle b/tests/value/oracle_apron/alias.3.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..e14f1380123bfd42bbd395f88c728c05558d44b3 --- /dev/null +++ b/tests/value/oracle_apron/alias.3.res.oracle @@ -0,0 +1,4 @@ +67c67 +< z ∈ {0; 1; 2} +--- +> z ∈ {0; 2} diff --git a/tests/value/oracle_apron/alias.6.res.oracle b/tests/value/oracle_apron/alias.6.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..580aafe92347b82302efe8945c3977725ac84e5e --- /dev/null +++ b/tests/value/oracle_apron/alias.6.res.oracle @@ -0,0 +1,4 @@ +82c82 +< t ∈ {4; 5; 6} +--- +> t ∈ {5} diff --git a/tests/value/oracle_apron/array_degenerating_loop.res.oracle b/tests/value/oracle_apron/array_degenerating_loop.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..09d1cc74c0334cddc7c42aedcfcdf45b2d344cc7 --- /dev/null +++ b/tests/value/oracle_apron/array_degenerating_loop.res.oracle @@ -0,0 +1,7 @@ +11,12d10 +< [eva:alarm] tests/value/array_degenerating_loop.i:9: Warning: +< signed overflow. assert G + t[i] ≤ 2147483647; +14c12 +< Frama_C_show_each: [55..2147483647], [-2147483648..99] +--- +> Frama_C_show_each: [55..155], [-2147483648..99] diff --git a/tests/value/oracle_apron/audit.res.oracle b/tests/value/oracle_apron/audit.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..9ff41db248872519df6d5b9ea95483fc420a1ff1 --- /dev/null +++ b/tests/value/oracle_apron/audit.res.oracle @@ -0,0 +1,11 @@ +1,8d0 +< [kernel:audit] Warning: +< different hashes for tests/value/audit.c: got 08f73691217888d926a0ee15cbe18159, expected 01010101010101010101010101010101 +< [kernel:audit] Warning: +< different hashes for tests/value/audit_included_but_not_listed.h: got c2cc488143a476f69cf2ed04c3439e6e, expected <none> (not in list) +< [kernel:audit] Warning: +< missing files: +< tests/value/non_existing_file.h +< [kernel] Audit: sources list written to: tests/value/result/audit-out.json +34d25 +< [kernel] Wrote: tests/value/result/audit-out.json diff --git a/tests/value/oracle_apron/auto_loop_unroll.0.res.oracle b/tests/value/oracle_apron/auto_loop_unroll.0.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..a327adacc6b58b32c198364c25748edc883450ae --- /dev/null +++ b/tests/value/oracle_apron/auto_loop_unroll.0.res.oracle @@ -0,0 +1,325 @@ +11,13c11 +< [eva:alarm] tests/value/auto_loop_unroll.c:25: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:27: Frama_C_show_each_auto: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:27: Frama_C_show_each_auto: {100} +15,18c13 +< [eva:alarm] tests/value/auto_loop_unroll.c:31: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:33: +< Frama_C_show_each_imprecise: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:33: Frama_C_show_each_imprecise: {1000} +20,23c15 +< [eva:alarm] tests/value/auto_loop_unroll.c:39: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:41: +< Frama_C_show_each_imprecise: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:41: Frama_C_show_each_imprecise: {100} +32,34c24 +< [eva:alarm] tests/value/auto_loop_unroll.c:58: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:59: Frama_C_show_each_64: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:59: Frama_C_show_each_64: {64} +36,38c26 +< [eva:alarm] tests/value/auto_loop_unroll.c:63: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:64: Frama_C_show_each_40: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:64: Frama_C_show_each_40: [0..120] +40,42c28 +< [eva:alarm] tests/value/auto_loop_unroll.c:69: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:72: Frama_C_show_each_80: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:72: Frama_C_show_each_80: [0..160] +44,47c30 +< [eva:alarm] tests/value/auto_loop_unroll.c:76: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:82: +< Frama_C_show_each_32_80: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:82: Frama_C_show_each_32_80: [0..164] +55,56d37 +< [eva:alarm] tests/value/auto_loop_unroll.c:88: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +60,62c41 +< [eva:alarm] tests/value/auto_loop_unroll.c:93: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:95: Frama_C_show_each_101: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:95: Frama_C_show_each_101: {101} +71c50,53 +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr +--- +> [eva] computing for function incr <- various_loops <- main. +> Called from tests/value/auto_loop_unroll.c:101. +> [eva] Recording results for incr +> [eva] Done for function incr +81c63,66 +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr +--- +> [eva] computing for function incr <- various_loops <- main. +> Called from tests/value/auto_loop_unroll.c:101. +> [eva] Recording results for incr +> [eva] Done for function incr +90c75,78 +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr +--- +> [eva] computing for function incr <- various_loops <- main. +> Called from tests/value/auto_loop_unroll.c:101. +> [eva] Recording results for incr +> [eva] Done for function incr +107c95,98 +< [eva] tests/value/auto_loop_unroll.c:100: Reusing old results for call to incr +--- +> [eva] computing for function incr <- various_loops <- main. +> Called from tests/value/auto_loop_unroll.c:100. +> [eva] Recording results for incr +> [eva] Done for function incr +114,115d104 +< [eva:alarm] tests/value/auto_loop_unroll.c:14: Warning: +< signed overflow. assert g + 1 ≤ 2147483647; +118c107,110 +< [eva] tests/value/auto_loop_unroll.c:100: Reusing old results for call to incr +--- +> [eva] computing for function incr <- various_loops <- main. +> Called from tests/value/auto_loop_unroll.c:100. +> [eva] Recording results for incr +> [eva] Done for function incr +121,122d112 +< [eva:alarm] tests/value/auto_loop_unroll.c:18: Warning: +< signed overflow. assert i + 1 ≤ 2147483647; +125c115 +< [eva] tests/value/auto_loop_unroll.c:103: Frama_C_show_each_25: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:103: Frama_C_show_each_25: {25} +131c121,122 +< [eva] tests/value/auto_loop_unroll.c:112: Frama_C_show_each_120: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:112: +> Frama_C_show_each_120: [15..2147483647] +133,136c124 +< [eva:alarm] tests/value/auto_loop_unroll.c:120: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:122: +< Frama_C_show_each_32_64: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:122: Frama_C_show_each_32_64: [0..65] +138,141c126 +< [eva:alarm] tests/value/auto_loop_unroll.c:130: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:132: +< Frama_C_show_each_1_28: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:132: Frama_C_show_each_1_28: [0..29] +145c130 +< [eva] tests/value/auto_loop_unroll.c:141: Frama_C_show_each_top: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:141: Frama_C_show_each_top: [3..2147483647] +161,162d145 +< [eva:alarm] tests/value/auto_loop_unroll.c:164: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +169c152 +< Frama_C_show_each_imprecise: [0..2147483647] +--- +> Frama_C_show_each_imprecise: [10..2147483647] +187,192c170,178 +< [eva] tests/value/auto_loop_unroll.c:181: Reusing old results for call to incr_g +< [eva] tests/value/auto_loop_unroll.c:181: Reusing old results for call to incr_g +< [eva:alarm] tests/value/auto_loop_unroll.c:183: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:185: +< Frama_C_show_each_imprecise: [0..2147483647] +--- +> [eva] computing for function incr_g <- complex_loops <- main. +> Called from tests/value/auto_loop_unroll.c:181. +> [eva] Recording results for incr_g +> [eva] Done for function incr_g +> [eva] computing for function incr_g <- complex_loops <- main. +> Called from tests/value/auto_loop_unroll.c:181. +> [eva] Recording results for incr_g +> [eva] Done for function incr_g +> [eva] tests/value/auto_loop_unroll.c:185: Frama_C_show_each_imprecise: [0..64] +194,197c180 +< [eva:alarm] tests/value/auto_loop_unroll.c:192: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:194: +< Frama_C_show_each_imprecise: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:194: Frama_C_show_each_imprecise: [0..9] +199,200d181 +< [eva:alarm] tests/value/auto_loop_unroll.c:200: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +204c185 +< Frama_C_show_each_imprecise: [0..2147483647] +--- +> Frama_C_show_each_imprecise: [64..2147483647] +210,212c191 +< [eva:alarm] tests/value/auto_loop_unroll.c:212: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:214: Frama_C_show_each_11: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:214: Frama_C_show_each_11: {11} +214,216c193 +< [eva:alarm] tests/value/auto_loop_unroll.c:217: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:219: Frama_C_show_each_12: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:219: Frama_C_show_each_12: {12} +218,219d194 +< [eva:alarm] tests/value/auto_loop_unroll.c:223: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +221a197,198 +> [eva:alarm] tests/value/auto_loop_unroll.c:223: Warning: +> signed overflow. assert res + 1 ≤ 2147483647; +225,226d201 +< [eva:alarm] tests/value/auto_loop_unroll.c:228: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +228a204,205 +> [eva:alarm] tests/value/auto_loop_unroll.c:228: Warning: +> signed overflow. assert res + 1 ≤ 2147483647; +232,233d208 +< [eva:alarm] tests/value/auto_loop_unroll.c:236: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +237,240c212 +< [eva:alarm] tests/value/auto_loop_unroll.c:241: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:245: +< Frama_C_show_each_11_111: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:245: Frama_C_show_each_11_111: [11..111] +242,244c214 +< [eva:alarm] tests/value/auto_loop_unroll.c:251: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:253: Frama_C_show_each_16: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:253: Frama_C_show_each_16: [16..2147483647] +252,254c222 +< [eva:alarm] tests/value/auto_loop_unroll.c:263: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:265: Frama_C_show_each_20: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:265: Frama_C_show_each_20: [20..2147483646] +256,257d223 +< [eva:alarm] tests/value/auto_loop_unroll.c:268: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +260,262c226 +< [eva] tests/value/auto_loop_unroll.c:270: Frama_C_show_each_21: [0..2147483647] +< [eva] tests/value/auto_loop_unroll.c:272: starting to merge loop iterations +< [eva:alarm] tests/value/auto_loop_unroll.c:274: Warning: +--- +> [eva:alarm] tests/value/auto_loop_unroll.c:268: Warning: +264,266c228,230 +< [eva:alarm] tests/value/auto_loop_unroll.c:272: Warning: +< signed overflow. assert i + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:276: Frama_C_show_each_22: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:270: Frama_C_show_each_21: {21} +> [eva] tests/value/auto_loop_unroll.c:272: starting to merge loop iterations +> [eva] tests/value/auto_loop_unroll.c:276: Frama_C_show_each_22: {21; 22} +268,272c232 +< [eva:alarm] tests/value/auto_loop_unroll.c:282: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva:alarm] tests/value/auto_loop_unroll.c:279: Warning: +< signed overflow. assert i + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:284: Frama_C_show_each_23: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:284: Frama_C_show_each_23: {22; 23} +276,278c236,237 +< [eva:alarm] tests/value/auto_loop_unroll.c:287: Warning: +< signed overflow. assert i + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:292: Frama_C_show_each_top: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:292: +> Frama_C_show_each_top: [23..2147483647] +284,286c243,244 +< [eva:alarm] tests/value/auto_loop_unroll.c:299: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:303: Frama_C_show_each_30: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:303: Frama_C_show_each_30: {30} +> [eva] tests/value/auto_loop_unroll.c:307: starting to merge loop iterations +289,290c247,248 +< [eva] tests/value/auto_loop_unroll.c:307: starting to merge loop iterations +< [eva] tests/value/auto_loop_unroll.c:312: Frama_C_show_each_top: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:312: +> Frama_C_show_each_top: [31..2147483647] +292,294c250 +< [eva:alarm] tests/value/auto_loop_unroll.c:316: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:321: Frama_C_show_each_32: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:321: Frama_C_show_each_32: {32} +299c255 +< Frama_C_show_each_33_inf: [0..2147483647] +--- +> Frama_C_show_each_33_inf: [33..2147483647] +303,304d258 +< [eva:alarm] tests/value/auto_loop_unroll.c:332: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +307,310c261 +< [eva:alarm] tests/value/auto_loop_unroll.c:343: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:345: +< Frama_C_show_each_0_35: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:345: Frama_C_show_each_0_35: [0..35] +313,314d263 +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva:alarm] tests/value/auto_loop_unroll.c:348: Warning: +316,318c265 +< [eva] tests/value/auto_loop_unroll.c:352: Frama_C_show_each_36: [0..2147483647] +< [eva] tests/value/auto_loop_unroll.c:355: starting to merge loop iterations +< [eva:alarm] tests/value/auto_loop_unroll.c:358: Warning: +--- +> [eva:alarm] tests/value/auto_loop_unroll.c:348: Warning: +320c267,269 +< [eva] tests/value/auto_loop_unroll.c:360: Frama_C_show_each_27: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:352: Frama_C_show_each_36: {36} +> [eva] tests/value/auto_loop_unroll.c:355: starting to merge loop iterations +> [eva] tests/value/auto_loop_unroll.c:360: Frama_C_show_each_27: [0..37] +325,327c274 +< [eva:alarm] tests/value/auto_loop_unroll.c:371: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:375: Frama_C_show_each_50: [1..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:375: Frama_C_show_each_50: {50} +330,331d276 +< [eva:alarm] tests/value/auto_loop_unroll.c:380: Warning: +< signed overflow. assert -2147483648 ≤ i - 1; +339,342d283 +< [eva:alarm] tests/value/auto_loop_unroll.c:392: Warning: +< signed overflow. assert j + 1 ≤ 2147483647; +< [eva:alarm] tests/value/auto_loop_unroll.c:396: Warning: +< signed overflow. assert j + 1 ≤ 2147483647; +344c285 +< [eva] tests/value/auto_loop_unroll.c:398: Frama_C_show_each_30: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:398: Frama_C_show_each_30: {30} +346,349d286 +< [eva:alarm] tests/value/auto_loop_unroll.c:403: Warning: +< signed overflow. assert j + 1 ≤ 2147483647; +< [eva:alarm] tests/value/auto_loop_unroll.c:407: Warning: +< signed overflow. assert j + 1 ≤ 2147483647; +351c288 +< [eva] tests/value/auto_loop_unroll.c:412: Frama_C_show_each_30: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:412: Frama_C_show_each_30: {30} +361c298 +< __retres ∈ [1..2147483647] +--- +> __retres ∈ [1..25] +363c300 +< g ∈ [1..2147483647] +--- +> g ∈ [1..126] +391c328 +< k ∈ [22..2147483647] +--- +> k ∈ {22} diff --git a/tests/value/oracle_apron/auto_loop_unroll.1.res.oracle b/tests/value/oracle_apron/auto_loop_unroll.1.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..702df814fedff678c3b0b1c0cf8476d6a588c359 --- /dev/null +++ b/tests/value/oracle_apron/auto_loop_unroll.1.res.oracle @@ -0,0 +1,310 @@ +15,18c15 +< [eva:alarm] tests/value/auto_loop_unroll.c:31: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:33: +< Frama_C_show_each_imprecise: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:33: Frama_C_show_each_imprecise: {1000} +20,23c17 +< [eva:alarm] tests/value/auto_loop_unroll.c:39: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:41: +< Frama_C_show_each_imprecise: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:41: Frama_C_show_each_imprecise: {100} +58c52,55 +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr +--- +> [eva] computing for function incr <- various_loops <- main. +> Called from tests/value/auto_loop_unroll.c:101. +> [eva] Recording results for incr +> [eva] Done for function incr +67c64,67 +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr +--- +> [eva] computing for function incr <- various_loops <- main. +> Called from tests/value/auto_loop_unroll.c:101. +> [eva] Recording results for incr +> [eva] Done for function incr +76c76,79 +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr +--- +> [eva] computing for function incr <- various_loops <- main. +> Called from tests/value/auto_loop_unroll.c:101. +> [eva] Recording results for incr +> [eva] Done for function incr +85c88,91 +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr +--- +> [eva] computing for function incr <- various_loops <- main. +> Called from tests/value/auto_loop_unroll.c:101. +> [eva] Recording results for incr +> [eva] Done for function incr +94c100,103 +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr +--- +> [eva] computing for function incr <- various_loops <- main. +> Called from tests/value/auto_loop_unroll.c:101. +> [eva] Recording results for incr +> [eva] Done for function incr +103c112,115 +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr +--- +> [eva] computing for function incr <- various_loops <- main. +> Called from tests/value/auto_loop_unroll.c:101. +> [eva] Recording results for incr +> [eva] Done for function incr +112c124,127 +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr +--- +> [eva] computing for function incr <- various_loops <- main. +> Called from tests/value/auto_loop_unroll.c:101. +> [eva] Recording results for incr +> [eva] Done for function incr +121c136,139 +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr +--- +> [eva] computing for function incr <- various_loops <- main. +> Called from tests/value/auto_loop_unroll.c:101. +> [eva] Recording results for incr +> [eva] Done for function incr +130c148,151 +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr +--- +> [eva] computing for function incr <- various_loops <- main. +> Called from tests/value/auto_loop_unroll.c:101. +> [eva] Recording results for incr +> [eva] Done for function incr +139c160,163 +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr +--- +> [eva] computing for function incr <- various_loops <- main. +> Called from tests/value/auto_loop_unroll.c:101. +> [eva] Recording results for incr +> [eva] Done for function incr +148c172,175 +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr +--- +> [eva] computing for function incr <- various_loops <- main. +> Called from tests/value/auto_loop_unroll.c:101. +> [eva] Recording results for incr +> [eva] Done for function incr +157c184,187 +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr +--- +> [eva] computing for function incr <- various_loops <- main. +> Called from tests/value/auto_loop_unroll.c:101. +> [eva] Recording results for incr +> [eva] Done for function incr +166c196,199 +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr +--- +> [eva] computing for function incr <- various_loops <- main. +> Called from tests/value/auto_loop_unroll.c:101. +> [eva] Recording results for incr +> [eva] Done for function incr +175c208,211 +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr +--- +> [eva] computing for function incr <- various_loops <- main. +> Called from tests/value/auto_loop_unroll.c:101. +> [eva] Recording results for incr +> [eva] Done for function incr +184c220,223 +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr +--- +> [eva] computing for function incr <- various_loops <- main. +> Called from tests/value/auto_loop_unroll.c:101. +> [eva] Recording results for incr +> [eva] Done for function incr +193c232,235 +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr +--- +> [eva] computing for function incr <- various_loops <- main. +> Called from tests/value/auto_loop_unroll.c:101. +> [eva] Recording results for incr +> [eva] Done for function incr +202c244,247 +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr +--- +> [eva] computing for function incr <- various_loops <- main. +> Called from tests/value/auto_loop_unroll.c:101. +> [eva] Recording results for incr +> [eva] Done for function incr +211c256,259 +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr +--- +> [eva] computing for function incr <- various_loops <- main. +> Called from tests/value/auto_loop_unroll.c:101. +> [eva] Recording results for incr +> [eva] Done for function incr +220c268,271 +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr +--- +> [eva] computing for function incr <- various_loops <- main. +> Called from tests/value/auto_loop_unroll.c:101. +> [eva] Recording results for incr +> [eva] Done for function incr +229c280,283 +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr +--- +> [eva] computing for function incr <- various_loops <- main. +> Called from tests/value/auto_loop_unroll.c:101. +> [eva] Recording results for incr +> [eva] Done for function incr +238c292,295 +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr +--- +> [eva] computing for function incr <- various_loops <- main. +> Called from tests/value/auto_loop_unroll.c:101. +> [eva] Recording results for incr +> [eva] Done for function incr +247c304,307 +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr +--- +> [eva] computing for function incr <- various_loops <- main. +> Called from tests/value/auto_loop_unroll.c:101. +> [eva] Recording results for incr +> [eva] Done for function incr +256c316,319 +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr +--- +> [eva] computing for function incr <- various_loops <- main. +> Called from tests/value/auto_loop_unroll.c:101. +> [eva] Recording results for incr +> [eva] Done for function incr +265c328,331 +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr +--- +> [eva] computing for function incr <- various_loops <- main. +> Called from tests/value/auto_loop_unroll.c:101. +> [eva] Recording results for incr +> [eva] Done for function incr +274c340,343 +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr +--- +> [eva] computing for function incr <- various_loops <- main. +> Called from tests/value/auto_loop_unroll.c:101. +> [eva] Recording results for incr +> [eva] Done for function incr +286c355 +< [eva] tests/value/auto_loop_unroll.c:141: Frama_C_show_each_top: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:141: Frama_C_show_each_top: [3..2147483647] +302,303d370 +< [eva:alarm] tests/value/auto_loop_unroll.c:164: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +310c377 +< Frama_C_show_each_imprecise: [0..2147483647] +--- +> Frama_C_show_each_imprecise: [10..2147483647] +328,333c395,403 +< [eva] tests/value/auto_loop_unroll.c:181: Reusing old results for call to incr_g +< [eva] tests/value/auto_loop_unroll.c:181: Reusing old results for call to incr_g +< [eva:alarm] tests/value/auto_loop_unroll.c:183: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:185: +< Frama_C_show_each_imprecise: [0..2147483647] +--- +> [eva] computing for function incr_g <- complex_loops <- main. +> Called from tests/value/auto_loop_unroll.c:181. +> [eva] Recording results for incr_g +> [eva] Done for function incr_g +> [eva] computing for function incr_g <- complex_loops <- main. +> Called from tests/value/auto_loop_unroll.c:181. +> [eva] Recording results for incr_g +> [eva] Done for function incr_g +> [eva] tests/value/auto_loop_unroll.c:185: Frama_C_show_each_imprecise: [0..64] +335,338c405 +< [eva:alarm] tests/value/auto_loop_unroll.c:192: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:194: +< Frama_C_show_each_imprecise: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:194: Frama_C_show_each_imprecise: [0..9] +340,341d406 +< [eva:alarm] tests/value/auto_loop_unroll.c:200: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +345c410 +< Frama_C_show_each_imprecise: [0..2147483647] +--- +> Frama_C_show_each_imprecise: [64..2147483647] +350c415 +< [eva:loop-unroll] tests/value/auto_loop_unroll.c:211: Automatic loop unrolling. +--- +> [eva] tests/value/auto_loop_unroll.c:211: starting to merge loop iterations +352c417 +< [eva:loop-unroll] tests/value/auto_loop_unroll.c:216: Automatic loop unrolling. +--- +> [eva] tests/value/auto_loop_unroll.c:216: starting to merge loop iterations +354,359c419,435 +< [eva:loop-unroll] tests/value/auto_loop_unroll.c:222: Automatic loop unrolling. +< [eva] tests/value/auto_loop_unroll.c:225: Frama_C_show_each_0_13: [0..13] +< [eva:loop-unroll] tests/value/auto_loop_unroll.c:227: Automatic loop unrolling. +< [eva] tests/value/auto_loop_unroll.c:230: Frama_C_show_each_0_14: [0..14] +< [eva:loop-unroll] tests/value/auto_loop_unroll.c:233: Automatic loop unrolling. +< [eva] tests/value/auto_loop_unroll.c:238: Frama_C_show_each_0_15: [0..15] +--- +> [eva] tests/value/auto_loop_unroll.c:222: starting to merge loop iterations +> [eva:alarm] tests/value/auto_loop_unroll.c:222: Warning: +> signed overflow. assert -2147483648 ≤ i_0 - 1; +> [eva:alarm] tests/value/auto_loop_unroll.c:223: Warning: +> signed overflow. assert res + 1 ≤ 2147483647; +> [eva] tests/value/auto_loop_unroll.c:225: +> Frama_C_show_each_0_13: [0..2147483647] +> [eva] tests/value/auto_loop_unroll.c:227: starting to merge loop iterations +> [eva:alarm] tests/value/auto_loop_unroll.c:227: Warning: +> signed overflow. assert -2147483648 ≤ i_1 - 1; +> [eva:alarm] tests/value/auto_loop_unroll.c:228: Warning: +> signed overflow. assert res + 1 ≤ 2147483647; +> [eva] tests/value/auto_loop_unroll.c:230: +> Frama_C_show_each_0_14: [0..2147483647] +> [eva] tests/value/auto_loop_unroll.c:233: starting to merge loop iterations +> [eva] tests/value/auto_loop_unroll.c:238: +> Frama_C_show_each_0_15: [0..2147483647] +372c448,452 +< [eva:loop-unroll] tests/value/auto_loop_unroll.c:267: Automatic loop unrolling. +--- +> [eva] tests/value/auto_loop_unroll.c:267: starting to merge loop iterations +> [eva:alarm] tests/value/auto_loop_unroll.c:267: Warning: +> signed overflow. assert -2147483648 ≤ i - 1; +> [eva:alarm] tests/value/auto_loop_unroll.c:268: Warning: +> signed overflow. assert res + 1 ≤ 2147483647; +381,383c461,462 +< [eva:alarm] tests/value/auto_loop_unroll.c:287: Warning: +< signed overflow. assert i + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:292: Frama_C_show_each_top: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:292: +> Frama_C_show_each_top: [23..2147483647] +408,409d486 +< [eva:alarm] tests/value/auto_loop_unroll.c:332: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +413c490,494 +< [eva:loop-unroll] tests/value/auto_loop_unroll.c:348: Automatic loop unrolling. +--- +> [eva] tests/value/auto_loop_unroll.c:348: starting to merge loop iterations +> [eva:alarm] tests/value/auto_loop_unroll.c:348: Warning: +> signed overflow. assert -2147483648 ≤ i - 1; +> [eva:alarm] tests/value/auto_loop_unroll.c:348: Warning: +> signed overflow. assert res + 1 ≤ 2147483647; +423,424c504,507 +< [eva:loop-unroll] tests/value/auto_loop_unroll.c:379: Automatic loop unrolling. +< [eva] tests/value/auto_loop_unroll.c:383: Frama_C_show_each_1_51: [1..51] +--- +> [eva:alarm] tests/value/auto_loop_unroll.c:379: Warning: +> signed overflow. assert res + 1 ≤ 2147483647; +> [eva] tests/value/auto_loop_unroll.c:383: +> Frama_C_show_each_1_51: [1..2147483647] +434c517 +< [eva] tests/value/auto_loop_unroll.c:412: Frama_C_show_each_30: [15..45] +--- +> [eva] tests/value/auto_loop_unroll.c:412: Frama_C_show_each_30: {30} +442c525 +< j ∈ [15..45] +--- +> j ∈ [15..30] +467c550 +< i ∈ [-1..50] +--- +> i ∈ [-2147483648..50] diff --git a/tests/value/oracle_apron/backward_add_ptr.res.oracle b/tests/value/oracle_apron/backward_add_ptr.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..9cfc4f655242e4a5e4a2076eddedd13f8d46063e --- /dev/null +++ b/tests/value/oracle_apron/backward_add_ptr.res.oracle @@ -0,0 +1,28 @@ +71c71,74 +< [eva] tests/value/backward_add_ptr.c:91: Reusing old results for call to gm +--- +> [eva] computing for function gm <- main3 <- main. +> Called from tests/value/backward_add_ptr.c:91. +> [eva] Recording results for gm +> [eva] Done for function gm +93c96,99 +< [eva] tests/value/backward_add_ptr.c:110: Reusing old results for call to gm +--- +> [eva] computing for function gm <- main3 <- main. +> Called from tests/value/backward_add_ptr.c:110. +> [eva] Recording results for gm +> [eva] Done for function gm +107c113,116 +< [eva] tests/value/backward_add_ptr.c:125: Reusing old results for call to gm +--- +> [eva] computing for function gm <- main3 <- main. +> Called from tests/value/backward_add_ptr.c:125. +> [eva] Recording results for gm +> [eva] Done for function gm +160c169,172 +< [eva] tests/value/backward_add_ptr.c:160: Reusing old results for call to gm +--- +> [eva] computing for function gm <- main4 <- main. +> Called from tests/value/backward_add_ptr.c:160. +> [eva] Recording results for gm +> [eva] Done for function gm diff --git a/tests/value/oracle_apron/call_simple.res.oracle b/tests/value/oracle_apron/call_simple.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..74d12f1f99b9b00efad1a5bf4a6df343d225573b --- /dev/null +++ b/tests/value/oracle_apron/call_simple.res.oracle @@ -0,0 +1,4 @@ +28c28 +< c ∈ [--..--] +--- +> c ∈ [-2147483648..2147483646] diff --git a/tests/value/oracle_apron/deps_compose.res.oracle b/tests/value/oracle_apron/deps_compose.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..53ff902043053d4e1e937cf51bd636179de7d56b --- /dev/null +++ b/tests/value/oracle_apron/deps_compose.res.oracle @@ -0,0 +1,7 @@ +24c24,27 +< [eva] tests/value/deps_compose.i:26: Reusing old results for call to f +--- +> [eva] computing for function f <- main. +> Called from tests/value/deps_compose.i:26. +> [eva] Recording results for f +> [eva] Done for function f diff --git a/tests/value/oracle_apron/divneg.res.oracle b/tests/value/oracle_apron/divneg.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..0659695fb37c75fe814602fcd2d6abf316155eb7 --- /dev/null +++ b/tests/value/oracle_apron/divneg.res.oracle @@ -0,0 +1,4 @@ +57c57 +< vic ∈ {4294967295} +--- +> vic ∈ {-1} diff --git a/tests/value/oracle_apron/domains_function.res.oracle b/tests/value/oracle_apron/domains_function.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..95e35bbc16b3fb6b619df1e1b3ac170c7ded23e7 --- /dev/null +++ b/tests/value/oracle_apron/domains_function.res.oracle @@ -0,0 +1,7 @@ +107c107,110 +< [eva] tests/value/domains_function.c:63: Reusing old results for call to use +--- +> [eva] computing for function use <- test_propagation <- main. +> Called from tests/value/domains_function.c:63. +> [eva] Recording results for use +> [eva] Done for function use diff --git a/tests/value/oracle_apron/downcast.1.res.oracle b/tests/value/oracle_apron/downcast.1.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..da0da7ba8ec0d7c8cab89dd60e854fea4fa0081c --- /dev/null +++ b/tests/value/oracle_apron/downcast.1.res.oracle @@ -0,0 +1,4 @@ +61c61 +< [100000..2147483647], [100145..2147483647], [100145..2147483647] +--- +> [100000..2147483502], [100145..2147483647], [100145..2147483647] diff --git a/tests/value/oracle_apron/dur.res.oracle b/tests/value/oracle_apron/dur.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..eef642ec07f500457a57d22d48f9c2c45761596b --- /dev/null +++ b/tests/value/oracle_apron/dur.res.oracle @@ -0,0 +1,4 @@ +310c310 +< V6 ∈ [--..--] or UNINITIALIZED +--- +> V6 ∈ [0..32767] or UNINITIALIZED diff --git a/tests/value/oracle_apron/find_ivaltop.res.oracle b/tests/value/oracle_apron/find_ivaltop.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..78a0a85a73a96bc5f8330e16c4fd3409e09df7d0 --- /dev/null +++ b/tests/value/oracle_apron/find_ivaltop.res.oracle @@ -0,0 +1,14 @@ +32,33c32,33 +< j ∈ {0; 1; 2; 3; 4; 5; 6; 7} +< X ∈ {1; 2; 3; 4; 5; 6; 7; 8} +--- +> j ∈ {7} +> X ∈ {8} +39c39 +< \result FROM t[0..7] +--- +> \result FROM t[7] +44c44 +< t[0..7] +--- +> t[7] diff --git a/tests/value/oracle_apron/for_loops.1.res.oracle b/tests/value/oracle_apron/for_loops.1.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..2fcfc6f4a9b6b14b3f0a8bb46d613e0c4fb366df --- /dev/null +++ b/tests/value/oracle_apron/for_loops.1.res.oracle @@ -0,0 +1,10 @@ +39,41c39 +< [eva:alarm] tests/value/for_loops.c:16: Warning: +< signed overflow. assert w + 1 ≤ 2147483647; +< [eva] tests/value/for_loops.c:17: Frama_C_show_each_F: [0..2147483647] +--- +> [eva] tests/value/for_loops.c:17: Frama_C_show_each_F: [0..100] +47c45 +< j ∈ [0..2147483647] +--- +> j ∈ [0..100] diff --git a/tests/value/oracle_apron/for_loops.2.res.oracle b/tests/value/oracle_apron/for_loops.2.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..07bdb32470ea74358c823be33bb122db954e445b --- /dev/null +++ b/tests/value/oracle_apron/for_loops.2.res.oracle @@ -0,0 +1,6 @@ +37,39c37 +< [eva:alarm] tests/value/for_loops.c:42: Warning: +< signed overflow. assert w + T[j] ≤ 2147483647; +< [eva] tests/value/for_loops.c:43: Frama_C_show_each: [0..2147483647] +--- +> [eva] tests/value/for_loops.c:43: Frama_C_show_each: [0..1000] diff --git a/tests/value/oracle_apron/fptr.0.res.oracle b/tests/value/oracle_apron/fptr.0.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..b4a1d24056f4b755a18da16b744420d21a875e9a --- /dev/null +++ b/tests/value/oracle_apron/fptr.0.res.oracle @@ -0,0 +1,34 @@ +57c57,60 +< [eva] tests/value/fptr.i:9: Reusing old results for call to h +--- +> [eva] computing for function h <- f <- main. +> Called from tests/value/fptr.i:9. +> [eva] Recording results for h +> [eva] Done for function h +66,67c69,76 +< [eva] tests/value/fptr.i:9: Reusing old results for call to hh +< [eva] tests/value/fptr.i:9: Reusing old results for call to h +--- +> [eva] computing for function hh <- f <- main. +> Called from tests/value/fptr.i:9. +> [eva] Recording results for hh +> [eva] Done for function hh +> [eva] computing for function h <- f <- main. +> Called from tests/value/fptr.i:9. +> [eva] Recording results for h +> [eva] Done for function h +72c81,92 +< [eva] tests/value/fptr.i:52: Reusing old results for call to f +--- +> [eva] computing for function f <- main. +> Called from tests/value/fptr.i:52. +> [eva] computing for function hh <- f <- main. +> Called from tests/value/fptr.i:9. +> [eva] Recording results for hh +> [eva] Done for function hh +> [eva] computing for function h <- f <- main. +> Called from tests/value/fptr.i:9. +> [eva] Recording results for h +> [eva] Done for function h +> [eva] Recording results for f +> [eva] Done for function f diff --git a/tests/value/oracle_apron/fptr.1.res.oracle b/tests/value/oracle_apron/fptr.1.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..ef5c888bc42d1698012afc10855720adcdd87fa6 --- /dev/null +++ b/tests/value/oracle_apron/fptr.1.res.oracle @@ -0,0 +1,34 @@ +42c42,45 +< [eva] tests/value/fptr.i:9: Reusing old results for call to h +--- +> [eva] computing for function h <- f <- main_uninit. +> Called from tests/value/fptr.i:9. +> [eva] Recording results for h +> [eva] Done for function h +51,52c54,61 +< [eva] tests/value/fptr.i:9: Reusing old results for call to hh +< [eva] tests/value/fptr.i:9: Reusing old results for call to h +--- +> [eva] computing for function hh <- f <- main_uninit. +> Called from tests/value/fptr.i:9. +> [eva] Recording results for hh +> [eva] Done for function hh +> [eva] computing for function h <- f <- main_uninit. +> Called from tests/value/fptr.i:9. +> [eva] Recording results for h +> [eva] Done for function h +57c66,77 +< [eva] tests/value/fptr.i:68: Reusing old results for call to f +--- +> [eva] computing for function f <- main_uninit. +> Called from tests/value/fptr.i:68. +> [eva] computing for function hh <- f <- main_uninit. +> Called from tests/value/fptr.i:9. +> [eva] Recording results for hh +> [eva] Done for function hh +> [eva] computing for function h <- f <- main_uninit. +> Called from tests/value/fptr.i:9. +> [eva] Recording results for h +> [eva] Done for function h +> [eva] Recording results for f +> [eva] Done for function f diff --git a/tests/value/oracle_apron/from_call.0.res.oracle b/tests/value/oracle_apron/from_call.0.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..3d8eeb435b4d2b6eb56557ded9416d85b007927c --- /dev/null +++ b/tests/value/oracle_apron/from_call.0.res.oracle @@ -0,0 +1,34 @@ +68c68,73 +< [eva] tests/value/from_call.i:20: Reusing old results for call to g +--- +> [eva] computing for function g <- f <- main. +> Called from tests/value/from_call.i:20. +> [eva] Recording results for g +> [from] Computing for function g +> [from] Done for function g +> [eva] Done for function g +78c83,88 +< [eva] tests/value/from_call.i:20: Reusing old results for call to g +--- +> [eva] computing for function g <- f <- main. +> Called from tests/value/from_call.i:20. +> [eva] Recording results for g +> [from] Computing for function g +> [from] Done for function g +> [eva] Done for function g +149,150c159,170 +< [eva] tests/value/from_call.i:44: Reusing old results for call to return_A1 +< [eva] tests/value/from_call.i:44: Reusing old results for call to return_A2 +--- +> [eva] computing for function return_A1 <- dispatcher2 <- call_dispatcher2 <- main. +> Called from tests/value/from_call.i:44. +> [eva] Recording results for return_A1 +> [from] Computing for function return_A1 +> [from] Done for function return_A1 +> [eva] Done for function return_A1 +> [eva] computing for function return_A2 <- dispatcher2 <- call_dispatcher2 <- main. +> Called from tests/value/from_call.i:44. +> [eva] Recording results for return_A2 +> [from] Computing for function return_A2 +> [from] Done for function return_A2 +> [eva] Done for function return_A2 diff --git a/tests/value/oracle_apron/from_call.1.res.oracle b/tests/value/oracle_apron/from_call.1.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..0e9481c4b676d532f34c58eb79c6556512a6ffad --- /dev/null +++ b/tests/value/oracle_apron/from_call.1.res.oracle @@ -0,0 +1,26 @@ +64c64,67 +< [eva] tests/value/from_call.i:20: Reusing old results for call to g +--- +> [eva] computing for function g <- f <- main. +> Called from tests/value/from_call.i:20. +> [eva] Recording results for g +> [eva] Done for function g +72c75,78 +< [eva] tests/value/from_call.i:20: Reusing old results for call to g +--- +> [eva] computing for function g <- f <- main. +> Called from tests/value/from_call.i:20. +> [eva] Recording results for g +> [eva] Done for function g +123,124c129,136 +< [eva] tests/value/from_call.i:44: Reusing old results for call to return_A1 +< [eva] tests/value/from_call.i:44: Reusing old results for call to return_A2 +--- +> [eva] computing for function return_A1 <- dispatcher2 <- call_dispatcher2 <- main. +> Called from tests/value/from_call.i:44. +> [eva] Recording results for return_A1 +> [eva] Done for function return_A1 +> [eva] computing for function return_A2 <- dispatcher2 <- call_dispatcher2 <- main. +> Called from tests/value/from_call.i:44. +> [eva] Recording results for return_A2 +> [eva] Done for function return_A2 diff --git a/tests/value/oracle_apron/fun_ptr.0.res.oracle b/tests/value/oracle_apron/fun_ptr.0.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..24772453b039cd2100d2b0e65f481b2487dbcdf4 --- /dev/null +++ b/tests/value/oracle_apron/fun_ptr.0.res.oracle @@ -0,0 +1,7 @@ +39c39,42 +< [eva] tests/value/fun_ptr.i:33: Reusing old results for call to f +--- +> [eva] computing for function f <- test2 <- main. +> Called from tests/value/fun_ptr.i:33. +> [eva] Recording results for f +> [eva] Done for function f diff --git a/tests/value/oracle_apron/fun_ptr.1.res.oracle b/tests/value/oracle_apron/fun_ptr.1.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..56cb49b5839f028e46d51acaddbcea7277b47f47 --- /dev/null +++ b/tests/value/oracle_apron/fun_ptr.1.res.oracle @@ -0,0 +1,7 @@ +43c43,46 +< [eva] tests/value/fun_ptr.i:33: Reusing old results for call to f +--- +> [eva] computing for function f <- test2 <- main. +> Called from tests/value/fun_ptr.i:33. +> [eva] Recording results for f +> [eva] Done for function f diff --git a/tests/value/oracle_apron/gauges.res.oracle b/tests/value/oracle_apron/gauges.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..825a3cf2f13e3266cc6128b5bc0d17dd3b01175e --- /dev/null +++ b/tests/value/oracle_apron/gauges.res.oracle @@ -0,0 +1,77 @@ +38,39d37 +< [eva:alarm] tests/value/gauges.c:26: Warning: +< signed overflow. assert l + 1 ≤ 2147483647; +70,71d67 +< [eva:alarm] tests/value/gauges.c:48: Warning: +< signed overflow. assert l + 1 ≤ 2147483647; +113,114d108 +< [eva:alarm] tests/value/gauges.c:81: Warning: +< signed overflow. assert k + 1 ≤ 2147483647; +116,117d109 +< [eva:alarm] tests/value/gauges.c:84: Warning: +< signed overflow. assert k + 1 ≤ 2147483647; +123a116,117 +> [eva:alarm] tests/value/gauges.c:81: Warning: +> signed overflow. assert k + 1 ≤ 2147483647; +125c119,121 +< [eva] tests/value/gauges.c:86: Frama_C_show_each: [0..2147483647] +--- +> [eva:alarm] tests/value/gauges.c:84: Warning: +> signed overflow. assert k + 1 ≤ 2147483647; +> [eva] tests/value/gauges.c:86: Frama_C_show_each: [15..2147483647] +139,140d134 +< [eva:alarm] tests/value/gauges.c:99: Warning: +< signed overflow. assert c + 1 ≤ 2147483647; +187,188d180 +< [eva:alarm] tests/value/gauges.c:140: Warning: +< signed overflow. assert j + 1 ≤ 2147483647; +303,304d294 +< [eva:alarm] tests/value/gauges.c:220: Warning: +< signed overflow. assert -2147483648 ≤ n - 1; +319,320d308 +< [eva:alarm] tests/value/gauges.c:240: Warning: +< signed overflow. assert j + 1 ≤ 2147483647; +322c310 +< Frama_C_show_each: {45; 46; 47; 48; 49; 50; 51}, [0..2147483647] +--- +> Frama_C_show_each: {45; 46; 47; 48; 49; 50; 51}, [0..46] +328,329d315 +< [eva:alarm] tests/value/gauges.c:251: Warning: +< signed overflow. assert j + 1 ≤ 2147483647; +331c317 +< Frama_C_show_each: {48; 49; 50; 51; 52; 53; 54}, [0..2147483647] +--- +> Frama_C_show_each: {48; 49; 50; 51; 52; 53; 54}, [0..49] +337,338d322 +< [eva:alarm] tests/value/gauges.c:263: Warning: +< signed overflow. assert j + 1 ≤ 2147483647; +340c324 +< Frama_C_show_each: {-59; -58; -57; -56; -55; -54; -53}, [0..2147483647] +--- +> Frama_C_show_each: {-59; -58; -57; -56; -55; -54; -53}, [0..65] +346,347d329 +< [eva:alarm] tests/value/gauges.c:274: Warning: +< signed overflow. assert j + 1 ≤ 2147483647; +349c331 +< Frama_C_show_each: {-64; -63; -62; -61; -60; -59; -58}, [0..2147483647] +--- +> Frama_C_show_each: {-64; -63; -62; -61; -60; -59; -58}, [0..70] +357,358d338 +< [eva:alarm] tests/value/gauges.c:293: Warning: +< signed overflow. assert j + 1 ≤ 2147483647; +360c340 +< Frama_C_show_each: {-593; -592; -591; -590; -589; -588}, [0..2147483647] +--- +> Frama_C_show_each: {-593; -592; -591; -590; -589; -588}, [0..598] +802c782 +< n ∈ [-2147483648..99] +--- +> n ∈ [-2147483547..99] +805c785 +< i ∈ [0..2147483647] +--- +> i ∈ [10..2147483647] +841c821 +< i ∈ [0..2147483647] +--- +> i ∈ [0..21] diff --git a/tests/value/oracle_apron/ghost.res.oracle b/tests/value/oracle_apron/ghost.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..42a7812e6b5a26ac707cc80b1e8417fa8c0adbc4 --- /dev/null +++ b/tests/value/oracle_apron/ghost.res.oracle @@ -0,0 +1,3 @@ +10,11d9 +< [eva:alarm] tests/value/ghost.i:17: Warning: +< signed overflow. assert G + 1 ≤ 2147483647; diff --git a/tests/value/oracle_apron/hierarchical_convergence.res.oracle b/tests/value/oracle_apron/hierarchical_convergence.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..5cdb7e6916303fb4d6186bde4586b19fa7a9bdc4 --- /dev/null +++ b/tests/value/oracle_apron/hierarchical_convergence.res.oracle @@ -0,0 +1,4 @@ +40c40 +< j ∈ [0..2147483647] +--- +> j ∈ [0..99] diff --git a/tests/value/oracle_apron/initialized_copy.1.res.oracle b/tests/value/oracle_apron/initialized_copy.1.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..56eb883de0b0f6e180cb58988a8bbb59da0a24ed --- /dev/null +++ b/tests/value/oracle_apron/initialized_copy.1.res.oracle @@ -0,0 +1,14 @@ +24,27c24 +< c_0[bits 0 to 7] ∈ {1} or UNINITIALIZED +< [bits 8 to 15] ∈ {2} +< [bits 16 to 23] ∈ {3} +< [bits 24 to 31] ∈ {4} +--- +> c_0 ∈ {67305985} or UNINITIALIZED +29,32c26 +< a_2[bits 0 to 7] ∈ {1} or UNINITIALIZED +< [bits 8 to 15] ∈ {2} +< [bits 16 to 23] ∈ {3} +< [bits 24 to 31] ∈ {4} +--- +> a_2 ∈ {67305985} or UNINITIALIZED diff --git a/tests/value/oracle_apron/invalid_loc_return.res.oracle b/tests/value/oracle_apron/invalid_loc_return.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..765f50eb8f5d23405bbe8401010aa80aac28b5cc --- /dev/null +++ b/tests/value/oracle_apron/invalid_loc_return.res.oracle @@ -0,0 +1,7 @@ +70c70,73 +< [eva] tests/value/invalid_loc_return.i:17: Reusing old results for call to foo +--- +> [eva] computing for function foo <- main <- main2. +> Called from tests/value/invalid_loc_return.i:17. +> [eva] Recording results for foo +> [eva] Done for function foo diff --git a/tests/value/oracle_apron/local.res.oracle b/tests/value/oracle_apron/local.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..186171b423caa117ac5250e76bce53370a79675a --- /dev/null +++ b/tests/value/oracle_apron/local.res.oracle @@ -0,0 +1,7 @@ +22c22,25 +< [eva] tests/value/local.i:13: Reusing old results for call to f +--- +> [eva] computing for function f <- g <- main. +> Called from tests/value/local.i:13. +> [eva] Recording results for f +> [eva] Done for function f diff --git a/tests/value/oracle_apron/local_slevel.res.oracle b/tests/value/oracle_apron/local_slevel.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..3329f131e3c9ff467f4c369b90394fcfd7cca6e9 --- /dev/null +++ b/tests/value/oracle_apron/local_slevel.res.oracle @@ -0,0 +1,72 @@ +13,15c13,15 +< [eva] tests/value/local_slevel.i:18: Frama_C_show_each: {1}, {1}, {0; 1} +< [eva] tests/value/local_slevel.i:18: Frama_C_show_each: {-1}, {0}, {0; 1} +< [eva] tests/value/local_slevel.i:18: Frama_C_show_each: {1}, {1}, {0; 1; 2} +--- +> [eva] tests/value/local_slevel.i:18: Frama_C_show_each: {1}, {1}, {1} +> [eva] tests/value/local_slevel.i:18: Frama_C_show_each: {-1}, {0}, {0} +> [eva] tests/value/local_slevel.i:18: Frama_C_show_each: {1}, {1}, {1} +18c18 +< Frama_C_show_each: {1}, [1..79],1%2, {0; 1; 2; 3} +--- +> Frama_C_show_each: {1}, [1..79],1%2, {1; 2; 3} +22c22 +< Frama_C_show_each: {1}, [1..79],1%2, {0; 1; 2; 3; 4} +--- +> Frama_C_show_each: {1}, [1..79],1%2, {1; 2; 3; 4} +26,34c26 +< Frama_C_show_each: {1}, [1..79],1%2, [0..2147483647] +< [eva] tests/value/local_slevel.i:18: +< Frama_C_show_each: {-1}, [0..78],0%2, [0..2147483647] +< [eva] tests/value/local_slevel.i:18: +< Frama_C_show_each: {1}, [1..79],1%2, [0..2147483648] +< [eva] tests/value/local_slevel.i:18: +< Frama_C_show_each: {-1}, [0..78],0%2, [0..2147483648] +< [eva] tests/value/local_slevel.i:18: +< Frama_C_show_each: {1}, [1..79],1%2, [0..4294967295] +--- +> Frama_C_show_each: {1}, [1..79],1%2, [1..79] +36c28 +< Frama_C_show_each: {-1}, [0..78],0%2, [0..4294967295] +--- +> Frama_C_show_each: {-1}, [0..78],0%2, [0..78] +152c144 +< r ∈ [--..--] +--- +> r ∈ [0..2147483647] +393,395c385,387 +< [eva] tests/value/local_slevel.i:18: Frama_C_show_each: {1}, {1}, {0; 1} +< [eva] tests/value/local_slevel.i:18: Frama_C_show_each: {-1}, {0}, {0; 1} +< [eva] tests/value/local_slevel.i:18: Frama_C_show_each: {1}, {1}, {0; 1; 2} +--- +> [eva] tests/value/local_slevel.i:18: Frama_C_show_each: {1}, {1}, {1} +> [eva] tests/value/local_slevel.i:18: Frama_C_show_each: {-1}, {0}, {0} +> [eva] tests/value/local_slevel.i:18: Frama_C_show_each: {1}, {1}, {1} +398c390 +< Frama_C_show_each: {1}, [1..79],1%2, {0; 1; 2; 3} +--- +> Frama_C_show_each: {1}, [1..79],1%2, {1; 2; 3} +402c394 +< Frama_C_show_each: {1}, [1..79],1%2, {0; 1; 2; 3; 4} +--- +> Frama_C_show_each: {1}, [1..79],1%2, {1; 2; 3; 4} +406,414c398 +< Frama_C_show_each: {1}, [1..79],1%2, [0..2147483647] +< [eva] tests/value/local_slevel.i:18: +< Frama_C_show_each: {-1}, [0..78],0%2, [0..2147483647] +< [eva] tests/value/local_slevel.i:18: +< Frama_C_show_each: {1}, [1..79],1%2, [0..2147483648] +< [eva] tests/value/local_slevel.i:18: +< Frama_C_show_each: {-1}, [0..78],0%2, [0..2147483648] +< [eva] tests/value/local_slevel.i:18: +< Frama_C_show_each: {1}, [1..79],1%2, [0..4294967295] +--- +> Frama_C_show_each: {1}, [1..79],1%2, [1..79] +416c400 +< Frama_C_show_each: {-1}, [0..78],0%2, [0..4294967295] +--- +> Frama_C_show_each: {-1}, [0..78],0%2, [0..78] +532c516 +< r ∈ [--..--] +--- +> r ∈ [0..2147483647] diff --git a/tests/value/oracle_apron/logicdeps.res.oracle b/tests/value/oracle_apron/logicdeps.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..4879c530f7e9cedc73eec56e84b23b4e91a828ec --- /dev/null +++ b/tests/value/oracle_apron/logicdeps.res.oracle @@ -0,0 +1,24 @@ +31c31,39 +< [eva] tests/value/logicdeps.i:25: Reusing old results for call to g +--- +> [eva] computing for function g <- main. +> Called from tests/value/logicdeps.i:25. +> [eva] computing for function f <- g <- main. +> Called from tests/value/logicdeps.i:13. +> [eva] Done for function f +> [eva] Recording results for g +> [from] Computing for function g +> [from] Done for function g +> [eva] Done for function g +51c59,67 +< [eva] tests/value/logicdeps.i:32: Reusing old results for call to g +--- +> [eva] computing for function g <- main. +> Called from tests/value/logicdeps.i:32. +> [eva] computing for function f <- g <- main. +> Called from tests/value/logicdeps.i:13. +> [eva] Done for function f +> [eva] Recording results for g +> [from] Computing for function g +> [from] Done for function g +> [eva] Done for function g diff --git a/tests/value/oracle_apron/long.res.oracle b/tests/value/oracle_apron/long.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..fdb82bba58bf7fc73e93ffa1d4f3b71a9466782e --- /dev/null +++ b/tests/value/oracle_apron/long.res.oracle @@ -0,0 +1,17 @@ +15,17c15,26 +< [eva] tests/value/long.i:12: Reusing old results for call to f +< [eva] tests/value/long.i:12: Reusing old results for call to f +< [eva] tests/value/long.i:12: Reusing old results for call to f +--- +> [eva] computing for function f <- main. +> Called from tests/value/long.i:12. +> [eva] Recording results for f +> [eva] Done for function f +> [eva] computing for function f <- main. +> Called from tests/value/long.i:12. +> [eva] Recording results for f +> [eva] Done for function f +> [eva] computing for function f <- main. +> Called from tests/value/long.i:12. +> [eva] Recording results for f +> [eva] Done for function f diff --git a/tests/value/oracle_apron/long_const.0.res.oracle b/tests/value/oracle_apron/long_const.0.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..9bc5f2d7083802aa0ac216e8eaeca4c1be79eeb8 --- /dev/null +++ b/tests/value/oracle_apron/long_const.0.res.oracle @@ -0,0 +1,7 @@ +19c19,22 +< [eva] tests/value/long_const.i:25: Reusing old results for call to LL_ABS +--- +> [eva] computing for function LL_ABS <- div64 <- main. +> Called from tests/value/long_const.i:25. +> [eva] Recording results for LL_ABS +> [eva] Done for function LL_ABS diff --git a/tests/value/oracle_apron/long_const.1.res.oracle b/tests/value/oracle_apron/long_const.1.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..9bc5f2d7083802aa0ac216e8eaeca4c1be79eeb8 --- /dev/null +++ b/tests/value/oracle_apron/long_const.1.res.oracle @@ -0,0 +1,7 @@ +19c19,22 +< [eva] tests/value/long_const.i:25: Reusing old results for call to LL_ABS +--- +> [eva] computing for function LL_ABS <- div64 <- main. +> Called from tests/value/long_const.i:25. +> [eva] Recording results for LL_ABS +> [eva] Done for function LL_ABS diff --git a/tests/value/oracle_apron/loop_wvar.1.res.oracle b/tests/value/oracle_apron/loop_wvar.1.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..0c4aca8c1c61882da6109c316bd9371ec74c9e96 --- /dev/null +++ b/tests/value/oracle_apron/loop_wvar.1.res.oracle @@ -0,0 +1,18 @@ +12,13d11 +< [eva:alarm] tests/value/loop_wvar.i:57: Warning: +< signed overflow. assert next + 1 ≤ 2147483647; +27,28c25 +< [eva] tests/value/loop_wvar.i:71: Frama_C_show_each: [0..9], [0..17], [0..11] +< [eva] tests/value/loop_wvar.i:71: Frama_C_show_each: [0..9], [0..18], [0..12] +--- +> [eva] tests/value/loop_wvar.i:71: Frama_C_show_each: [0..9], [0..9], [0..9] +37,38c34,35 +< j ∈ [0..18] +< k ∈ [0..12] +--- +> j ∈ [0..17] +> k ∈ [0..11] +41c38 +< next ∈ [0..2147483647] +--- +> next ∈ [0..25] diff --git a/tests/value/oracle_apron/loopinv.res.oracle b/tests/value/oracle_apron/loopinv.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..8e4e968968ea74c0a60914628ebec36d9b6f3bec --- /dev/null +++ b/tests/value/oracle_apron/loopinv.res.oracle @@ -0,0 +1,30 @@ +51,53c51 +< [eva:alarm] tests/value/loopinv.c:45: Warning: +< signed overflow. assert j + 1 ≤ 2147483647; +< [eva] tests/value/loopinv.c:46: Frama_C_show_each: [0..99], [0..2147483647] +--- +> [eva] tests/value/loopinv.c:46: Frama_C_show_each: [0..99], [0..100] +72,74c70 +< [eva:alarm] tests/value/loopinv.c:69: Warning: +< loop invariant got status unknown. +< [eva] tests/value/loopinv.c:71: Frama_C_show_each: {0; 2; 4; 6; 8}, [1..107] +--- +> [eva] tests/value/loopinv.c:71: Frama_C_show_each: {0; 2; 4; 6; 8}, [1..106] +79,80c75,76 +< [eva:alarm] tests/value/loopinv.c:73: Warning: +< signed overflow. assert i + 1 ≤ 2147483647; +--- +> [eva:alarm] tests/value/loopinv.c:69: Warning: +> loop invariant got status unknown. +157,158d152 +< [ - ] Assertion 'Eva,signed_overflow' (file tests/value/loopinv.c, line 45) +< tried with Eva. +175,176d168 +< [ - ] Assertion 'Eva,signed_overflow' (file tests/value/loopinv.c, line 73) +< tried with Eva. +182,183c174,175 +< 7 To be validated +< 16 Total +--- +> 5 To be validated +> 14 Total diff --git a/tests/value/oracle_apron/memexec.res.oracle b/tests/value/oracle_apron/memexec.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..1c00f6524f1de1838e0b23c8a26c697b19a30f96 --- /dev/null +++ b/tests/value/oracle_apron/memexec.res.oracle @@ -0,0 +1,53 @@ +27,32c27,50 +< [eva] tests/value/memexec.c:13: Reusing old results for call to f11 +< [eva] tests/value/memexec.c:14: Reusing old results for call to f11 +< [eva] tests/value/memexec.c:16: Reusing old results for call to f11 +< [eva] tests/value/memexec.c:18: Reusing old results for call to f11 +< [eva] tests/value/memexec.c:20: Reusing old results for call to f11 +< [eva] tests/value/memexec.c:21: Reusing old results for call to f11 +--- +> [eva] computing for function f11 <- f1 <- main. +> Called from tests/value/memexec.c:13. +> [eva] Recording results for f11 +> [eva] Done for function f11 +> [eva] computing for function f11 <- f1 <- main. +> Called from tests/value/memexec.c:14. +> [eva] Recording results for f11 +> [eva] Done for function f11 +> [eva] computing for function f11 <- f1 <- main. +> Called from tests/value/memexec.c:16. +> [eva] Recording results for f11 +> [eva] Done for function f11 +> [eva] computing for function f11 <- f1 <- main. +> Called from tests/value/memexec.c:18. +> [eva] Recording results for f11 +> [eva] Done for function f11 +> [eva] computing for function f11 <- f1 <- main. +> Called from tests/value/memexec.c:20. +> [eva] Recording results for f11 +> [eva] Done for function f11 +> [eva] computing for function f11 <- f1 <- main. +> Called from tests/value/memexec.c:21. +> [eva] Recording results for f11 +> [eva] Done for function f11 +106c124,127 +< [eva] tests/value/memexec.c:113: Reusing old results for call to f5_aux +--- +> [eva] computing for function f5_aux <- f5 <- main. +> Called from tests/value/memexec.c:113. +> [eva] Recording results for f5_aux +> [eva] Done for function f5_aux +129c150,153 +< [eva] tests/value/memexec.c:137: Reusing old results for call to f7_1 +--- +> [eva] computing for function f7_1 <- f7 <- main. +> Called from tests/value/memexec.c:137. +> [eva] Recording results for f7_1 +> [eva] Done for function f7_1 +144c168,171 +< [eva] tests/value/memexec.c:150: Reusing old results for call to f8_1 +--- +> [eva] computing for function f8_1 <- f8 <- main. +> Called from tests/value/memexec.c:150. +> [eva] Recording results for f8_1 +> [eva] Done for function f8_1 diff --git a/tests/value/oracle_apron/modulo.res.oracle b/tests/value/oracle_apron/modulo.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..259659e1d2da747f512c0ae26cc36ad63584e2fb --- /dev/null +++ b/tests/value/oracle_apron/modulo.res.oracle @@ -0,0 +1,53 @@ +40a41,64 +> [eva] tests/value/modulo.i:41: Frama_C_show_each_1: [-10..-1], [-9..-1], [-8..0] +> [eva] tests/value/modulo.i:41: Frama_C_show_each_1: [-10..-1], [1..9], [-8..0] +> [eva] tests/value/modulo.i:41: Frama_C_show_each_1: [1..10], [-9..-1], [0..8] +> [eva] tests/value/modulo.i:41: Frama_C_show_each_1: [1..10], [1..9], [0..8] +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: +> [1..9], {1; 2; 3; 4; 5; 6; 7; 8}, {0; 1; 2; 3; 4; 5; 6; 7} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: +> [-9..-1], {1; 2; 3; 4; 5; 6; 7; 8}, {-7; -6; -5; -4; -3; -2; -1; 0} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: +> [1..9], {-8; -7; -6; -5; -4; -3; -2; -1}, {0; 1; 2; 3; 4; 5; 6; 7} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: +> [-9..-1], {-8; -7; -6; -5; -4; -3; -2; -1}, {-7; -6; -5; -4; -3; -2; -1; 0} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: +> {-8; -7; -6; -5; -4; -3; -2; -1}, +> {1; 2; 3; 4; 5; 6; 7}, +> {-6; -5; -4; -3; -2; -1; 0} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: +> {1; 2; 3; 4; 5; 6; 7; 8}, {-7; -6; -5; -4; -3; -2; -1}, {0; 1; 2; 3; 4; 5; 6} +50a75,98 +> [eva] tests/value/modulo.i:53: Frama_C_show_each_2: [-10..-1], [1..9], [-8..0] +> [eva] tests/value/modulo.i:53: Frama_C_show_each_2: [-10..-1], [-9..-1], [-8..0] +> [eva] tests/value/modulo.i:53: Frama_C_show_each_2: [1..10], [1..9], [0..8] +> [eva] tests/value/modulo.i:53: Frama_C_show_each_2: [1..10], [-9..-1], [0..8] +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: +> [-9..-1], {1; 2; 3; 4; 5; 6; 7; 8}, {-7; -6; -5; -4; -3; -2; -1; 0} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: +> [1..9], {1; 2; 3; 4; 5; 6; 7; 8}, {0; 1; 2; 3; 4; 5; 6; 7} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: +> [-9..-1], {-8; -7; -6; -5; -4; -3; -2; -1}, {-7; -6; -5; -4; -3; -2; -1; 0} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: +> [1..9], {-8; -7; -6; -5; -4; -3; -2; -1}, {0; 1; 2; 3; 4; 5; 6; 7} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: +> {-8; -7; -6; -5; -4; -3; -2; -1}, +> {1; 2; 3; 4; 5; 6; 7}, +> {-6; -5; -4; -3; -2; -1; 0} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: +> {1; 2; 3; 4; 5; 6; 7; 8}, {-7; -6; -5; -4; -3; -2; -1}, {0; 1; 2; 3; 4; 5; 6} +60a109,110 +> [eva] tests/value/modulo.i:64: Frama_C_show_each_3: [-10..10], [-9..9], [-8..8] +> [eva] tests/value/modulo.i:64: Frama_C_show_each_3: [-9..9], [-8..8], [-7..7] diff --git a/tests/value/oracle_apron/octagons.res.oracle b/tests/value/oracle_apron/octagons.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..b2debaf8695f5a2c207525d7fdc6463d64bce544 --- /dev/null +++ b/tests/value/oracle_apron/octagons.res.oracle @@ -0,0 +1,10 @@ +284,287c284,287 +< a ∈ [-1024..2147483647] +< b ∈ [-1023..2147483647] +< c ∈ [-1023..2147483647] +< d ∈ [-1032..2147483647] +--- +> a ∈ [-603..2147483646] +> b ∈ [-602..2147483647] +> c ∈ [-602..1446] +> d ∈ [-611..2147483647] diff --git a/tests/value/oracle_apron/offsetmap.0.res.oracle b/tests/value/oracle_apron/offsetmap.0.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..b718988fd802984280c4771c59c8b41e0e5ecdad --- /dev/null +++ b/tests/value/oracle_apron/offsetmap.0.res.oracle @@ -0,0 +1,20 @@ +64,65c64 +< a[bits 0 to 7] ∈ {1; 6} +< [bits 8 to 31]# ∈ {6}%32, bits 8 to 31 +--- +> a ∈ {1; 6} +67,68c66 +< a7[bits 0 to 7] ∈ {1} +< [bits 8 to 31]# ∈ {97}%32, bits 8 to 31 +--- +> a7 ∈ {1} +108,109c106 +< a[bits 0 to 7] ∈ {1; 6} +< [bits 8 to 31]# ∈ {6}%32, bits 8 to 31 +--- +> a ∈ {1; 6} +111,112c108 +< a7[bits 0 to 7] ∈ {1} +< [bits 8 to 31]# ∈ {97}%32, bits 8 to 31 +--- +> a7 ∈ {1} diff --git a/tests/value/oracle_apron/offsetmap.1.res.oracle b/tests/value/oracle_apron/offsetmap.1.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..0ee129ee029e2c43453bd395a1a897d6f865e4ba --- /dev/null +++ b/tests/value/oracle_apron/offsetmap.1.res.oracle @@ -0,0 +1,22 @@ +64,69c64,66 +< a[bits 0 to 7] ∈ {1; 6} +< [bits 8 to 31]# ∈ {6}%32, bits 8 to 31 +< b[bits 0 to 7] ∈ {0; 1} +< [bits 8 to 31]# ∈ {0; 6}%32, bits 8 to 31 +< a7[bits 0 to 7] ∈ {1} +< [bits 8 to 31]# ∈ {97}%32, bits 8 to 31 +--- +> a ∈ {1; 6} +> b ∈ {0; 1} +> a7 ∈ {1} +109,114c106,108 +< a[bits 0 to 7] ∈ {1; 6} +< [bits 8 to 31]# ∈ {6}%32, bits 8 to 31 +< b[bits 0 to 7] ∈ {0; 1} +< [bits 8 to 31]# ∈ {0; 6}%32, bits 8 to 31 +< a7[bits 0 to 7] ∈ {1} +< [bits 8 to 31]# ∈ {97}%32, bits 8 to 31 +--- +> a ∈ {1; 6} +> b ∈ {0; 1} +> a7 ∈ {1} diff --git a/tests/value/oracle_apron/partitioning-annots.4.res.oracle b/tests/value/oracle_apron/partitioning-annots.4.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..e8c8ec067fbaeaf4919872ca4b7ef6cea71ca8a7 --- /dev/null +++ b/tests/value/oracle_apron/partitioning-annots.4.res.oracle @@ -0,0 +1,3 @@ +15,16d14 +< [eva:alarm] tests/value/partitioning-annots.c:138: Warning: +< division by zero. assert j ≢ 0; diff --git a/tests/value/oracle_apron/precise_locations.res.oracle b/tests/value/oracle_apron/precise_locations.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..fad75e80f0d40493c17189020828c02a3ab6a5cd --- /dev/null +++ b/tests/value/oracle_apron/precise_locations.res.oracle @@ -0,0 +1,106 @@ +32,35c32,47 +< [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct +< [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct +< [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct +< [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct +--- +> [eva] computing for function ct <- main. +> Called from tests/value/precise_locations.i:39. +> [eva] Recording results for ct +> [eva] Done for function ct +> [eva] computing for function ct <- main. +> Called from tests/value/precise_locations.i:39. +> [eva] Recording results for ct +> [eva] Done for function ct +> [eva] computing for function ct <- main. +> Called from tests/value/precise_locations.i:39. +> [eva] Recording results for ct +> [eva] Done for function ct +> [eva] computing for function ct <- main. +> Called from tests/value/precise_locations.i:39. +> [eva] Recording results for ct +> [eva] Done for function ct +37,42c49,72 +< [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct +< [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct +< [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct +< [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct +< [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct +< [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct +--- +> [eva] computing for function ct <- main. +> Called from tests/value/precise_locations.i:39. +> [eva] Recording results for ct +> [eva] Done for function ct +> [eva] computing for function ct <- main. +> Called from tests/value/precise_locations.i:39. +> [eva] Recording results for ct +> [eva] Done for function ct +> [eva] computing for function ct <- main. +> Called from tests/value/precise_locations.i:39. +> [eva] Recording results for ct +> [eva] Done for function ct +> [eva] computing for function ct <- main. +> Called from tests/value/precise_locations.i:39. +> [eva] Recording results for ct +> [eva] Done for function ct +> [eva] computing for function ct <- main. +> Called from tests/value/precise_locations.i:39. +> [eva] Recording results for ct +> [eva] Done for function ct +> [eva] computing for function ct <- main. +> Called from tests/value/precise_locations.i:39. +> [eva] Recording results for ct +> [eva] Done for function ct +520,529c550,589 +< [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct +< [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct +< [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct +< [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct +< [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct +< [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct +< [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct +< [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct +< [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct +< [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct +--- +> [eva] computing for function ct <- main. +> Called from tests/value/precise_locations.i:39. +> [eva] Recording results for ct +> [eva] Done for function ct +> [eva] computing for function ct <- main. +> Called from tests/value/precise_locations.i:39. +> [eva] Recording results for ct +> [eva] Done for function ct +> [eva] computing for function ct <- main. +> Called from tests/value/precise_locations.i:39. +> [eva] Recording results for ct +> [eva] Done for function ct +> [eva] computing for function ct <- main. +> Called from tests/value/precise_locations.i:39. +> [eva] Recording results for ct +> [eva] Done for function ct +> [eva] computing for function ct <- main. +> Called from tests/value/precise_locations.i:39. +> [eva] Recording results for ct +> [eva] Done for function ct +> [eva] computing for function ct <- main. +> Called from tests/value/precise_locations.i:39. +> [eva] Recording results for ct +> [eva] Done for function ct +> [eva] computing for function ct <- main. +> Called from tests/value/precise_locations.i:39. +> [eva] Recording results for ct +> [eva] Done for function ct +> [eva] computing for function ct <- main. +> Called from tests/value/precise_locations.i:39. +> [eva] Recording results for ct +> [eva] Done for function ct +> [eva] computing for function ct <- main. +> Called from tests/value/precise_locations.i:39. +> [eva] Recording results for ct +> [eva] Done for function ct +> [eva] computing for function ct <- main. +> Called from tests/value/precise_locations.i:39. +> [eva] Recording results for ct +> [eva] Done for function ct diff --git a/tests/value/oracle_apron/precond.res.oracle b/tests/value/oracle_apron/precond.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..e9e5aa280befeb765512ad4f2043f043cb2d00df --- /dev/null +++ b/tests/value/oracle_apron/precond.res.oracle @@ -0,0 +1,8 @@ +49a50,51 +> [eva] computing for function f <- main. +> Called from tests/value/precond.c:39. +53c55,56 +< [eva] tests/value/precond.c:39: Reusing old results for call to f +--- +> [eva] Recording results for f +> [eva] Done for function f diff --git a/tests/value/oracle_apron/ptr_relation.1.res.oracle b/tests/value/oracle_apron/ptr_relation.1.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..2b931b79b7eb642356a750a916774a05631d63bb --- /dev/null +++ b/tests/value/oracle_apron/ptr_relation.1.res.oracle @@ -0,0 +1,4 @@ +24c24 +< j ∈ {-1; 0; 1} +--- +> j ∈ {0} diff --git a/tests/value/oracle_apron/raz.res.oracle b/tests/value/oracle_apron/raz.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..e135ecf403947eb07fe9af8c42e3577ec011e672 --- /dev/null +++ b/tests/value/oracle_apron/raz.res.oracle @@ -0,0 +1,4 @@ +14c14 +< i ∈ [0..2147483647] +--- +> i ∈ [0..10] diff --git a/tests/value/oracle_apron/reevaluate_alarms.res.oracle b/tests/value/oracle_apron/reevaluate_alarms.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..9c93050ef018ef8c77a6fc249da627c8c271d34c --- /dev/null +++ b/tests/value/oracle_apron/reevaluate_alarms.res.oracle @@ -0,0 +1,4 @@ +61c61 +< S ∈ [0..2147483647] +--- +> S ∈ [4..2147483647] diff --git a/tests/value/oracle_apron/relation_reduction.res.oracle b/tests/value/oracle_apron/relation_reduction.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..9bfeb567c0d6833ff86e580dae9006b064846079 --- /dev/null +++ b/tests/value/oracle_apron/relation_reduction.res.oracle @@ -0,0 +1,15 @@ +24,27d23 +< [eva:alarm] tests/value/relation_reduction.i:20: Warning: +< accessing out of bounds index. assert 0 ≤ y; +< [eva:alarm] tests/value/relation_reduction.i:20: Warning: +< accessing out of bounds index. assert y < 9; +34,37c30,33 +< R1 ∈ [-2147483648..2147483637] +< R2 ∈ [-2147483638..2147483647] +< R3 ∈ [--..--] +< R4 ∈ {0; 1; 2; 3; 4; 5} +--- +> R1 ∈ {0; 2} +> R2 ∈ {0; 12} +> R3 ∈ {0; 7} +> R4 ∈ {0; 2} diff --git a/tests/value/oracle_apron/relation_shift.res.oracle b/tests/value/oracle_apron/relation_shift.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..16d854a8b29cf9462b051aad9bad76f83c76e705 --- /dev/null +++ b/tests/value/oracle_apron/relation_shift.res.oracle @@ -0,0 +1,28 @@ +31,32c31,32 +< r1 ∈ [--..--] +< r2 ∈ [--..--] +--- +> r1 ∈ {2} +> r2 ∈ {7} +35,37c35,37 +< x ∈ [-2147483647..2147483647] +< y ∈ [-2147483648..2147483646] +< z ∈ [-2147483642..2147483647] +--- +> x ∈ [-2147483646..2147483642] +> y ∈ [-2147483648..2147483640] +> z ∈ [-2147483641..2147483647] +49,50c49,50 +< r1 ∈ [--..--] +< r2 ∈ [--..--] +--- +> r1 ∈ {2} +> r2 ∈ {7} +53,55c53,55 +< x ∈ [-2147483647..2147483647] +< y ∈ [-2147483648..2147483646] +< z ∈ [-2147483642..2147483647] +--- +> x ∈ [-2147483646..2147483642] +> y ∈ [-2147483648..2147483640] +> z ∈ [-2147483641..2147483647] diff --git a/tests/value/oracle_apron/relations.res.oracle b/tests/value/oracle_apron/relations.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..74aca336ba48970545ced8311cee9097bd21f1ef --- /dev/null +++ b/tests/value/oracle_apron/relations.res.oracle @@ -0,0 +1,7 @@ +80,81c80,82 +< e ∈ [--..--] +< f ∈ [--..--] +--- +> e ∈ {1} +> f[bits 0 to 7] ∈ {1; 4} +> [bits 8 to 31] ∈ [--..--] diff --git a/tests/value/oracle_apron/relations2.res.oracle b/tests/value/oracle_apron/relations2.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..01e8d4b6749042abe69d3c06ea00158564f343f2 --- /dev/null +++ b/tests/value/oracle_apron/relations2.res.oracle @@ -0,0 +1,20 @@ +25c25 +< len ∈ [--..--] +--- +> len ∈ [0..1023] +36,37c36 +< [eva] tests/value/relations2.i:17: +< Frama_C_show_each_end: [0..4294967295], [0..64] +--- +> [eva] tests/value/relations2.i:17: Frama_C_show_each_end: [0..1023], [0..64] +69,71d67 +< [eva:alarm] tests/value/relations2.i:34: Warning: +< accessing out of bounds index. +< assert (unsigned int)(i - (unsigned int)(t + 1)) < 514; +124,125d119 +< [eva:alarm] tests/value/relations2.i:35: Warning: +< signed overflow. assert s + b3 ≤ 2147483647; +140c134 +< len ∈ [--..--] +--- +> len ∈ [0..1023] diff --git a/tests/value/oracle_apron/return.res.oracle b/tests/value/oracle_apron/return.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..9285012971e62acf39f2a9620f5188393b5edb40 --- /dev/null +++ b/tests/value/oracle_apron/return.res.oracle @@ -0,0 +1,7 @@ +12c12,15 +< [eva] tests/value/return.i:19: Reusing old results for call to f +--- +> [eva] computing for function f <- main. +> Called from tests/value/return.i:19. +> [eva] Recording results for f +> [eva] Done for function f diff --git a/tests/value/oracle_apron/static.res.oracle b/tests/value/oracle_apron/static.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..232c8244c68fff369a2935e82bfda616df0e6888 --- /dev/null +++ b/tests/value/oracle_apron/static.res.oracle @@ -0,0 +1,7 @@ +22c22,25 +< [eva] tests/value/static.i:20: Reusing old results for call to f +--- +> [eva] computing for function f <- main. +> Called from tests/value/static.i:20. +> [eva] Recording results for f +> [eva] Done for function f diff --git a/tests/value/oracle_apron/struct2.res.oracle b/tests/value/oracle_apron/struct2.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..05366bda0b93542585afa553b8faf05b2837e67a --- /dev/null +++ b/tests/value/oracle_apron/struct2.res.oracle @@ -0,0 +1,7 @@ +81,84d80 +< accessing out of bounds index. assert 0 ≤ (int)(i + j); +< [eva:alarm] tests/value/struct2.i:185: Warning: +< accessing out of bounds index. assert (int)(i + j) < 2; +< [eva:alarm] tests/value/struct2.i:185: Warning: +106d101 +< [scope:rm_asserts] removing 2 assertion(s) diff --git a/tests/value/oracle_apron/test.0.res.oracle b/tests/value/oracle_apron/test.0.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..f66a4ffbc827dd29a6aff34a24e9810cd6ef38a9 --- /dev/null +++ b/tests/value/oracle_apron/test.0.res.oracle @@ -0,0 +1,4 @@ +29c29 +< j ∈ [-1073741822..1] +--- +> j ∈ {-1; 0; 1} diff --git a/tests/value/oracle_apron/undefined_sequence.1.res.oracle b/tests/value/oracle_apron/undefined_sequence.1.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..26f6ea18342861747aad8601963b5b7bb6980529 --- /dev/null +++ b/tests/value/oracle_apron/undefined_sequence.1.res.oracle @@ -0,0 +1,7 @@ +33c33,36 +< [eva] tests/value/undefined_sequence.i:54: Reusing old results for call to g +--- +> [eva] computing for function g <- main. +> Called from tests/value/undefined_sequence.i:54. +> [eva] Recording results for g +> [eva] Done for function g diff --git a/tests/value/oracle_apron/unroll.res.oracle b/tests/value/oracle_apron/unroll.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..13268e7993a1a80c58456f768a3bfeffbd2e32d6 --- /dev/null +++ b/tests/value/oracle_apron/unroll.res.oracle @@ -0,0 +1,7 @@ +13,14d12 +< [eva:alarm] tests/value/unroll.i:34: Warning: +< signed overflow. assert -2147483648 ≤ j - 1; +26c24 +< j ∈ [-2147483648..-123] +--- +> j ∈ {-238} diff --git a/tests/value/oracle_apron/unroll_simple.res.oracle b/tests/value/oracle_apron/unroll_simple.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..74276a0046c1d0dff1a947e75ce192585bb72382 --- /dev/null +++ b/tests/value/oracle_apron/unroll_simple.res.oracle @@ -0,0 +1,7 @@ +8,9d7 +< [eva:alarm] tests/value/unroll_simple.i:11: Warning: +< signed overflow. assert -2147483648 ≤ j - 1; +21c19 +< j ∈ [-2147483648..-126] +--- +> j ∈ {-250} diff --git a/tests/value/oracle_apron/widen_on_non_monotonic.res.oracle b/tests/value/oracle_apron/widen_on_non_monotonic.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..ba132d1be2b75a02b29e500ae257799a93b60e8f --- /dev/null +++ b/tests/value/oracle_apron/widen_on_non_monotonic.res.oracle @@ -0,0 +1,2 @@ +25a26 +> [eva] tests/value/widen_on_non_monotonic.i:21: starting to merge loop iterations diff --git a/tests/value/oracle_apron/with_comment.res.oracle b/tests/value/oracle_apron/with_comment.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..c1f964e991acdb2e9d3d88c570cc8f261f3d3b1f --- /dev/null +++ b/tests/value/oracle_apron/with_comment.res.oracle @@ -0,0 +1,3 @@ +9,10d8 +< [eva:alarm] tests/value/with_comment.i:21: Warning: +< signed overflow. assert G + 1 ≤ 2147483647; diff --git a/tests/value/oracle_bitwise/addition.res.oracle b/tests/value/oracle_bitwise/addition.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..0fb9f7cc36e71f5de337cc13693c28244baae41a --- /dev/null +++ b/tests/value/oracle_bitwise/addition.res.oracle @@ -0,0 +1,24 @@ +121,123c121 +< [eva] tests/value/addition.i:52: +< Assigning imprecise value to p10. +< The imprecision originates from Arithmetic {tests/value/addition.i:52} +--- +> [eva] tests/value/addition.i:52: Assigning imprecise value to p10. +163a162 +> {{ garbled mix of &{p1} (origin: Misaligned {tests/value/addition.i:52}) }} +165a165 +> {{ garbled mix of &{p2} (origin: Misaligned {tests/value/addition.i:56}) }} +201,203c201 +< p10 ∈ +< {{ garbled mix of &{p1} +< (origin: Arithmetic {tests/value/addition.i:52}) }} +--- +> p10 ∈ {{ garbled mix of &{p1} }} +428a427 +> {{ garbled mix of &{p1} (origin: Misaligned {tests/value/addition.i:52}) }} +467,469c466 +< p10 ∈ +< {{ garbled mix of &{p1} +< (origin: Arithmetic {tests/value/addition.i:52}) }} +--- +> p10 ∈ {{ garbled mix of &{p1} }} diff --git a/tests/value/oracle_bitwise/audit.res.oracle b/tests/value/oracle_bitwise/audit.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..9ff41db248872519df6d5b9ea95483fc420a1ff1 --- /dev/null +++ b/tests/value/oracle_bitwise/audit.res.oracle @@ -0,0 +1,11 @@ +1,8d0 +< [kernel:audit] Warning: +< different hashes for tests/value/audit.c: got 08f73691217888d926a0ee15cbe18159, expected 01010101010101010101010101010101 +< [kernel:audit] Warning: +< different hashes for tests/value/audit_included_but_not_listed.h: got c2cc488143a476f69cf2ed04c3439e6e, expected <none> (not in list) +< [kernel:audit] Warning: +< missing files: +< tests/value/non_existing_file.h +< [kernel] Audit: sources list written to: tests/value/result/audit-out.json +34d25 +< [kernel] Wrote: tests/value/result/audit-out.json diff --git a/tests/value/oracle_bitwise/bitwise.res.oracle b/tests/value/oracle_bitwise/bitwise.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..420d63ba3e2c66c9bea300df12d78206be5812cb --- /dev/null +++ b/tests/value/oracle_bitwise/bitwise.res.oracle @@ -0,0 +1,7 @@ +98c98,101 +< [eva] tests/value/bitwise.i:158: Frama_C_show_each_dead: {0} +--- +> [eva] tests/value/bitwise.i:156: +> The evaluation of the expression x & 2 +> led to bottom without alarms: +> at this point the product of states has no possible concretization. diff --git a/tests/value/oracle_bitwise/bitwise_pointer.res.oracle b/tests/value/oracle_bitwise/bitwise_pointer.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..33e549730224dc9e27ef09b0143734b2862bc00a --- /dev/null +++ b/tests/value/oracle_bitwise/bitwise_pointer.res.oracle @@ -0,0 +1,12 @@ +34,36c34 +< [eva] tests/value/bitwise_pointer.i:18: +< Assigning imprecise value to p. +< The imprecision originates from Arithmetic {tests/value/bitwise_pointer.i:18} +--- +> [eva] tests/value/bitwise_pointer.i:18: Assigning imprecise value to p. +41,43c39 +< [eva] tests/value/bitwise_pointer.i:22: +< Assigning imprecise value to p1. +< The imprecision originates from Arithmetic {tests/value/bitwise_pointer.i:22} +--- +> [eva] tests/value/bitwise_pointer.i:22: Assigning imprecise value to p1. diff --git a/tests/value/oracle_bitwise/logic_ptr_cast.res.oracle b/tests/value/oracle_bitwise/logic_ptr_cast.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..e6c9e4bde2fce0cc8f8c52e8bf1c589157065eb8 --- /dev/null +++ b/tests/value/oracle_bitwise/logic_ptr_cast.res.oracle @@ -0,0 +1,6 @@ +8,10c8 +< [eva] tests/value/logic_ptr_cast.i:8: +< Assigning imprecise value to p. +< The imprecision originates from Arithmetic {tests/value/logic_ptr_cast.i:8} +--- +> [eva] tests/value/logic_ptr_cast.i:8: Assigning imprecise value to p. diff --git a/tests/value/oracle_equalities/CruiseControl.res.oracle b/tests/value/oracle_equalities/CruiseControl.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..977bd6ffca38f631eb8c630e89d3709078392599 --- /dev/null +++ b/tests/value/oracle_equalities/CruiseControl.res.oracle @@ -0,0 +1,45 @@ +980c980 +< [0]._C4_ThrottleCmd._I0_Regul_ON ∈ {0; 1} +--- +> [0]._C4_ThrottleCmd._I0_Regul_ON ∈ {1} +1018c1018 +< [0]._C4_ThrottleCmd._C0_ThrottleRegulation._C0_SaturateThrottle{._I0_ThrottleIn; ._O0_ThrottleOut} ∈ +--- +> [0]._C4_ThrottleCmd._C0_ThrottleRegulation._C0_SaturateThrottle._I0_ThrottleIn ∈ +1019a1020,1021 +> [0]._C4_ThrottleCmd._C0_ThrottleRegulation._C0_SaturateThrottle._O0_ThrottleOut ∈ +> [-0.0000000000000000 .. 1.9999998807907104*2^127] +1033c1035 +< [-1.9999998807907104*2^127 .. 1.9999998807907104*2^127] +--- +> [-0.0000000000000000 .. 1.9999998807907104*2^127] +1218c1220 +< [0]._C4_ThrottleCmd._I0_Regul_ON ∈ {0; 1} +--- +> [0]._C4_ThrottleCmd._I0_Regul_ON ∈ {1} +1230c1232,1236 +< [0]._C4_ThrottleCmd._C0_ThrottleRegulation{._I1_CruiseSpeed; ._I2_VehiculeSpeed; ._O0_Throttle; ._L1_CruiseControl; ._L2_CruiseControl; ._L3_CruiseControl} ∈ +--- +> [0]._C4_ThrottleCmd._C0_ThrottleRegulation{._I1_CruiseSpeed; ._I2_VehiculeSpeed} ∈ +> [-1.9999998807907104*2^127 .. 1.9999998807907104*2^127] +> [0]._C4_ThrottleCmd._C0_ThrottleRegulation._O0_Throttle ∈ +> [-0.0000000000000000 .. 1.9999998807907104*2^127] +> [0]._C4_ThrottleCmd._C0_ThrottleRegulation{._L1_CruiseControl; ._L2_CruiseControl; ._L3_CruiseControl} ∈ +1248c1254 +< [0]._C4_ThrottleCmd._C0_ThrottleRegulation{._L4_CruiseControl; ._L13_CruiseControl} ∈ +--- +> [0]._C4_ThrottleCmd._C0_ThrottleRegulation._L4_CruiseControl ∈ +1249a1256,1257 +> [0]._C4_ThrottleCmd._C0_ThrottleRegulation._L13_CruiseControl ∈ +> [-0.0000000000000000 .. 1.9999998807907104*2^127] +1256c1264 +< [0]._C4_ThrottleCmd._C0_ThrottleRegulation._C0_SaturateThrottle{._I0_ThrottleIn; ._O0_ThrottleOut} ∈ +--- +> [0]._C4_ThrottleCmd._C0_ThrottleRegulation._C0_SaturateThrottle._I0_ThrottleIn ∈ +1257a1266,1267 +> [0]._C4_ThrottleCmd._C0_ThrottleRegulation._C0_SaturateThrottle._O0_ThrottleOut ∈ +> [-0.0000000000000000 .. 1.9999998807907104*2^127] +1271c1281 +< [-1.9999998807907104*2^127 .. 1.9999998807907104*2^127] +--- +> [-0.0000000000000000 .. 1.9999998807907104*2^127] diff --git a/tests/value/oracle_equalities/addition.res.oracle b/tests/value/oracle_equalities/addition.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..98c7d2372434290cc2f334cddcb6bc9466e6ac7f --- /dev/null +++ b/tests/value/oracle_equalities/addition.res.oracle @@ -0,0 +1,18 @@ +138,141d137 +< [eva:alarm] tests/value/addition.i:61: Warning: +< signed overflow. assert -2147483648 ≤ (int)*((char *)(&q1)) + 2; +< [eva:alarm] tests/value/addition.i:61: Warning: +< signed overflow. assert (int)*((char *)(&q1)) + 2 ≤ 2147483647; +168c164 +< [scope:rm_asserts] removing 9 assertion(s) +--- +> [scope:rm_asserts] removing 7 assertion(s) +407,410d402 +< [eva:alarm] tests/value/addition.i:61: Warning: +< signed overflow. assert -2147483648 ≤ (int)*((char *)(&q1)) + 2; +< [eva:alarm] tests/value/addition.i:61: Warning: +< signed overflow. assert (int)*((char *)(&q1)) + 2 ≤ 2147483647; +433c425 +< [scope:rm_asserts] removing 9 assertion(s) +--- +> [scope:rm_asserts] removing 7 assertion(s) diff --git a/tests/value/oracle_equalities/alias.0.res.oracle b/tests/value/oracle_equalities/alias.0.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..c234ab23c2ef7ade7fb11fd8bd401d1a710a0a37 --- /dev/null +++ b/tests/value/oracle_equalities/alias.0.res.oracle @@ -0,0 +1,10 @@ +103,104c103,104 +< t ∈ {1; 2; 4} +< u ∈ {2; 3; 4; 5} +--- +> t ∈ {4} +> u ∈ {5} +110c110 +< t2 ∈ {0; 3; 6} +--- +> t2 ∈ {6} diff --git a/tests/value/oracle_equalities/alias.1.res.oracle b/tests/value/oracle_equalities/alias.1.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..83f51b9015d62efe57f3906b3efd2228b99697ea --- /dev/null +++ b/tests/value/oracle_equalities/alias.1.res.oracle @@ -0,0 +1,18 @@ +85c85 +< z ∈ {0; 1; 2} +--- +> z ∈ {0; 2} +87,88c87,88 +< v2 ∈ {-1; 0; 1; 2; 3; 4} +< PTR1 ∈ {{ &p2{[0], [1], [2]} }} +--- +> v2 ∈ {0; 1; 2} +> PTR1 ∈ {{ &p2{[0], [1]} }} +90c90 +< PTR3 ∈ {{ &p2{[1], [2], [4]} }} +--- +> PTR3 ∈ {{ &p2{[1], [2]} }} +110c110 +< t2 FROM p2[0..2]; c +--- +> t2 FROM p2[0..1]; c diff --git a/tests/value/oracle_equalities/alias.2.res.oracle b/tests/value/oracle_equalities/alias.2.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..686417eb7ea8aabf15bf58576ecd3afcd58780e1 --- /dev/null +++ b/tests/value/oracle_equalities/alias.2.res.oracle @@ -0,0 +1,4 @@ +76c76 +< z ∈ {-5; -4; -3; -2; -1; 0; 1; 1000} +--- +> z ∈ {-2; -1; 0; 1000} diff --git a/tests/value/oracle_equalities/alias.3.res.oracle b/tests/value/oracle_equalities/alias.3.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..e14f1380123bfd42bbd395f88c728c05558d44b3 --- /dev/null +++ b/tests/value/oracle_equalities/alias.3.res.oracle @@ -0,0 +1,4 @@ +67c67 +< z ∈ {0; 1; 2} +--- +> z ∈ {0; 2} diff --git a/tests/value/oracle_equalities/alias.4.res.oracle b/tests/value/oracle_equalities/alias.4.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..f45634e31c8c1322a448c5a229319212361daf9f --- /dev/null +++ b/tests/value/oracle_equalities/alias.4.res.oracle @@ -0,0 +1,4 @@ +81c81 +< y ∈ {0; 3; 77} +--- +> y ∈ {77} diff --git a/tests/value/oracle_equalities/alias.5.res.oracle b/tests/value/oracle_equalities/alias.5.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..e34839d5f87a29da21a6edffc596a85c576e8f31 --- /dev/null +++ b/tests/value/oracle_equalities/alias.5.res.oracle @@ -0,0 +1,6 @@ +59a60 +> [eva] tests/value/alias.i:260: starting to merge loop iterations +170c171 +< y ∈ {0; 3; 77} +--- +> y ∈ {77} diff --git a/tests/value/oracle_equalities/alias.6.res.oracle b/tests/value/oracle_equalities/alias.6.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..a7dfd3031756c0781ca8579ae7e21c2b0a65e1c0 --- /dev/null +++ b/tests/value/oracle_equalities/alias.6.res.oracle @@ -0,0 +1,4 @@ +86c86 +< x ∈ {0; 4; 33} +--- +> x ∈ {33} diff --git a/tests/value/oracle_equalities/audit.res.oracle b/tests/value/oracle_equalities/audit.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..9ff41db248872519df6d5b9ea95483fc420a1ff1 --- /dev/null +++ b/tests/value/oracle_equalities/audit.res.oracle @@ -0,0 +1,11 @@ +1,8d0 +< [kernel:audit] Warning: +< different hashes for tests/value/audit.c: got 08f73691217888d926a0ee15cbe18159, expected 01010101010101010101010101010101 +< [kernel:audit] Warning: +< different hashes for tests/value/audit_included_but_not_listed.h: got c2cc488143a476f69cf2ed04c3439e6e, expected <none> (not in list) +< [kernel:audit] Warning: +< missing files: +< tests/value/non_existing_file.h +< [kernel] Audit: sources list written to: tests/value/result/audit-out.json +34d25 +< [kernel] Wrote: tests/value/result/audit-out.json diff --git a/tests/value/oracle_equalities/auto_loop_unroll.0.res.oracle b/tests/value/oracle_equalities/auto_loop_unroll.0.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..c4e3470add3e62e659d9d62f21c25c615c1a7e87 --- /dev/null +++ b/tests/value/oracle_equalities/auto_loop_unroll.0.res.oracle @@ -0,0 +1,14 @@ +81c81,84 +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr +--- +> [eva] computing for function incr <- various_loops <- main. +> Called from tests/value/auto_loop_unroll.c:101. +> [eva] Recording results for incr +> [eva] Done for function incr +90c93,96 +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr +--- +> [eva] computing for function incr <- various_loops <- main. +> Called from tests/value/auto_loop_unroll.c:101. +> [eva] Recording results for incr +> [eva] Done for function incr diff --git a/tests/value/oracle_equalities/backward_add_ptr.res.oracle b/tests/value/oracle_equalities/backward_add_ptr.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..6d66348323e4bca303cc34ee043db630877b4540 --- /dev/null +++ b/tests/value/oracle_equalities/backward_add_ptr.res.oracle @@ -0,0 +1,116 @@ +12c12 +< Frama_C_show_each_only_a: {0; 1}, {{ &a }}, {0} +--- +> Frama_C_show_each_only_a: {0}, {{ &a }}, {0} +93c93,96 +< [eva] tests/value/backward_add_ptr.c:110: Reusing old results for call to gm +--- +> [eva] computing for function gm <- main3 <- main. +> Called from tests/value/backward_add_ptr.c:110. +> [eva] Recording results for gm +> [eva] Done for function gm +107c110,113 +< [eva] tests/value/backward_add_ptr.c:125: Reusing old results for call to gm +--- +> [eva] computing for function gm <- main3 <- main. +> Called from tests/value/backward_add_ptr.c:125. +> [eva] Recording results for gm +> [eva] Done for function gm +119c125 +< (origin: Arithmetic {tests/value/backward_add_ptr.c:68}) }}, +--- +> (origin: Arithmetic Bottom) }}, +157,160c163,167 +< {{ garbled mix of &{b} +< (origin: Arithmetic {tests/value/backward_add_ptr.c:68}) }}, +< [0..4294967295] +< [eva] tests/value/backward_add_ptr.c:160: Reusing old results for call to gm +--- +> {{ garbled mix of &{b} (origin: Arithmetic Bottom) }}, [0..4294967295] +> [eva] computing for function gm <- main4 <- main. +> Called from tests/value/backward_add_ptr.c:160. +> [eva] Recording results for gm +> [eva] Done for function gm +178c185 +< (origin: Arithmetic {tests/value/backward_add_ptr.c:68}) }}, +--- +> (origin: Arithmetic Bottom) }}, +180c187 +< (origin: Arithmetic {tests/value/backward_add_ptr.c:68}) }} +--- +> (origin: Arithmetic Bottom) }} +188c195 +< (origin: Arithmetic {tests/value/backward_add_ptr.c:68}) }} +--- +> (origin: Arithmetic Bottom) }} +194c201 +< (origin: Arithmetic {tests/value/backward_add_ptr.c:68}) }}, +--- +> (origin: Arithmetic Bottom) }}, +211a219,222 +> (origin: Arithmetic {tests/value/backward_add_ptr.c:33}) }} +> {{ garbled mix of &{a} +> (origin: Arithmetic {tests/value/backward_add_ptr.c:33}) }} +> {{ garbled mix of &{b} +232a244,245 +> {{ garbled mix of &{a; b} +> (origin: Arithmetic {tests/value/backward_add_ptr.c:106}) }} +234a248,251 +> {{ garbled mix of &{a; b} +> (origin: Arithmetic {tests/value/backward_add_ptr.c:107}) }} +> {{ garbled mix of &{a; b} +> (origin: Arithmetic {tests/value/backward_add_ptr.c:115}) }} +238c255,257 +< (origin: Arithmetic {tests/value/backward_add_ptr.c:115}) }} +--- +> (origin: Arithmetic {tests/value/backward_add_ptr.c:116}) }} +> {{ garbled mix of &{a; b} +> (origin: Arithmetic {tests/value/backward_add_ptr.c:121}) }} +240a260,263 +> {{ garbled mix of &{a; b} +> (origin: Arithmetic {tests/value/backward_add_ptr.c:122}) }} +> {{ garbled mix of &{a; b} +> (origin: Arithmetic {tests/value/backward_add_ptr.c:130}) }} +242a266,267 +> {{ garbled mix of &{a; b} +> (origin: Arithmetic {tests/value/backward_add_ptr.c:136}) }} +245a271,272 +> (origin: Arithmetic {tests/value/backward_add_ptr.c:137}) }} +> {{ garbled mix of &{a; b} +246a274,275 +> {{ garbled mix of &{a; b} +> (origin: Arithmetic {tests/value/backward_add_ptr.c:145}) }} +248a278,285 +> {{ garbled mix of &{a; b} +> (origin: Arithmetic {tests/value/backward_add_ptr.c:150}) }} +> {{ garbled mix of &{a; b} +> (origin: Arithmetic {tests/value/backward_add_ptr.c:151}) }} +> {{ garbled mix of &{a; b} +> (origin: Arithmetic {tests/value/backward_add_ptr.c:156}) }} +> {{ garbled mix of &{a; b} +> (origin: Arithmetic {tests/value/backward_add_ptr.c:157}) }} +250a288,311 +> {{ garbled mix of &{a; b} +> (origin: Arithmetic {tests/value/backward_add_ptr.c:165}) }} +> {{ garbled mix of &{b; c} +> (origin: Arithmetic {tests/value/backward_add_ptr.c:165}) }} +> {{ garbled mix of &{a; b} +> (origin: Arithmetic {tests/value/backward_add_ptr.c:166}) }} +> {{ garbled mix of &{b; c} +> (origin: Arithmetic {tests/value/backward_add_ptr.c:166}) }} +> {{ garbled mix of &{a; b} +> (origin: Arithmetic {tests/value/backward_add_ptr.c:171}) }} +> {{ garbled mix of &{b; c} +> (origin: Arithmetic {tests/value/backward_add_ptr.c:171}) }} +> {{ garbled mix of &{a; b} +> (origin: Arithmetic {tests/value/backward_add_ptr.c:172}) }} +> {{ garbled mix of &{b; c} +> (origin: Arithmetic {tests/value/backward_add_ptr.c:172}) }} +> {{ garbled mix of &{a; b} +> (origin: Arithmetic {tests/value/backward_add_ptr.c:177}) }} +> {{ garbled mix of &{b; c} +> (origin: Arithmetic {tests/value/backward_add_ptr.c:177}) }} +> {{ garbled mix of &{a; b} +> (origin: Arithmetic {tests/value/backward_add_ptr.c:178}) }} +> {{ garbled mix of &{b; c} +> (origin: Arithmetic {tests/value/backward_add_ptr.c:178}) }} diff --git a/tests/value/oracle_equalities/bitfield.res.oracle b/tests/value/oracle_equalities/bitfield.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..199dae9e57a2dd302735cfae290ce5e5f5788679 --- /dev/null +++ b/tests/value/oracle_equalities/bitfield.res.oracle @@ -0,0 +1,4 @@ +138a139,141 +> [eva] tests/value/bitfield.i:71: +> Frama_C_show_each: +> {{ garbled mix of &{b} (origin: Misaligned {tests/value/bitfield.i:70}) }} diff --git a/tests/value/oracle_equalities/bitwise_pointer.res.oracle b/tests/value/oracle_equalities/bitwise_pointer.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..f04f7077977a5a61ea7d346c6ff6f90a2e4237e4 --- /dev/null +++ b/tests/value/oracle_equalities/bitwise_pointer.res.oracle @@ -0,0 +1,8 @@ +62c62 +< x ∈ [0..9] +--- +> x ∈ {5} +75c75 +< x1 ∈ [0..9] +--- +> x1 ∈ {5} diff --git a/tests/value/oracle_equalities/call_simple.res.oracle b/tests/value/oracle_equalities/call_simple.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..74d12f1f99b9b00efad1a5bf4a6df343d225573b --- /dev/null +++ b/tests/value/oracle_equalities/call_simple.res.oracle @@ -0,0 +1,4 @@ +28c28 +< c ∈ [--..--] +--- +> c ∈ [-2147483648..2147483646] diff --git a/tests/value/oracle_equalities/case_analysis.res.oracle b/tests/value/oracle_equalities/case_analysis.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..85985d3ff7dc7596f41c4a3b51f1614b76c5cfdb --- /dev/null +++ b/tests/value/oracle_equalities/case_analysis.res.oracle @@ -0,0 +1,9 @@ +11a12,15 +> [eva] tests/value/case_analysis.i:18: +> The evaluation of the expression r * r +> led to bottom without alarms: +> at this point the product of states has no possible concretization. +18c22 +< rq ∈ [-0.0000000000000000 .. 100.0000000000000000] +--- +> rq ∈ [0.0000000000000000 .. 100.0000000000000000] diff --git a/tests/value/oracle_equalities/descending.res.oracle b/tests/value/oracle_equalities/descending.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..4f7f74dacd94a03077b450e88028ef39d7764628 --- /dev/null +++ b/tests/value/oracle_equalities/descending.res.oracle @@ -0,0 +1,4 @@ +42c42 +< i ∈ {31; 32} +--- +> i ∈ {31} diff --git a/tests/value/oracle_equalities/domains_function.res.oracle b/tests/value/oracle_equalities/domains_function.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..a6b3f21d9de7b40fead8b5aea5d48b5e5c5fa4ba --- /dev/null +++ b/tests/value/oracle_equalities/domains_function.res.oracle @@ -0,0 +1,61 @@ +19,20c19 +< [eva] tests/value/domains_function.c:92: +< Frama_C_show_each_top: [-2147483648..2147483647] +--- +> [eva] tests/value/domains_function.c:92: Frama_C_show_each_top: {3} +28,29c27 +< [eva] tests/value/domains_function.c:77: +< Frama_C_show_each_top: [-2147483648..2147483647] +--- +> [eva] tests/value/domains_function.c:77: Frama_C_show_each_top: {1} +32,33c30 +< [eva] tests/value/domains_function.c:96: +< Frama_C_show_each_top: [-2147483648..2147483647] +--- +> [eva] tests/value/domains_function.c:96: Frama_C_show_each_top: {1} +36,37c33 +< [eva] tests/value/domains_function.c:84: +< Frama_C_show_each_top: [-2147483648..2147483647] +--- +> [eva] tests/value/domains_function.c:84: Frama_C_show_each_top: {2} +40,41c36 +< [eva] tests/value/domains_function.c:98: +< Frama_C_show_each_top: [-2147483648..2147483647] +--- +> [eva] tests/value/domains_function.c:98: Frama_C_show_each_top: {2} +60,61c55 +< [eva] tests/value/domains_function.c:84: +< Frama_C_show_each_top: [-2147483648..2147483647] +--- +> [eva] tests/value/domains_function.c:84: Frama_C_show_each_top: {2} +64,65c58 +< [eva] tests/value/domains_function.c:113: +< Frama_C_show_each_top: [-2147483648..2147483647] +--- +> [eva] tests/value/domains_function.c:113: Frama_C_show_each_top: {2} +78,79c71 +< [eva] tests/value/domains_function.c:55: +< Frama_C_show_each_top: [-2147483648..2147483647] +--- +> [eva] tests/value/domains_function.c:55: Frama_C_show_each_top: {42} +108,109c100 +< [eva] tests/value/domains_function.c:64: +< Frama_C_show_each_top: [-2147483648..2147483647] +--- +> [eva] tests/value/domains_function.c:64: Frama_C_show_each_top: {42} +116c107 +< result ∈ [--..--] +--- +> result ∈ {2} +130c121 +< result ∈ [--..--] +--- +> result ∈ {1} +135c126 +< result ∈ [--..--] +--- +> result ∈ {2} +138c129 +< result ∈ [--..--] +--- +> result ∈ {2} diff --git a/tests/value/oracle_equalities/downcast.2.res.oracle b/tests/value/oracle_equalities/downcast.2.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..3aac066cc202967755f0dd520cfe9db775c84554 --- /dev/null +++ b/tests/value/oracle_equalities/downcast.2.res.oracle @@ -0,0 +1,8 @@ +114c114 +< ux ∈ [--..--] +--- +> ux ∈ [0..65535] +157c157 +< ux ∈ [--..--] +--- +> ux ∈ [0..65535] diff --git a/tests/value/oracle_equalities/fptr.1.res.oracle b/tests/value/oracle_equalities/fptr.1.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..ce2032c08e6534394dd65b70b6f5af021684d613 --- /dev/null +++ b/tests/value/oracle_equalities/fptr.1.res.oracle @@ -0,0 +1,8 @@ +55,57d54 +< [eva] tests/value/fptr.i:67: +< Frama_C_show_each_F: {{ NULL + [0..4294967295] ; &h ; &hh }} +< [eva] tests/value/fptr.i:68: Reusing old results for call to f +69c66 +< n ∈ {0; 1; 2} +--- +> n ∈ {0; 1} diff --git a/tests/value/oracle_equalities/from_call.0.res.oracle b/tests/value/oracle_equalities/from_call.0.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..112d7de0bf83f985282dc85dcc11b8f3fa2f6ae5 --- /dev/null +++ b/tests/value/oracle_equalities/from_call.0.res.oracle @@ -0,0 +1,18 @@ +68c68,73 +< [eva] tests/value/from_call.i:20: Reusing old results for call to g +--- +> [eva] computing for function g <- f <- main. +> Called from tests/value/from_call.i:20. +> [eva] Recording results for g +> [from] Computing for function g +> [from] Done for function g +> [eva] Done for function g +78c83,88 +< [eva] tests/value/from_call.i:20: Reusing old results for call to g +--- +> [eva] computing for function g <- f <- main. +> Called from tests/value/from_call.i:20. +> [eva] Recording results for g +> [from] Computing for function g +> [from] Done for function g +> [eva] Done for function g diff --git a/tests/value/oracle_equalities/from_call.1.res.oracle b/tests/value/oracle_equalities/from_call.1.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..9affe79cca9f4bf6f13817bdc5a9b1ae11fc72ea --- /dev/null +++ b/tests/value/oracle_equalities/from_call.1.res.oracle @@ -0,0 +1,14 @@ +64c64,67 +< [eva] tests/value/from_call.i:20: Reusing old results for call to g +--- +> [eva] computing for function g <- f <- main. +> Called from tests/value/from_call.i:20. +> [eva] Recording results for g +> [eva] Done for function g +72c75,78 +< [eva] tests/value/from_call.i:20: Reusing old results for call to g +--- +> [eva] computing for function g <- f <- main. +> Called from tests/value/from_call.i:20. +> [eva] Recording results for g +> [eva] Done for function g diff --git a/tests/value/oracle_equalities/from_termin.res.oracle b/tests/value/oracle_equalities/from_termin.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..a29f1796862a617621451045df13187bf62b6a6d --- /dev/null +++ b/tests/value/oracle_equalities/from_termin.res.oracle @@ -0,0 +1,2 @@ +9a10 +> [eva] tests/value/from_termin.i:8: starting to merge loop iterations diff --git a/tests/value/oracle_equalities/imprecise_invalid_write.res.oracle b/tests/value/oracle_equalities/imprecise_invalid_write.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..911514fc0b77252b400c11e7c5c9d44daef55de9 --- /dev/null +++ b/tests/value/oracle_equalities/imprecise_invalid_write.res.oracle @@ -0,0 +1,3 @@ +29a30,31 +> [kernel] tests/value/imprecise_invalid_write.i:9: +> imprecise size for variable main1 (Undefined sizeof on a function.) diff --git a/tests/value/oracle_equalities/incompatible_states.res.oracle b/tests/value/oracle_equalities/incompatible_states.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..7126073f2df44b792e5e3436846684d856469863 --- /dev/null +++ b/tests/value/oracle_equalities/incompatible_states.res.oracle @@ -0,0 +1,29 @@ +14a15,18 +> [eva] tests/value/incompatible_states.c:24: +> The evaluation of the expression x * x +> led to bottom without alarms: +> at this point the product of states has no possible concretization. +27,29c31,34 +< [eva:alarm] tests/value/incompatible_states.c:41: Warning: +< accessing uninitialized left-value. +< assert \initialized(&t[(int)((int)(2 * i) / 2)]); +--- +> [eva] tests/value/incompatible_states.c:41: +> The evaluation of the expression t[(2 * i) / 2] +> led to bottom without alarms: +> at this point the product of states has no possible concretization. +41,42d45 +< [eva:alarm] tests/value/incompatible_states.c:53: Warning: +< division by zero. assert t[i] ≢ 0; +47,49d49 +< [eva] tests/value/incompatible_states.c:41: +< assertion 'Eva,initialization' got final status invalid. +< [scope:rm_asserts] removing 2 assertion(s) +55c55 +< z ∈ [-3..100] +--- +> z ∈ {-3; -2} +58c58 +< t[0] ∈ {0; 1} +--- +> t[0] ∈ {0} diff --git a/tests/value/oracle_equalities/library.res.oracle b/tests/value/oracle_equalities/library.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..263da140a44605a2369da667c8975a15feee5d56 --- /dev/null +++ b/tests/value/oracle_equalities/library.res.oracle @@ -0,0 +1,5 @@ +129,132d128 +< [eva:alarm] tests/value/library.i:44: Warning: +< non-finite float value. assert \is_finite(*pf); +< [eva:alarm] tests/value/library.i:44: Warning: +< non-finite float value. assert \is_finite(\add_float(*pf, *pf)); diff --git a/tests/value/oracle_equalities/long_const.0.res.oracle b/tests/value/oracle_equalities/long_const.0.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..9bc5f2d7083802aa0ac216e8eaeca4c1be79eeb8 --- /dev/null +++ b/tests/value/oracle_equalities/long_const.0.res.oracle @@ -0,0 +1,7 @@ +19c19,22 +< [eva] tests/value/long_const.i:25: Reusing old results for call to LL_ABS +--- +> [eva] computing for function LL_ABS <- div64 <- main. +> Called from tests/value/long_const.i:25. +> [eva] Recording results for LL_ABS +> [eva] Done for function LL_ABS diff --git a/tests/value/oracle_equalities/long_const.1.res.oracle b/tests/value/oracle_equalities/long_const.1.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..9bc5f2d7083802aa0ac216e8eaeca4c1be79eeb8 --- /dev/null +++ b/tests/value/oracle_equalities/long_const.1.res.oracle @@ -0,0 +1,7 @@ +19c19,22 +< [eva] tests/value/long_const.i:25: Reusing old results for call to LL_ABS +--- +> [eva] computing for function LL_ABS <- div64 <- main. +> Called from tests/value/long_const.i:25. +> [eva] Recording results for LL_ABS +> [eva] Done for function LL_ABS diff --git a/tests/value/oracle_equalities/modulo.res.oracle b/tests/value/oracle_equalities/modulo.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..750dc4d69d0be5d70fb5ddd65b953ecba6b8837a --- /dev/null +++ b/tests/value/oracle_equalities/modulo.res.oracle @@ -0,0 +1,174 @@ +40a41,119 +> [eva] tests/value/modulo.i:41: Frama_C_show_each_1: [-10..-1], [-9..-1], [-8..0] +> [eva] tests/value/modulo.i:41: Frama_C_show_each_1: [-10..-1], [1..9], [-8..0] +> [eva] tests/value/modulo.i:41: Frama_C_show_each_1: [1..10], [-9..-1], [0..8] +> [eva] tests/value/modulo.i:41: Frama_C_show_each_1: [1..10], [1..9], [0..8] +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: +> [1..9], {1; 2; 3; 4; 5; 6; 7; 8}, {0; 1; 2; 3; 4; 5; 6; 7} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: +> [-9..-1], {1; 2; 3; 4; 5; 6; 7; 8}, {-7; -6; -5; -4; -3; -2; -1; 0} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: +> [1..9], {-8; -7; -6; -5; -4; -3; -2; -1}, {0; 1; 2; 3; 4; 5; 6; 7} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: +> [-9..-1], {-8; -7; -6; -5; -4; -3; -2; -1}, {-7; -6; -5; -4; -3; -2; -1; 0} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: +> {-8; -7; -6; -5; -4; -3; -2; -1}, +> {-7; -6; -5; -4; -3; -2; -1}, +> {-6; -5; -4; -3; -2; -1; 0} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: +> {-8; -7; -6; -5; -4; -3; -2; -1}, +> {1; 2; 3; 4; 5; 6; 7}, +> {-6; -5; -4; -3; -2; -1; 0} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: +> {1; 2; 3; 4; 5; 6; 7; 8}, {-7; -6; -5; -4; -3; -2; -1}, {0; 1; 2; 3; 4; 5; 6} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: +> {1; 2; 3; 4; 5; 6; 7; 8}, {1; 2; 3; 4; 5; 6; 7}, {0; 1; 2; 3; 4; 5; 6} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: +> {1; 2; 3; 4; 5; 6; 7}, {1; 2; 3; 4; 5; 6}, {0; 1; 2; 3; 4; 5} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: +> {-7; -6; -5; -4; -3; -2; -1}, {1; 2; 3; 4; 5; 6}, {-5; -4; -3; -2; -1; 0} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: +> {1; 2; 3; 4; 5; 6; 7}, {-6; -5; -4; -3; -2; -1}, {0; 1; 2; 3; 4; 5} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: +> {-7; -6; -5; -4; -3; -2; -1}, +> {-6; -5; -4; -3; -2; -1}, +> {-5; -4; -3; -2; -1; 0} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: +> {-6; -5; -4; -3; -2; -1}, {-5; -4; -3; -2; -1}, {-4; -3; -2; -1; 0} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: +> {-6; -5; -4; -3; -2; -1}, {1; 2; 3; 4; 5}, {-4; -3; -2; -1; 0} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: +> {1; 2; 3; 4; 5; 6}, {-5; -4; -3; -2; -1}, {0; 1; 2; 3; 4} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: {1; 2; 3; 4; 5; 6}, {1; 2; 3; 4; 5}, {0; 1; 2; 3; 4} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: {1; 2; 3; 4; 5}, {1; 2; 3; 4}, {0; 1; 2; 3} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: {-5; -4; -3; -2; -1}, {1; 2; 3; 4}, {-3; -2; -1; 0} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: {1; 2; 3; 4; 5}, {-4; -3; -2; -1}, {0; 1; 2; 3} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: {-5; -4; -3; -2; -1}, {-4; -3; -2; -1}, {-3; -2; -1; 0} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: {-4; -3; -2; -1}, {-3; -2; -1}, {-2; -1; 0} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: {-4; -3; -2; -1}, {1; 2; 3}, {-2; -1; 0} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: {1; 2; 3; 4}, {-3; -2; -1}, {0; 1; 2} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: {1; 2; 3; 4}, {1; 2; 3}, {0; 1; 2} +> [eva] tests/value/modulo.i:41: Frama_C_show_each_1: {1; 2; 3}, {1; 2}, {0; 1} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: {-3; -2; -1}, {1; 2}, {-1; 0} +> [eva] tests/value/modulo.i:41: Frama_C_show_each_1: {1; 2; 3}, {-2; -1}, {0; 1} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: {-3; -2; -1}, {-2; -1}, {-1; 0} +50a130,208 +> [eva] tests/value/modulo.i:53: Frama_C_show_each_2: [-10..-1], [1..9], [-8..0] +> [eva] tests/value/modulo.i:53: Frama_C_show_each_2: [-10..-1], [-9..-1], [-8..0] +> [eva] tests/value/modulo.i:53: Frama_C_show_each_2: [1..10], [1..9], [0..8] +> [eva] tests/value/modulo.i:53: Frama_C_show_each_2: [1..10], [-9..-1], [0..8] +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: +> [-9..-1], {1; 2; 3; 4; 5; 6; 7; 8}, {-7; -6; -5; -4; -3; -2; -1; 0} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: +> [1..9], {1; 2; 3; 4; 5; 6; 7; 8}, {0; 1; 2; 3; 4; 5; 6; 7} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: +> [-9..-1], {-8; -7; -6; -5; -4; -3; -2; -1}, {-7; -6; -5; -4; -3; -2; -1; 0} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: +> [1..9], {-8; -7; -6; -5; -4; -3; -2; -1}, {0; 1; 2; 3; 4; 5; 6; 7} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: +> {-8; -7; -6; -5; -4; -3; -2; -1}, +> {1; 2; 3; 4; 5; 6; 7}, +> {-6; -5; -4; -3; -2; -1; 0} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: +> {-8; -7; -6; -5; -4; -3; -2; -1}, +> {-7; -6; -5; -4; -3; -2; -1}, +> {-6; -5; -4; -3; -2; -1; 0} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: +> {1; 2; 3; 4; 5; 6; 7; 8}, {1; 2; 3; 4; 5; 6; 7}, {0; 1; 2; 3; 4; 5; 6} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: +> {1; 2; 3; 4; 5; 6; 7; 8}, {-7; -6; -5; -4; -3; -2; -1}, {0; 1; 2; 3; 4; 5; 6} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: +> {-7; -6; -5; -4; -3; -2; -1}, {1; 2; 3; 4; 5; 6}, {-5; -4; -3; -2; -1; 0} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: +> {1; 2; 3; 4; 5; 6; 7}, {1; 2; 3; 4; 5; 6}, {0; 1; 2; 3; 4; 5} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: +> {-7; -6; -5; -4; -3; -2; -1}, +> {-6; -5; -4; -3; -2; -1}, +> {-5; -4; -3; -2; -1; 0} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: +> {1; 2; 3; 4; 5; 6; 7}, {-6; -5; -4; -3; -2; -1}, {0; 1; 2; 3; 4; 5} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: +> {-6; -5; -4; -3; -2; -1}, {1; 2; 3; 4; 5}, {-4; -3; -2; -1; 0} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: +> {-6; -5; -4; -3; -2; -1}, {-5; -4; -3; -2; -1}, {-4; -3; -2; -1; 0} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: {1; 2; 3; 4; 5; 6}, {1; 2; 3; 4; 5}, {0; 1; 2; 3; 4} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: +> {1; 2; 3; 4; 5; 6}, {-5; -4; -3; -2; -1}, {0; 1; 2; 3; 4} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: {-5; -4; -3; -2; -1}, {1; 2; 3; 4}, {-3; -2; -1; 0} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: {1; 2; 3; 4; 5}, {1; 2; 3; 4}, {0; 1; 2; 3} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: {-5; -4; -3; -2; -1}, {-4; -3; -2; -1}, {-3; -2; -1; 0} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: {1; 2; 3; 4; 5}, {-4; -3; -2; -1}, {0; 1; 2; 3} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: {-4; -3; -2; -1}, {1; 2; 3}, {-2; -1; 0} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: {-4; -3; -2; -1}, {-3; -2; -1}, {-2; -1; 0} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: {1; 2; 3; 4}, {1; 2; 3}, {0; 1; 2} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: {1; 2; 3; 4}, {-3; -2; -1}, {0; 1; 2} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: {-3; -2; -1}, {1; 2}, {-1; 0} +> [eva] tests/value/modulo.i:53: Frama_C_show_each_2: {1; 2; 3}, {1; 2}, {0; 1} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: {-3; -2; -1}, {-2; -1}, {-1; 0} +> [eva] tests/value/modulo.i:53: Frama_C_show_each_2: {1; 2; 3}, {-2; -1}, {0; 1} +60a219,231 +> [eva] tests/value/modulo.i:64: Frama_C_show_each_3: [-10..10], [-9..9], [-8..8] +> [eva] tests/value/modulo.i:64: Frama_C_show_each_3: [-9..9], [-8..8], [-7..7] +> [eva] tests/value/modulo.i:64: Frama_C_show_each_3: [-8..8], [-7..7], [-6..6] +> [eva] tests/value/modulo.i:64: Frama_C_show_each_3: [-7..7], [-6..6], [-5..5] +> [eva] tests/value/modulo.i:64: Frama_C_show_each_3: [-6..6], [-5..5], [-4..4] +> [eva] tests/value/modulo.i:64: +> Frama_C_show_each_3: +> [-5..5], {-4; -3; -2; -1; 1; 2; 3; 4}, {-3; -2; -1; 0; 1; 2; 3} +> [eva] tests/value/modulo.i:64: +> Frama_C_show_each_3: +> {-4; -3; -2; -1; 1; 2; 3; 4}, {-3; -2; -1; 1; 2; 3}, {-2; -1; 0; 1; 2} +> [eva] tests/value/modulo.i:64: +> Frama_C_show_each_3: {-3; -2; -1; 1; 2; 3}, {-2; -1; 1; 2}, {-1; 0; 1} diff --git a/tests/value/oracle_equalities/non_natural.res.oracle b/tests/value/oracle_equalities/non_natural.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..e2a7857fd096431f5c785683670a882ab38da5c1 --- /dev/null +++ b/tests/value/oracle_equalities/non_natural.res.oracle @@ -0,0 +1,52 @@ +58a59,60 +> [kernel] tests/value/non_natural.i:30: +> more than 200(12500) elements to enumerate. Approximating. +65a68,71 +> [kernel] tests/value/non_natural.i:23: +> more than 200(12500) elements to enumerate. Approximating. +> [kernel] tests/value/non_natural.i:23: +> more than 200(12501) elements to enumerate. Approximating. +70a77,80 +> [kernel] tests/value/non_natural.i:24: +> more than 200(12500) elements to enumerate. Approximating. +> [kernel] tests/value/non_natural.i:24: +> more than 200(12501) elements to enumerate. Approximating. +78a89,90 +> [kernel] tests/value/non_natural.i:25: +> more than 200(12500) elements to enumerate. Approximating. +86a99,100 +> [kernel] tests/value/non_natural.i:26: +> more than 200(12500) elements to enumerate. Approximating. +94a109,110 +> [kernel] tests/value/non_natural.i:27: +> more than 200(12500) elements to enumerate. Approximating. +102a119,120 +> [kernel] tests/value/non_natural.i:28: +> more than 200(12500) elements to enumerate. Approximating. +110a129,130 +> [kernel] tests/value/non_natural.i:29: +> more than 200(12500) elements to enumerate. Approximating. +127,146d146 +< [kernel] tests/value/non_natural.i:23: +< more than 200(12501) elements to enumerate. Approximating. +< [kernel] tests/value/non_natural.i:23: +< more than 200(12500) elements to enumerate. Approximating. +< [kernel] tests/value/non_natural.i:24: +< more than 200(12501) elements to enumerate. Approximating. +< [kernel] tests/value/non_natural.i:24: +< more than 200(12500) elements to enumerate. Approximating. +< [kernel] tests/value/non_natural.i:25: +< more than 200(12500) elements to enumerate. Approximating. +< [kernel] tests/value/non_natural.i:26: +< more than 200(12500) elements to enumerate. Approximating. +< [kernel] tests/value/non_natural.i:27: +< more than 200(12500) elements to enumerate. Approximating. +< [kernel] tests/value/non_natural.i:28: +< more than 200(12500) elements to enumerate. Approximating. +< [kernel] tests/value/non_natural.i:29: +< more than 200(12500) elements to enumerate. Approximating. +< [kernel] tests/value/non_natural.i:30: +< more than 200(12500) elements to enumerate. Approximating. +199a200,201 +> [kernel] tests/value/non_natural.i:39: +> more than 200(12500) elements to enumerate. Approximating. diff --git a/tests/value/oracle_equalities/nonlin.res.oracle b/tests/value/oracle_equalities/nonlin.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..6dd8e0102fc2e3d478beda8f9230a92167ddc615 --- /dev/null +++ b/tests/value/oracle_equalities/nonlin.res.oracle @@ -0,0 +1,4 @@ +194c194 +< q ∈ {{ &x + [-400..400],0%4 }} +--- +> q ∈ {{ &x }} diff --git a/tests/value/oracle_equalities/octagons.res.oracle b/tests/value/oracle_equalities/octagons.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..8e32fb27d1dae1fdc6f8a36f2913f5e370871108 --- /dev/null +++ b/tests/value/oracle_equalities/octagons.res.oracle @@ -0,0 +1,8 @@ +29c29 +< Frama_C_show_each_unreduced_unsigned: [0..4294967295], [0..4294967295] +--- +> Frama_C_show_each_unreduced_unsigned: [0..4294967295], [6..4294967295] +269c269 +< t ∈ [--..--] or UNINITIALIZED +--- +> t ∈ [6..4294967295] or UNINITIALIZED diff --git a/tests/value/oracle_equalities/offsetmap.0.res.oracle b/tests/value/oracle_equalities/offsetmap.0.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..6bebb89e738e4c6703b3d8b869f9d852e34a9e44 --- /dev/null +++ b/tests/value/oracle_equalities/offsetmap.0.res.oracle @@ -0,0 +1,4 @@ +40d39 +< [eva] Recording results for g +42a42 +> [eva] Recording results for g diff --git a/tests/value/oracle_equalities/offsetmap.1.res.oracle b/tests/value/oracle_equalities/offsetmap.1.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..6bebb89e738e4c6703b3d8b869f9d852e34a9e44 --- /dev/null +++ b/tests/value/oracle_equalities/offsetmap.1.res.oracle @@ -0,0 +1,4 @@ +40d39 +< [eva] Recording results for g +42a42 +> [eva] Recording results for g diff --git a/tests/value/oracle_equalities/origin.0.res.oracle b/tests/value/oracle_equalities/origin.0.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..29915b28f57735ddab40f6179e5b5b12fe8a68b6 --- /dev/null +++ b/tests/value/oracle_equalities/origin.0.res.oracle @@ -0,0 +1,10 @@ +249,250c249 +< pm2[bits 0 to 15]# ∈ {{ (? *)&a }}%32, bits 16 to 31 +< [bits 16 to 31]# ∈ {{ (? *)&b }}%32, bits 0 to 15 +--- +> pm2 ∈ {{ &a + {-4} ; &b + {-4} }} +289,290c288 +< pm2[bits 0 to 15]# ∈ {{ (? *)&a }}%32, bits 16 to 31 +< [bits 16 to 31]# ∈ {{ (? *)&b }}%32, bits 0 to 15 +--- +> pm2 ∈ {{ &a + {-4} ; &b + {-4} }} diff --git a/tests/value/oracle_equalities/period.res.oracle b/tests/value/oracle_equalities/period.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..99204176fa41dc5a9ee1e72337d2436541654499 --- /dev/null +++ b/tests/value/oracle_equalities/period.res.oracle @@ -0,0 +1,10 @@ +88,94d87 +< [eva:alarm] tests/value/period.c:53: Warning: +< pointer downcast. assert (unsigned int)(&g) ≤ 2147483647; +< [eva] tests/value/period.c:53: +< Assigning imprecise value to p. +< The imprecision originates from Arithmetic {tests/value/period.c:53} +< [eva:alarm] tests/value/period.c:54: Warning: +< out of bounds read. assert \valid_read(p); +99d91 +< [scope:rm_asserts] removing 1 assertion(s) diff --git a/tests/value/oracle_equalities/plevel.res.oracle b/tests/value/oracle_equalities/plevel.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..d19a038f2cb62353c97e3e6ede7f83a949ef654e --- /dev/null +++ b/tests/value/oracle_equalities/plevel.res.oracle @@ -0,0 +1,4 @@ +12d11 +< [eva] Recording results for main +14a14 +> [eva] Recording results for main diff --git a/tests/value/oracle_equalities/pointer_comp.res.oracle b/tests/value/oracle_equalities/pointer_comp.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..d0e8bccda7d9e05b4aaebb9ccadc7b173769c729 --- /dev/null +++ b/tests/value/oracle_equalities/pointer_comp.res.oracle @@ -0,0 +1,5 @@ +30a31,34 +> [kernel] tests/value/pointer_comp.c:43: +> imprecise size for variable g (Undefined sizeof on a function.) +> [kernel] tests/value/pointer_comp.c:43: +> imprecise size for variable f (Undefined sizeof on a function.) diff --git a/tests/value/oracle_equalities/ptr_relation.0.res.oracle b/tests/value/oracle_equalities/ptr_relation.0.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..0ae744ec7d6e6fcde013d15696dcf66e9f1424b5 --- /dev/null +++ b/tests/value/oracle_equalities/ptr_relation.0.res.oracle @@ -0,0 +1,4 @@ +23c23 +< i ∈ {0; 77; 333} +--- +> i ∈ {77} diff --git a/tests/value/oracle_equalities/redundant_alarms.res.oracle b/tests/value/oracle_equalities/redundant_alarms.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..f5e5f009673c3c5e27ad9ea5cad16f50d7658123 --- /dev/null +++ b/tests/value/oracle_equalities/redundant_alarms.res.oracle @@ -0,0 +1,26 @@ +10,13d9 +< [eva:alarm] tests/value/redundant_alarms.c:11: Warning: +< accessing uninitialized left-value. assert \initialized(p); +< [eva:alarm] tests/value/redundant_alarms.c:12: Warning: +< accessing uninitialized left-value. assert \initialized(p); +24,25d19 +< [eva:alarm] tests/value/redundant_alarms.c:21: Warning: +< accessing uninitialized left-value. assert \initialized(&t[i]); +63,65c57 +< [scope:rm_asserts] removing 3 assertion(s) +< [scope:rm_asserts] tests/value/redundant_alarms.c:12: +< removing redundant assert Eva: initialization: \initialized(p); +--- +> [scope:rm_asserts] removing 2 assertion(s) +108d99 +< /*@ assert Eva: initialization: \initialized(p); */ +110d100 +< /*@ assert Eva: initialization: \initialized(p); */ +127d116 +< /*@ assert Eva: initialization: \initialized(&t[i]); */ +196a186 +> int z; +199,201d188 +< *p = 1; +< int z = *p + 1; +< int w = *p + 2; diff --git a/tests/value/oracle_equalities/relation_reduction.res.oracle b/tests/value/oracle_equalities/relation_reduction.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..652ddf13af23bbb7e14fe2d38db7906e17bb7743 --- /dev/null +++ b/tests/value/oracle_equalities/relation_reduction.res.oracle @@ -0,0 +1,23 @@ +24,27d23 +< [eva:alarm] tests/value/relation_reduction.i:20: Warning: +< accessing out of bounds index. assert 0 ≤ y; +< [eva:alarm] tests/value/relation_reduction.i:20: Warning: +< accessing out of bounds index. assert y < 9; +34,37c30,33 +< R1 ∈ [-2147483648..2147483637] +< R2 ∈ [-2147483638..2147483647] +< R3 ∈ [--..--] +< R4 ∈ {0; 1; 2; 3; 4; 5} +--- +> R1 ∈ {0; 2} +> R2 ∈ {0; 12} +> R3 ∈ {0; 7} +> R4 ∈ {0; 2} +48c44 +< R4 FROM tab[0..8]; x (and SELF) +--- +> R4 FROM tab[0..5]; x (and SELF) +53c49 +< y; t; tab[0..8] +--- +> y; t; tab[0..5] diff --git a/tests/value/oracle_equalities/relation_shift.res.oracle b/tests/value/oracle_equalities/relation_shift.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..7176e3f6955ca3876a5937202f9c1229c5a22c32 --- /dev/null +++ b/tests/value/oracle_equalities/relation_shift.res.oracle @@ -0,0 +1,12 @@ +35,36c35,36 +< x ∈ [-2147483647..2147483647] +< y ∈ [-2147483648..2147483646] +--- +> x ∈ [-2147483647..2147483642] +> y ∈ [-2147483648..2147483645] +53,54c53,54 +< x ∈ [-2147483647..2147483647] +< y ∈ [-2147483648..2147483646] +--- +> x ∈ [-2147483647..2147483642] +> y ∈ [-2147483648..2147483645] diff --git a/tests/value/oracle_equalities/relations.res.oracle b/tests/value/oracle_equalities/relations.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..4617cf21e379162224ce9806eb48d3cb6c53028c --- /dev/null +++ b/tests/value/oracle_equalities/relations.res.oracle @@ -0,0 +1,15 @@ +60,61c60 +< u[0] ∈ [-2147483648..2147483646] +< [1] ∈ [--..--] +--- +> u[0..1] ∈ [-2147483648..2147483646] +67,70c66,69 +< R1 ∈ [--..--] +< R2 ∈ [--..--] +< R3 ∈ [-2147483648..2147483646] +< R4 ∈ [--..--] +--- +> R1 ∈ {0; 3} +> R2 ∈ {0; 3} +> R3 ∈ {0; 2} +> R4 ∈ {0; 2} diff --git a/tests/value/oracle_equalities/relations2.res.oracle b/tests/value/oracle_equalities/relations2.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..32e93421cc32a6ba5dcb1abdc57227c321db7b1c --- /dev/null +++ b/tests/value/oracle_equalities/relations2.res.oracle @@ -0,0 +1,6 @@ +59c59 +< n ∈ [0..512] +--- +> n ∈ [1..512] +133d132 +< [eva] tests/value/relations2.i:57: Frama_C_show_each_NO2: diff --git a/tests/value/oracle_equalities/struct2.res.oracle b/tests/value/oracle_equalities/struct2.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..61281ee76d0343a86e10d8bc79ed11be6a380d1a --- /dev/null +++ b/tests/value/oracle_equalities/struct2.res.oracle @@ -0,0 +1,30 @@ +55a56,57 +> [kernel] tests/value/struct2.i:78: Warning: +> all target addresses were invalid. This path is assumed to be dead. +59,60d60 +< accessing out of bounds index. assert 0 ≤ (int)(tab2[i] + j); +< [eva:alarm] tests/value/struct2.i:82: Warning: +83,84d82 +< accessing out of bounds index. assert (int)(i + j) < 2; +< [eva:alarm] tests/value/struct2.i:185: Warning: +106c104 +< [scope:rm_asserts] removing 2 assertion(s) +--- +> [scope:rm_asserts] removing 1 assertion(s) +143,145c141,143 +< tab3[0..1] ∈ [--..--] +< tab4[0] ∈ {0; 2} +< [1] ∈ {0} +--- +> tab3[0] ∈ {0; 1} +> [1] ∈ [--..--] +> tab4[0..1] ∈ {0} +148c146,147 +< tab6[0..1] ∈ {0; 2} +--- +> tab6[0] ∈ {0} +> [1] ∈ {2} +219c218 +< [9].a}; s1; s2; s5.e[0].b; s6.b; s8; tabl[0..1]; tab1[0..1]; +--- +> [9].a}; s1; s2; s5.e[0].b; s6.b; s8; tabl[0..1]; tab1[0]; diff --git a/tests/value/oracle_gauges/alias.5.res.oracle b/tests/value/oracle_gauges/alias.5.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..3136d5f1ef82f0f21af779e1e32866f2f1cfd502 --- /dev/null +++ b/tests/value/oracle_gauges/alias.5.res.oracle @@ -0,0 +1,2 @@ +59a60 +> [eva] tests/value/alias.i:260: starting to merge loop iterations diff --git a/tests/value/oracle_gauges/audit.res.oracle b/tests/value/oracle_gauges/audit.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..9ff41db248872519df6d5b9ea95483fc420a1ff1 --- /dev/null +++ b/tests/value/oracle_gauges/audit.res.oracle @@ -0,0 +1,11 @@ +1,8d0 +< [kernel:audit] Warning: +< different hashes for tests/value/audit.c: got 08f73691217888d926a0ee15cbe18159, expected 01010101010101010101010101010101 +< [kernel:audit] Warning: +< different hashes for tests/value/audit_included_but_not_listed.h: got c2cc488143a476f69cf2ed04c3439e6e, expected <none> (not in list) +< [kernel:audit] Warning: +< missing files: +< tests/value/non_existing_file.h +< [kernel] Audit: sources list written to: tests/value/result/audit-out.json +34d25 +< [kernel] Wrote: tests/value/result/audit-out.json diff --git a/tests/value/oracle_gauges/auto_loop_unroll.0.res.oracle b/tests/value/oracle_gauges/auto_loop_unroll.0.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..b53899a72738a7c9f35605d4cba511a0cb611d45 --- /dev/null +++ b/tests/value/oracle_gauges/auto_loop_unroll.0.res.oracle @@ -0,0 +1,195 @@ +11,13c11 +< [eva:alarm] tests/value/auto_loop_unroll.c:25: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:27: Frama_C_show_each_auto: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:27: Frama_C_show_each_auto: {100} +15,18c13 +< [eva:alarm] tests/value/auto_loop_unroll.c:31: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:33: +< Frama_C_show_each_imprecise: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:33: Frama_C_show_each_imprecise: {1000} +20,23c15 +< [eva:alarm] tests/value/auto_loop_unroll.c:39: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:41: +< Frama_C_show_each_imprecise: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:41: Frama_C_show_each_imprecise: {100} +32,34c24 +< [eva:alarm] tests/value/auto_loop_unroll.c:58: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:59: Frama_C_show_each_64: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:59: Frama_C_show_each_64: {64} +36,38c26 +< [eva:alarm] tests/value/auto_loop_unroll.c:63: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:64: Frama_C_show_each_40: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:64: Frama_C_show_each_40: {40} +40,42c28 +< [eva:alarm] tests/value/auto_loop_unroll.c:69: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:72: Frama_C_show_each_80: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:72: Frama_C_show_each_80: {80} +44,47c30 +< [eva:alarm] tests/value/auto_loop_unroll.c:76: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:82: +< Frama_C_show_each_32_80: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:82: Frama_C_show_each_32_80: [32..83] +55,56d37 +< [eva:alarm] tests/value/auto_loop_unroll.c:88: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +58c39 +< Frama_C_show_each_40_50: [0..2147483647] +--- +> Frama_C_show_each_40_50: [40..1073741861] +133,136c114 +< [eva:alarm] tests/value/auto_loop_unroll.c:120: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:122: +< Frama_C_show_each_32_64: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:122: Frama_C_show_each_32_64: [32..65] +194,197c172 +< [eva:alarm] tests/value/auto_loop_unroll.c:192: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:194: +< Frama_C_show_each_imprecise: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:194: Frama_C_show_each_imprecise: [1..9] +199,200d173 +< [eva:alarm] tests/value/auto_loop_unroll.c:200: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +204c177 +< Frama_C_show_each_imprecise: [0..2147483647] +--- +> Frama_C_show_each_imprecise: [64..2147483647] +210,212c183 +< [eva:alarm] tests/value/auto_loop_unroll.c:212: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:214: Frama_C_show_each_11: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:214: Frama_C_show_each_11: {11} +214,216c185 +< [eva:alarm] tests/value/auto_loop_unroll.c:217: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:219: Frama_C_show_each_12: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:219: Frama_C_show_each_12: {12} +218,219d186 +< [eva:alarm] tests/value/auto_loop_unroll.c:223: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +221a189,190 +> [eva:alarm] tests/value/auto_loop_unroll.c:223: Warning: +> signed overflow. assert res + 1 ≤ 2147483647; +225,226d193 +< [eva:alarm] tests/value/auto_loop_unroll.c:228: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +228a196,197 +> [eva:alarm] tests/value/auto_loop_unroll.c:228: Warning: +> signed overflow. assert res + 1 ≤ 2147483647; +232,233d200 +< [eva:alarm] tests/value/auto_loop_unroll.c:236: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +237,240c204 +< [eva:alarm] tests/value/auto_loop_unroll.c:241: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:245: +< Frama_C_show_each_11_111: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:245: Frama_C_show_each_11_111: [11..111] +242,244c206 +< [eva:alarm] tests/value/auto_loop_unroll.c:251: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:253: Frama_C_show_each_16: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:253: Frama_C_show_each_16: [16..2147483647] +252,254c214 +< [eva:alarm] tests/value/auto_loop_unroll.c:263: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:265: Frama_C_show_each_20: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:265: Frama_C_show_each_20: [20..2147483646] +256,257d215 +< [eva:alarm] tests/value/auto_loop_unroll.c:268: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +260c218,220 +< [eva] tests/value/auto_loop_unroll.c:270: Frama_C_show_each_21: [0..2147483647] +--- +> [eva:alarm] tests/value/auto_loop_unroll.c:268: Warning: +> signed overflow. assert res + 1 ≤ 2147483647; +> [eva] tests/value/auto_loop_unroll.c:270: Frama_C_show_each_21: {21} +264,265d223 +< [eva:alarm] tests/value/auto_loop_unroll.c:272: Warning: +< signed overflow. assert i + 1 ≤ 2147483647; +270,271d227 +< [eva:alarm] tests/value/auto_loop_unroll.c:279: Warning: +< signed overflow. assert i + 1 ≤ 2147483647; +276,277d231 +< [eva:alarm] tests/value/auto_loop_unroll.c:287: Warning: +< signed overflow. assert i + 1 ≤ 2147483647; +284,286c238,239 +< [eva:alarm] tests/value/auto_loop_unroll.c:299: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:303: Frama_C_show_each_30: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:303: Frama_C_show_each_30: {30} +> [eva] tests/value/auto_loop_unroll.c:307: starting to merge loop iterations +289d241 +< [eva] tests/value/auto_loop_unroll.c:307: starting to merge loop iterations +292,294c244 +< [eva:alarm] tests/value/auto_loop_unroll.c:316: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:321: Frama_C_show_each_32: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:321: Frama_C_show_each_32: {32} +307,310c257 +< [eva:alarm] tests/value/auto_loop_unroll.c:343: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:345: +< Frama_C_show_each_0_35: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:345: Frama_C_show_each_0_35: [0..35] +313,314d259 +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva:alarm] tests/value/auto_loop_unroll.c:348: Warning: +316c261,263 +< [eva] tests/value/auto_loop_unroll.c:352: Frama_C_show_each_36: [0..2147483647] +--- +> [eva:alarm] tests/value/auto_loop_unroll.c:348: Warning: +> signed overflow. assert res + 1 ≤ 2147483647; +> [eva] tests/value/auto_loop_unroll.c:352: Frama_C_show_each_36: {36} +325,327c272 +< [eva:alarm] tests/value/auto_loop_unroll.c:371: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:375: Frama_C_show_each_50: [1..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:375: Frama_C_show_each_50: {50} +330,331d274 +< [eva:alarm] tests/value/auto_loop_unroll.c:380: Warning: +< signed overflow. assert -2147483648 ≤ i - 1; +339,342d281 +< [eva:alarm] tests/value/auto_loop_unroll.c:392: Warning: +< signed overflow. assert j + 1 ≤ 2147483647; +< [eva:alarm] tests/value/auto_loop_unroll.c:396: Warning: +< signed overflow. assert j + 1 ≤ 2147483647; +344c283 +< [eva] tests/value/auto_loop_unroll.c:398: Frama_C_show_each_30: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:398: Frama_C_show_each_30: {30} +346,349d284 +< [eva:alarm] tests/value/auto_loop_unroll.c:403: Warning: +< signed overflow. assert j + 1 ≤ 2147483647; +< [eva:alarm] tests/value/auto_loop_unroll.c:407: Warning: +< signed overflow. assert j + 1 ≤ 2147483647; +351c286 +< [eva] tests/value/auto_loop_unroll.c:412: Frama_C_show_each_30: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:412: Frama_C_show_each_30: [15..45] diff --git a/tests/value/oracle_gauges/auto_loop_unroll.1.res.oracle b/tests/value/oracle_gauges/auto_loop_unroll.1.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..69c5d75fdc9b168fb5e84a39b225b0e6a9ac2f9f --- /dev/null +++ b/tests/value/oracle_gauges/auto_loop_unroll.1.res.oracle @@ -0,0 +1,31 @@ +15,18c15 +< [eva:alarm] tests/value/auto_loop_unroll.c:31: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:33: +< Frama_C_show_each_imprecise: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:33: Frama_C_show_each_imprecise: {1000} +20,23c17 +< [eva:alarm] tests/value/auto_loop_unroll.c:39: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:41: +< Frama_C_show_each_imprecise: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:41: Frama_C_show_each_imprecise: {100} +335,338c329 +< [eva:alarm] tests/value/auto_loop_unroll.c:192: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:194: +< Frama_C_show_each_imprecise: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:194: Frama_C_show_each_imprecise: [1..9] +340,341d330 +< [eva:alarm] tests/value/auto_loop_unroll.c:200: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +345c334 +< Frama_C_show_each_imprecise: [0..2147483647] +--- +> Frama_C_show_each_imprecise: [64..2147483647] +381,382d369 +< [eva:alarm] tests/value/auto_loop_unroll.c:287: Warning: +< signed overflow. assert i + 1 ≤ 2147483647; diff --git a/tests/value/oracle_gauges/bad_loop.res.oracle b/tests/value/oracle_gauges/bad_loop.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..0801a0331945b646c64cf36e95d84db91bd5e2ce --- /dev/null +++ b/tests/value/oracle_gauges/bad_loop.res.oracle @@ -0,0 +1,2 @@ +6a7 +> [eva] tests/value/bad_loop.i:12: starting to merge loop iterations diff --git a/tests/value/oracle_gauges/bitfield.res.oracle b/tests/value/oracle_gauges/bitfield.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..1ac37a479977ef3745e516936e77bfb7d93dc33c --- /dev/null +++ b/tests/value/oracle_gauges/bitfield.res.oracle @@ -0,0 +1,16 @@ +138a139,153 +> [eva] tests/value/bitfield.i:71: +> Frama_C_show_each: +> {{ garbled mix of &{b} (origin: Misaligned {tests/value/bitfield.i:70}) }} +> [eva] tests/value/bitfield.i:73: +> Frama_C_show_each: +> {{ garbled mix of &{b} (origin: Misaligned {tests/value/bitfield.i:70}) }} +> [eva] computing for function leaf <- imprecise_bts_1671 <- main. +> Called from tests/value/bitfield.i:70. +> [eva] Done for function leaf +> [eva] tests/value/bitfield.i:71: +> Frama_C_show_each: +> {{ garbled mix of &{b} (origin: Misaligned {tests/value/bitfield.i:70}) }} +> [eva] tests/value/bitfield.i:73: +> Frama_C_show_each: +> {{ garbled mix of &{b} (origin: Misaligned {tests/value/bitfield.i:70}) }} diff --git a/tests/value/oracle_gauges/cast2.res.oracle b/tests/value/oracle_gauges/cast2.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..ba548cab66284dc6d1633823aafdae6fae261f51 --- /dev/null +++ b/tests/value/oracle_gauges/cast2.res.oracle @@ -0,0 +1,2 @@ +26a27 +> [eva] tests/value/cast2.i:24: starting to merge loop iterations diff --git a/tests/value/oracle_gauges/for_loops.1.res.oracle b/tests/value/oracle_gauges/for_loops.1.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..a688cad743d26765cdaf73e9a3eaace9e54b19d3 --- /dev/null +++ b/tests/value/oracle_gauges/for_loops.1.res.oracle @@ -0,0 +1,6 @@ +39,41c39 +< [eva:alarm] tests/value/for_loops.c:16: Warning: +< signed overflow. assert w + 1 ≤ 2147483647; +< [eva] tests/value/for_loops.c:17: Frama_C_show_each_F: [0..2147483647] +--- +> [eva] tests/value/for_loops.c:17: Frama_C_show_each_F: [0..100] diff --git a/tests/value/oracle_gauges/for_loops.2.res.oracle b/tests/value/oracle_gauges/for_loops.2.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..07bdb32470ea74358c823be33bb122db954e445b --- /dev/null +++ b/tests/value/oracle_gauges/for_loops.2.res.oracle @@ -0,0 +1,6 @@ +37,39c37 +< [eva:alarm] tests/value/for_loops.c:42: Warning: +< signed overflow. assert w + T[j] ≤ 2147483647; +< [eva] tests/value/for_loops.c:43: Frama_C_show_each: [0..2147483647] +--- +> [eva] tests/value/for_loops.c:43: Frama_C_show_each: [0..1000] diff --git a/tests/value/oracle_gauges/from_termin.res.oracle b/tests/value/oracle_gauges/from_termin.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..a29f1796862a617621451045df13187bf62b6a6d --- /dev/null +++ b/tests/value/oracle_gauges/from_termin.res.oracle @@ -0,0 +1,2 @@ +9a10 +> [eva] tests/value/from_termin.i:8: starting to merge loop iterations diff --git a/tests/value/oracle_gauges/gauges.res.oracle b/tests/value/oracle_gauges/gauges.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..a34023e43fe99cbd16db6f50c76ba68a7996f94f --- /dev/null +++ b/tests/value/oracle_gauges/gauges.res.oracle @@ -0,0 +1,348 @@ +25,26d24 +< [eva:alarm] tests/value/gauges.c:23: Warning: +< signed overflow. assert -2147483648 ≤ j - 4; +38,39d35 +< [eva:alarm] tests/value/gauges.c:26: Warning: +< signed overflow. assert l + 1 ≤ 2147483647; +57,58d52 +< [eva:alarm] tests/value/gauges.c:45: Warning: +< signed overflow. assert -2147483648 ≤ j - 4; +61a56,57 +> [eva:alarm] tests/value/gauges.c:45: Warning: +> signed overflow. assert -2147483648 ≤ j - 4; +70,71d65 +< [eva:alarm] tests/value/gauges.c:48: Warning: +< signed overflow. assert l + 1 ≤ 2147483647; +83,84d76 +< [eva:alarm] tests/value/gauges.c:58: Warning: +< accessing out of bounds index. assert j < 38; +97,101d88 +< [eva:alarm] tests/value/gauges.c:71: Warning: +< out of bounds write. assert \valid(tmp); +< (tmp from p++) +< [eva] tests/value/gauges.c:72: Frama_C_show_each: +< [eva] tests/value/gauges.c:72: Frama_C_show_each: +113,114d99 +< [eva:alarm] tests/value/gauges.c:81: Warning: +< signed overflow. assert k + 1 ≤ 2147483647; +116,117d100 +< [eva:alarm] tests/value/gauges.c:84: Warning: +< signed overflow. assert k + 1 ≤ 2147483647; +125c108 +< [eva] tests/value/gauges.c:86: Frama_C_show_each: [0..2147483647] +--- +> [eva] tests/value/gauges.c:86: Frama_C_show_each: {390} +139,140d121 +< [eva:alarm] tests/value/gauges.c:99: Warning: +< signed overflow. assert c + 1 ≤ 2147483647; +178,181c159,162 +< [eva] tests/value/gauges.c:129: Frama_C_show_each: {{ &y + [4..36],0%4 }} +< [eva] tests/value/gauges.c:129: Frama_C_show_each: {{ &y + [4..40],0%4 }} +< [eva:alarm] tests/value/gauges.c:130: Warning: +< out of bounds write. assert \valid(p); +--- +> [eva] tests/value/gauges.c:129: +> Frama_C_show_each: {{ &y + {4; 8; 12; 16; 20; 24} }} +> [eva] tests/value/gauges.c:129: +> Frama_C_show_each: {{ &y + {4; 8; 12; 16; 20; 24} }} +187,188d167 +< [eva:alarm] tests/value/gauges.c:140: Warning: +< signed overflow. assert j + 1 ≤ 2147483647; +206,208d184 +< [eva:alarm] tests/value/gauges.c:158: Warning: +< out of bounds write. assert \valid(tmp); +< (tmp from p--) +227,231c203,205 +< [eva] tests/value/gauges.c:172: Frama_C_show_each: [2147483646..4294967294] +< [eva] tests/value/gauges.c:172: Frama_C_show_each: [1..4294967294] +< [eva] tests/value/gauges.c:172: Frama_C_show_each: [1..4294967294] +< [eva] tests/value/gauges.c:172: Frama_C_show_each: [1..4294967294] +< [eva] tests/value/gauges.c:172: Frama_C_show_each: [1..4294967294] +--- +> [eva] tests/value/gauges.c:172: Frama_C_show_each: [2147483647..4294967294] +> [eva] tests/value/gauges.c:172: Frama_C_show_each: [2147483647..4294967294] +> [eva] tests/value/gauges.c:172: Frama_C_show_each: [2147483647..4294967294] +235c209,210 +< [eva] tests/value/gauges.c:172: Frama_C_show_each: [1..4294967294] +--- +> [eva] tests/value/gauges.c:172: Frama_C_show_each: [2147483647..4294967294] +> [eva] tests/value/gauges.c:172: Frama_C_show_each: [2147483647..4294967294] +259,262d233 +< [eva:alarm] tests/value/gauges.c:192: Warning: +< out of bounds write. assert \valid(p); +< [eva:alarm] tests/value/gauges.c:193: Warning: +< out of bounds write. assert \valid(q); +270,275d240 +< [eva:alarm] tests/value/gauges.c:202: Warning: +< out of bounds read. assert \valid_read(tmp); +< (tmp from A++) +< [eva:alarm] tests/value/gauges.c:202: Warning: +< out of bounds read. assert \valid_read(tmp_0); +< (tmp_0 from B++) +303,304d267 +< [eva:alarm] tests/value/gauges.c:220: Warning: +< signed overflow. assert -2147483648 ≤ n - 1; +319,322c282 +< [eva:alarm] tests/value/gauges.c:240: Warning: +< signed overflow. assert j + 1 ≤ 2147483647; +< [eva] tests/value/gauges.c:242: +< Frama_C_show_each: {45; 46; 47; 48; 49; 50; 51}, [0..2147483647] +--- +> [eva] tests/value/gauges.c:242: Frama_C_show_each: {47; 48}, {6} +328,329d287 +< [eva:alarm] tests/value/gauges.c:251: Warning: +< signed overflow. assert j + 1 ≤ 2147483647; +331c289 +< Frama_C_show_each: {48; 49; 50; 51; 52; 53; 54}, [0..2147483647] +--- +> Frama_C_show_each: {48; 49; 50; 51; 52; 53; 54}, {6; 7} +337,340c295 +< [eva:alarm] tests/value/gauges.c:263: Warning: +< signed overflow. assert j + 1 ≤ 2147483647; +< [eva] tests/value/gauges.c:265: +< Frama_C_show_each: {-59; -58; -57; -56; -55; -54; -53}, [0..2147483647] +--- +> [eva] tests/value/gauges.c:265: Frama_C_show_each: {-58; -57}, {9} +346,347d300 +< [eva:alarm] tests/value/gauges.c:274: Warning: +< signed overflow. assert j + 1 ≤ 2147483647; +349c302 +< Frama_C_show_each: {-64; -63; -62; -61; -60; -59; -58}, [0..2147483647] +--- +> Frama_C_show_each: {-64; -63; -62; -61; -60; -59; -58}, {9; 10} +357,358d309 +< [eva:alarm] tests/value/gauges.c:293: Warning: +< signed overflow. assert j + 1 ≤ 2147483647; +360c311 +< Frama_C_show_each: {-593; -592; -591; -590; -589; -588}, [0..2147483647] +--- +> Frama_C_show_each: {-593; -592; -591; -590; -589; -588}, [99..119] +422a374,377 +> # Gauges domain: +> V: [{[ p -> {{ &x }} +> i -> {1} ]}] +> s398: λ(0) +482a438,441 +> # Gauges domain: +> V: [{[ i -> {1} ]}] +> s398: λ([0 .. 1]) +> {[ i -> {1} ]} +541a501,504 +> # Gauges domain: +> V: [{[ i -> {1} ]}] +> s398: λ([0 .. 2]) +> {[ i -> {1} ]} +600a564,567 +> # Gauges domain: +> V: [{[ i -> {1} ]}] +> s398: λ([0 .. 10]) +> {[ i -> {1} ]} +665a633,637 +> # Gauges domain: +> V: [{[ p -> {{ &a }} +> i -> {2} ]}] +> s412: λ(0) +> s411: λ(0) +726a699,703 +> # Gauges domain: +> V: [{[ i -> {2} ]}] +> s412: λ(0) +> s411: λ([0 .. 1]) +> {[ i -> {0} ]} +728a706,833 +> [eva] tests/value/gauges.c:325: +> Frama_C_dump_each: +> # Cvalue domain: +> __fc_heap_status ∈ [--..--] +> __fc_random_counter ∈ [--..--] +> __fc_rand_max ∈ {32767} +> __fc_random48_init ∈ {0} +> __fc_random48_counter[0..2] ∈ [--..--] +> __fc_p_random48_counter ∈ {{ &__fc_random48_counter[0] }} +> __fc_env[0] ∈ {{ NULL ; &S_0___fc_env[0] }} +> [1] ∈ {{ NULL ; &S_1___fc_env[0] }} +> [2..4095] ∈ {{ NULL ; &S_0___fc_env[0] ; &S_1___fc_env[0] }} +> __fc_mblen_state ∈ [--..--] +> __fc_mbtowc_state ∈ [--..--] +> __fc_wctomb_state ∈ [--..--] +> v ∈ [--..--] +> t[0..4] ∈ {0} +> [5] ∈ [0..48],0%3 +> [6] ∈ {0} +> [7] ∈ [0..48],0%3 +> [8] ∈ {0} +> [9] ∈ [0..48],0%3 +> [10] ∈ {0} +> [11] ∈ [0..48],0%3 +> [12] ∈ {0} +> [13] ∈ [0..48],0%3 +> [14] ∈ {0} +> [15] ∈ [0..48],0%3 +> [16] ∈ {0} +> [17] ∈ [0..48],0%3 +> [18] ∈ {0} +> [19] ∈ [0..48],0%3 +> [20] ∈ {0} +> [21] ∈ [0..48],0%3 +> [22] ∈ {0} +> [23] ∈ [0..48],0%3 +> [24] ∈ {0} +> [25] ∈ [0..48],0%3 +> [26] ∈ {0} +> [27] ∈ [0..48],0%3 +> [28] ∈ {0} +> [29] ∈ [0..48],0%3 +> [30] ∈ {0} +> [31] ∈ [0..48],0%3 +> [32] ∈ {0} +> [33] ∈ [0..48],0%3 +> [34] ∈ {0} +> [35] ∈ [0..48],0%3 +> [36] ∈ {0} +> [37] ∈ [0..48],0%3 +> u[0..99] ∈ [0..100] +> T[0..99] ∈ [--..--] +> a ∈ {1} +> b ∈ {0} +> p ∈ {{ &a ; &b }} +> i ∈ {2} +> S_0___fc_env[0..1] ∈ [--..--] +> S_1___fc_env[0..1] ∈ [--..--] +> # Gauges domain: +> V: [{[ i -> {2} ]}] +> s412: λ(0) +> s411: λ([0 .. 2]) +> {[ i -> {0} ]} +> ==END OF DUMP== +> [eva] tests/value/gauges.c:325: +> Frama_C_dump_each: +> # Cvalue domain: +> __fc_heap_status ∈ [--..--] +> __fc_random_counter ∈ [--..--] +> __fc_rand_max ∈ {32767} +> __fc_random48_init ∈ {0} +> __fc_random48_counter[0..2] ∈ [--..--] +> __fc_p_random48_counter ∈ {{ &__fc_random48_counter[0] }} +> __fc_env[0] ∈ {{ NULL ; &S_0___fc_env[0] }} +> [1] ∈ {{ NULL ; &S_1___fc_env[0] }} +> [2..4095] ∈ {{ NULL ; &S_0___fc_env[0] ; &S_1___fc_env[0] }} +> __fc_mblen_state ∈ [--..--] +> __fc_mbtowc_state ∈ [--..--] +> __fc_wctomb_state ∈ [--..--] +> v ∈ [--..--] +> t[0..4] ∈ {0} +> [5] ∈ [0..48],0%3 +> [6] ∈ {0} +> [7] ∈ [0..48],0%3 +> [8] ∈ {0} +> [9] ∈ [0..48],0%3 +> [10] ∈ {0} +> [11] ∈ [0..48],0%3 +> [12] ∈ {0} +> [13] ∈ [0..48],0%3 +> [14] ∈ {0} +> [15] ∈ [0..48],0%3 +> [16] ∈ {0} +> [17] ∈ [0..48],0%3 +> [18] ∈ {0} +> [19] ∈ [0..48],0%3 +> [20] ∈ {0} +> [21] ∈ [0..48],0%3 +> [22] ∈ {0} +> [23] ∈ [0..48],0%3 +> [24] ∈ {0} +> [25] ∈ [0..48],0%3 +> [26] ∈ {0} +> [27] ∈ [0..48],0%3 +> [28] ∈ {0} +> [29] ∈ [0..48],0%3 +> [30] ∈ {0} +> [31] ∈ [0..48],0%3 +> [32] ∈ {0} +> [33] ∈ [0..48],0%3 +> [34] ∈ {0} +> [35] ∈ [0..48],0%3 +> [36] ∈ {0} +> [37] ∈ [0..48],0%3 +> u[0..99] ∈ [0..100] +> T[0..99] ∈ [--..--] +> a ∈ {1} +> b ∈ {0} +> p ∈ {{ &a ; &b }} +> i ∈ {2} +> S_0___fc_env[0..1] ∈ [--..--] +> S_1___fc_env[0..1] ∈ [--..--] +> # Gauges domain: +> V: [{[ i -> {2} ]}] +> s412: λ(0) +> s411: λ([0 .. +oo]) +> {[ i -> {0} ]} +> ==END OF DUMP== +736a842,843 +> [eva] tests/value/gauges.c:343: Call to builtin malloc +> [eva] tests/value/gauges.c:343: Call to builtin malloc +789,790c896,897 +< A ∈ {{ &A + [0..--],0%4 }} +< B ∈ {{ &B + [0..--],0%4 }} +--- +> A ∈ {{ &A + [0..36],0%4 }} +> B ∈ {{ &B + [0..36],0%4 }} +802c909 +< n ∈ [-2147483648..99] +--- +> n ∈ [-2147483547..99] +808c915 +< i ∈ {45; 46; 47; 48; 49; 50; 51} +--- +> i ∈ {45; 46; 47; 48} +814c921 +< i ∈ {-59; -58; -57; -56; -55; -54; -53} +--- +> i ∈ {-58; -57; -56; -55; -54; -53} +834c941 +< p ∈ {{ &u + [0..--],0%4 }} +--- +> p ∈ {{ &u + [0..400],0%4 }} +836c943 +< k ∈ [0..2147483647] +--- +> k ∈ [0..390] +841c948 +< i ∈ [0..2147483647] +--- +> i ∈ [0..21] +852,853c959,961 +< [1..9] ∈ {4; 5; 6; 7; 8; 9} or UNINITIALIZED +< p ∈ {{ &y + [4..40],0%4 }} +--- +> [1..6] ∈ {4; 5; 6; 7; 8; 9} or UNINITIALIZED +> [7..9] ∈ UNINITIALIZED +> p ∈ {{ &y[7] }} +864c972 +< p ∈ {{ &T + [--..396],0%4 }} +--- +> p ∈ {{ &T + [-4..396],0%4 }} +869,873c977 +< n ∈ {0} +< arr[0] ∈ {0} +< [1] ∈ {-1} +< [2..65535] ∈ [--..--] or UNINITIALIZED +< p ∈ {{ &arr + [12..--],0%4 }} +--- +> NON TERMINATING FUNCTION +976a1081 +> [from] Non-terminating function main8_aux (no dependencies) +999,1000c1104,1105 +< p FROM p; A; B; n; p; A[0..9]; B[0..9] (and SELF) +< \result FROM p; A; B; n; p; A[0..9]; B[0..9] +--- +> p FROM p; A; B; n; p; A[0..8]; B[0..8] (and SELF) +> \result FROM p; A; B; n; p; A[0..8]; B[0..8] +1044c1149 +< NO EFFECTS +--- +> NON TERMINATING - NO EFFECTS +1078c1183 +< p; A[0..9]; B[0..9] +--- +> p; A[0..8]; B[0..8] diff --git a/tests/value/oracle_gauges/hierarchical_convergence.res.oracle b/tests/value/oracle_gauges/hierarchical_convergence.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..dfe4a55a8d5655bd3e9b1c913be588bdf10ac87c --- /dev/null +++ b/tests/value/oracle_gauges/hierarchical_convergence.res.oracle @@ -0,0 +1,2 @@ +15a16 +> [eva] tests/value/hierarchical_convergence.c:10: Frama_C_show_each: {1}, {0} diff --git a/tests/value/oracle_gauges/infinite.res.oracle b/tests/value/oracle_gauges/infinite.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..4acec0b99e24e8dc0e6f48456b2475191ac9831a --- /dev/null +++ b/tests/value/oracle_gauges/infinite.res.oracle @@ -0,0 +1,11 @@ +12a13,22 +> [eva] tests/value/infinite.i:6: starting to merge loop iterations +> [eva] computing for function pause <- main. +> Called from tests/value/infinite.i:9. +> [eva] Done for function pause +> [eva] computing for function pause <- main. +> Called from tests/value/infinite.i:9. +> [eva] Done for function pause +> [eva] computing for function pause <- main. +> Called from tests/value/infinite.i:9. +> [eva] Done for function pause diff --git a/tests/value/oracle_gauges/inout.2.res.oracle b/tests/value/oracle_gauges/inout.2.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..fdad47271b2c2f0231b62d27778cea169de9e3c2 --- /dev/null +++ b/tests/value/oracle_gauges/inout.2.res.oracle @@ -0,0 +1,2 @@ +22a23 +> [eva] tests/value/inout.i:50: starting to merge loop iterations diff --git a/tests/value/oracle_gauges/inout.3.res.oracle b/tests/value/oracle_gauges/inout.3.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..c2d0b9893381f3f084603b0a50cc3c73e4f9c840 --- /dev/null +++ b/tests/value/oracle_gauges/inout.3.res.oracle @@ -0,0 +1,2 @@ +22a23 +> [eva] tests/value/inout.i:60: starting to merge loop iterations diff --git a/tests/value/oracle_gauges/inout.4.res.oracle b/tests/value/oracle_gauges/inout.4.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..3b6b4fc2ae125a92e0abfe0e3b7bb65dd7e6d523 --- /dev/null +++ b/tests/value/oracle_gauges/inout.4.res.oracle @@ -0,0 +1,2 @@ +24a25 +> [eva] tests/value/inout.i:60: starting to merge loop iterations diff --git a/tests/value/oracle_gauges/local_slevel.res.oracle b/tests/value/oracle_gauges/local_slevel.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..3329f131e3c9ff467f4c369b90394fcfd7cca6e9 --- /dev/null +++ b/tests/value/oracle_gauges/local_slevel.res.oracle @@ -0,0 +1,72 @@ +13,15c13,15 +< [eva] tests/value/local_slevel.i:18: Frama_C_show_each: {1}, {1}, {0; 1} +< [eva] tests/value/local_slevel.i:18: Frama_C_show_each: {-1}, {0}, {0; 1} +< [eva] tests/value/local_slevel.i:18: Frama_C_show_each: {1}, {1}, {0; 1; 2} +--- +> [eva] tests/value/local_slevel.i:18: Frama_C_show_each: {1}, {1}, {1} +> [eva] tests/value/local_slevel.i:18: Frama_C_show_each: {-1}, {0}, {0} +> [eva] tests/value/local_slevel.i:18: Frama_C_show_each: {1}, {1}, {1} +18c18 +< Frama_C_show_each: {1}, [1..79],1%2, {0; 1; 2; 3} +--- +> Frama_C_show_each: {1}, [1..79],1%2, {1; 2; 3} +22c22 +< Frama_C_show_each: {1}, [1..79],1%2, {0; 1; 2; 3; 4} +--- +> Frama_C_show_each: {1}, [1..79],1%2, {1; 2; 3; 4} +26,34c26 +< Frama_C_show_each: {1}, [1..79],1%2, [0..2147483647] +< [eva] tests/value/local_slevel.i:18: +< Frama_C_show_each: {-1}, [0..78],0%2, [0..2147483647] +< [eva] tests/value/local_slevel.i:18: +< Frama_C_show_each: {1}, [1..79],1%2, [0..2147483648] +< [eva] tests/value/local_slevel.i:18: +< Frama_C_show_each: {-1}, [0..78],0%2, [0..2147483648] +< [eva] tests/value/local_slevel.i:18: +< Frama_C_show_each: {1}, [1..79],1%2, [0..4294967295] +--- +> Frama_C_show_each: {1}, [1..79],1%2, [1..79] +36c28 +< Frama_C_show_each: {-1}, [0..78],0%2, [0..4294967295] +--- +> Frama_C_show_each: {-1}, [0..78],0%2, [0..78] +152c144 +< r ∈ [--..--] +--- +> r ∈ [0..2147483647] +393,395c385,387 +< [eva] tests/value/local_slevel.i:18: Frama_C_show_each: {1}, {1}, {0; 1} +< [eva] tests/value/local_slevel.i:18: Frama_C_show_each: {-1}, {0}, {0; 1} +< [eva] tests/value/local_slevel.i:18: Frama_C_show_each: {1}, {1}, {0; 1; 2} +--- +> [eva] tests/value/local_slevel.i:18: Frama_C_show_each: {1}, {1}, {1} +> [eva] tests/value/local_slevel.i:18: Frama_C_show_each: {-1}, {0}, {0} +> [eva] tests/value/local_slevel.i:18: Frama_C_show_each: {1}, {1}, {1} +398c390 +< Frama_C_show_each: {1}, [1..79],1%2, {0; 1; 2; 3} +--- +> Frama_C_show_each: {1}, [1..79],1%2, {1; 2; 3} +402c394 +< Frama_C_show_each: {1}, [1..79],1%2, {0; 1; 2; 3; 4} +--- +> Frama_C_show_each: {1}, [1..79],1%2, {1; 2; 3; 4} +406,414c398 +< Frama_C_show_each: {1}, [1..79],1%2, [0..2147483647] +< [eva] tests/value/local_slevel.i:18: +< Frama_C_show_each: {-1}, [0..78],0%2, [0..2147483647] +< [eva] tests/value/local_slevel.i:18: +< Frama_C_show_each: {1}, [1..79],1%2, [0..2147483648] +< [eva] tests/value/local_slevel.i:18: +< Frama_C_show_each: {-1}, [0..78],0%2, [0..2147483648] +< [eva] tests/value/local_slevel.i:18: +< Frama_C_show_each: {1}, [1..79],1%2, [0..4294967295] +--- +> Frama_C_show_each: {1}, [1..79],1%2, [1..79] +416c400 +< Frama_C_show_each: {-1}, [0..78],0%2, [0..4294967295] +--- +> Frama_C_show_each: {-1}, [0..78],0%2, [0..78] +532c516 +< r ∈ [--..--] +--- +> r ∈ [0..2147483647] diff --git a/tests/value/oracle_gauges/loop_no_var.res.oracle b/tests/value/oracle_gauges/loop_no_var.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..13d459a97d0afd893e1fcc8004d26061c0c3374e --- /dev/null +++ b/tests/value/oracle_gauges/loop_no_var.res.oracle @@ -0,0 +1,2 @@ +6a7 +> [eva] tests/value/loop_no_var.i:3: starting to merge loop iterations diff --git a/tests/value/oracle_gauges/loop_wvar.1.res.oracle b/tests/value/oracle_gauges/loop_wvar.1.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..3cbd56d943b6f61678b7adcf19d622740d6de48c --- /dev/null +++ b/tests/value/oracle_gauges/loop_wvar.1.res.oracle @@ -0,0 +1,11 @@ +27,28c27 +< [eva] tests/value/loop_wvar.i:71: Frama_C_show_each: [0..9], [0..17], [0..11] +< [eva] tests/value/loop_wvar.i:71: Frama_C_show_each: [0..9], [0..18], [0..12] +--- +> [eva] tests/value/loop_wvar.i:71: Frama_C_show_each: [0..9], [0..9], [0..9] +37,38c36,37 +< j ∈ [0..18] +< k ∈ [0..12] +--- +> j ∈ [0..17] +> k ∈ [0..11] diff --git a/tests/value/oracle_gauges/loopfun.1.res.oracle b/tests/value/oracle_gauges/loopfun.1.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..4096faa0f9f092b7604436dd52ab6fd629a1d229 --- /dev/null +++ b/tests/value/oracle_gauges/loopfun.1.res.oracle @@ -0,0 +1,8 @@ +9a10,12 +> [eva] tests/value/loopfun.i:23: starting to merge loop iterations +> [eva:loop-unroll] tests/value/loopfun.i:25: loop not completely unrolled +> [eva] tests/value/loopfun.i:25: starting to merge loop iterations +11a15 +> [eva] tests/value/loopfun.i:26: starting to merge loop iterations +13a18 +> [eva] tests/value/loopfun.i:27: starting to merge loop iterations diff --git a/tests/value/oracle_gauges/loopinv.res.oracle b/tests/value/oracle_gauges/loopinv.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..e109e23df9c3fac971ea0f2322245e6f87748f00 --- /dev/null +++ b/tests/value/oracle_gauges/loopinv.res.oracle @@ -0,0 +1,21 @@ +72,74c72 +< [eva:alarm] tests/value/loopinv.c:69: Warning: +< loop invariant got status unknown. +< [eva] tests/value/loopinv.c:71: Frama_C_show_each: {0; 2; 4; 6; 8}, [1..107] +--- +> [eva] tests/value/loopinv.c:71: Frama_C_show_each: {0; 2; 4; 6; 8}, [1..106] +79,80c77,78 +< [eva:alarm] tests/value/loopinv.c:73: Warning: +< signed overflow. assert i + 1 ≤ 2147483647; +--- +> [eva:alarm] tests/value/loopinv.c:69: Warning: +> loop invariant got status unknown. +175,176d172 +< [ - ] Assertion 'Eva,signed_overflow' (file tests/value/loopinv.c, line 73) +< tried with Eva. +182,183c178,179 +< 7 To be validated +< 16 Total +--- +> 6 To be validated +> 15 Total diff --git a/tests/value/oracle_gauges/memexec.res.oracle b/tests/value/oracle_gauges/memexec.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..b06de9e7bb50aba248ba8582c53d7fa6804d6e6a --- /dev/null +++ b/tests/value/oracle_gauges/memexec.res.oracle @@ -0,0 +1,2 @@ +101a102 +> [eva] tests/value/memexec.c:98: starting to merge loop iterations diff --git a/tests/value/oracle_gauges/modulo.res.oracle b/tests/value/oracle_gauges/modulo.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..385e0e184c17b3aec284e3d184fed36779f83a92 --- /dev/null +++ b/tests/value/oracle_gauges/modulo.res.oracle @@ -0,0 +1,186 @@ +40a41,123 +> [eva] tests/value/modulo.i:41: Frama_C_show_each_1: [-10..-1], [-9..-1], [-8..0] +> [eva] tests/value/modulo.i:41: Frama_C_show_each_1: [-10..-1], [1..9], [-8..0] +> [eva] tests/value/modulo.i:41: Frama_C_show_each_1: [1..10], [-9..-1], [0..8] +> [eva] tests/value/modulo.i:41: Frama_C_show_each_1: [1..10], [1..9], [0..8] +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: +> [1..9], {1; 2; 3; 4; 5; 6; 7; 8}, {0; 1; 2; 3; 4; 5; 6; 7} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: +> [-9..-1], {1; 2; 3; 4; 5; 6; 7; 8}, {-7; -6; -5; -4; -3; -2; -1; 0} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: +> [1..9], {-8; -7; -6; -5; -4; -3; -2; -1}, {0; 1; 2; 3; 4; 5; 6; 7} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: +> [-9..-1], {-8; -7; -6; -5; -4; -3; -2; -1}, {-7; -6; -5; -4; -3; -2; -1; 0} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: +> {-8; -7; -6; -5; -4; -3; -2; -1}, +> {-7; -6; -5; -4; -3; -2; -1}, +> {-6; -5; -4; -3; -2; -1; 0} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: +> {-8; -7; -6; -5; -4; -3; -2; -1}, +> {1; 2; 3; 4; 5; 6; 7}, +> {-6; -5; -4; -3; -2; -1; 0} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: +> {1; 2; 3; 4; 5; 6; 7; 8}, {-7; -6; -5; -4; -3; -2; -1}, {0; 1; 2; 3; 4; 5; 6} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: +> {1; 2; 3; 4; 5; 6; 7; 8}, {1; 2; 3; 4; 5; 6; 7}, {0; 1; 2; 3; 4; 5; 6} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: +> {1; 2; 3; 4; 5; 6; 7}, {1; 2; 3; 4; 5; 6}, {0; 1; 2; 3; 4; 5} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: +> {-7; -6; -5; -4; -3; -2; -1}, {1; 2; 3; 4; 5; 6}, {-5; -4; -3; -2; -1; 0} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: +> {1; 2; 3; 4; 5; 6; 7}, {-6; -5; -4; -3; -2; -1}, {0; 1; 2; 3; 4; 5} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: +> {-7; -6; -5; -4; -3; -2; -1}, +> {-6; -5; -4; -3; -2; -1}, +> {-5; -4; -3; -2; -1; 0} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: +> {-6; -5; -4; -3; -2; -1}, {-5; -4; -3; -2; -1}, {-4; -3; -2; -1; 0} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: +> {-6; -5; -4; -3; -2; -1}, {1; 2; 3; 4; 5}, {-4; -3; -2; -1; 0} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: +> {1; 2; 3; 4; 5; 6}, {-5; -4; -3; -2; -1}, {0; 1; 2; 3; 4} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: {1; 2; 3; 4; 5; 6}, {1; 2; 3; 4; 5}, {0; 1; 2; 3; 4} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: {1; 2; 3; 4; 5}, {1; 2; 3; 4}, {0; 1; 2; 3} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: {-5; -4; -3; -2; -1}, {1; 2; 3; 4}, {-3; -2; -1; 0} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: {1; 2; 3; 4; 5}, {-4; -3; -2; -1}, {0; 1; 2; 3} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: {-5; -4; -3; -2; -1}, {-4; -3; -2; -1}, {-3; -2; -1; 0} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: {-4; -3; -2; -1}, {-3; -2; -1}, {-2; -1; 0} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: {-4; -3; -2; -1}, {1; 2; 3}, {-2; -1; 0} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: {1; 2; 3; 4}, {-3; -2; -1}, {0; 1; 2} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: {1; 2; 3; 4}, {1; 2; 3}, {0; 1; 2} +> [eva] tests/value/modulo.i:41: Frama_C_show_each_1: {1; 2; 3}, {1; 2}, {0; 1} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: {-3; -2; -1}, {1; 2}, {-1; 0} +> [eva] tests/value/modulo.i:41: Frama_C_show_each_1: {1; 2; 3}, {-2; -1}, {0; 1} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: {-3; -2; -1}, {-2; -1}, {-1; 0} +> [eva] tests/value/modulo.i:41: Frama_C_show_each_1: {-2; -1}, {-1}, {0} +> [eva] tests/value/modulo.i:41: Frama_C_show_each_1: {-2; -1}, {1}, {0} +> [eva] tests/value/modulo.i:41: Frama_C_show_each_1: {1; 2}, {-1}, {0} +> [eva] tests/value/modulo.i:41: Frama_C_show_each_1: {1; 2}, {1}, {0} +50a134,216 +> [eva] tests/value/modulo.i:53: Frama_C_show_each_2: [-10..-1], [1..9], [-8..0] +> [eva] tests/value/modulo.i:53: Frama_C_show_each_2: [-10..-1], [-9..-1], [-8..0] +> [eva] tests/value/modulo.i:53: Frama_C_show_each_2: [1..10], [1..9], [0..8] +> [eva] tests/value/modulo.i:53: Frama_C_show_each_2: [1..10], [-9..-1], [0..8] +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: +> [-9..-1], {1; 2; 3; 4; 5; 6; 7; 8}, {-7; -6; -5; -4; -3; -2; -1; 0} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: +> [1..9], {1; 2; 3; 4; 5; 6; 7; 8}, {0; 1; 2; 3; 4; 5; 6; 7} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: +> [-9..-1], {-8; -7; -6; -5; -4; -3; -2; -1}, {-7; -6; -5; -4; -3; -2; -1; 0} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: +> [1..9], {-8; -7; -6; -5; -4; -3; -2; -1}, {0; 1; 2; 3; 4; 5; 6; 7} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: +> {-8; -7; -6; -5; -4; -3; -2; -1}, +> {1; 2; 3; 4; 5; 6; 7}, +> {-6; -5; -4; -3; -2; -1; 0} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: +> {-8; -7; -6; -5; -4; -3; -2; -1}, +> {-7; -6; -5; -4; -3; -2; -1}, +> {-6; -5; -4; -3; -2; -1; 0} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: +> {1; 2; 3; 4; 5; 6; 7; 8}, {1; 2; 3; 4; 5; 6; 7}, {0; 1; 2; 3; 4; 5; 6} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: +> {1; 2; 3; 4; 5; 6; 7; 8}, {-7; -6; -5; -4; -3; -2; -1}, {0; 1; 2; 3; 4; 5; 6} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: +> {-7; -6; -5; -4; -3; -2; -1}, {1; 2; 3; 4; 5; 6}, {-5; -4; -3; -2; -1; 0} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: +> {1; 2; 3; 4; 5; 6; 7}, {1; 2; 3; 4; 5; 6}, {0; 1; 2; 3; 4; 5} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: +> {-7; -6; -5; -4; -3; -2; -1}, +> {-6; -5; -4; -3; -2; -1}, +> {-5; -4; -3; -2; -1; 0} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: +> {1; 2; 3; 4; 5; 6; 7}, {-6; -5; -4; -3; -2; -1}, {0; 1; 2; 3; 4; 5} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: +> {-6; -5; -4; -3; -2; -1}, {1; 2; 3; 4; 5}, {-4; -3; -2; -1; 0} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: +> {-6; -5; -4; -3; -2; -1}, {-5; -4; -3; -2; -1}, {-4; -3; -2; -1; 0} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: {1; 2; 3; 4; 5; 6}, {1; 2; 3; 4; 5}, {0; 1; 2; 3; 4} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: +> {1; 2; 3; 4; 5; 6}, {-5; -4; -3; -2; -1}, {0; 1; 2; 3; 4} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: {-5; -4; -3; -2; -1}, {1; 2; 3; 4}, {-3; -2; -1; 0} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: {1; 2; 3; 4; 5}, {1; 2; 3; 4}, {0; 1; 2; 3} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: {-5; -4; -3; -2; -1}, {-4; -3; -2; -1}, {-3; -2; -1; 0} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: {1; 2; 3; 4; 5}, {-4; -3; -2; -1}, {0; 1; 2; 3} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: {-4; -3; -2; -1}, {1; 2; 3}, {-2; -1; 0} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: {-4; -3; -2; -1}, {-3; -2; -1}, {-2; -1; 0} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: {1; 2; 3; 4}, {1; 2; 3}, {0; 1; 2} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: {1; 2; 3; 4}, {-3; -2; -1}, {0; 1; 2} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: {-3; -2; -1}, {1; 2}, {-1; 0} +> [eva] tests/value/modulo.i:53: Frama_C_show_each_2: {1; 2; 3}, {1; 2}, {0; 1} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: {-3; -2; -1}, {-2; -1}, {-1; 0} +> [eva] tests/value/modulo.i:53: Frama_C_show_each_2: {1; 2; 3}, {-2; -1}, {0; 1} +> [eva] tests/value/modulo.i:53: Frama_C_show_each_2: {-2; -1}, {1}, {0} +> [eva] tests/value/modulo.i:53: Frama_C_show_each_2: {-2; -1}, {-1}, {0} +> [eva] tests/value/modulo.i:53: Frama_C_show_each_2: {1; 2}, {1}, {0} +> [eva] tests/value/modulo.i:53: Frama_C_show_each_2: {1; 2}, {-1}, {0} +60a227,240 +> [eva] tests/value/modulo.i:64: Frama_C_show_each_3: [-10..10], [-9..9], [-8..8] +> [eva] tests/value/modulo.i:64: Frama_C_show_each_3: [-9..9], [-8..8], [-7..7] +> [eva] tests/value/modulo.i:64: Frama_C_show_each_3: [-8..8], [-7..7], [-6..6] +> [eva] tests/value/modulo.i:64: Frama_C_show_each_3: [-7..7], [-6..6], [-5..5] +> [eva] tests/value/modulo.i:64: Frama_C_show_each_3: [-6..6], [-5..5], [-4..4] +> [eva] tests/value/modulo.i:64: +> Frama_C_show_each_3: +> [-5..5], {-4; -3; -2; -1; 1; 2; 3; 4}, {-3; -2; -1; 0; 1; 2; 3} +> [eva] tests/value/modulo.i:64: +> Frama_C_show_each_3: +> {-4; -3; -2; -1; 1; 2; 3; 4}, {-3; -2; -1; 1; 2; 3}, {-2; -1; 0; 1; 2} +> [eva] tests/value/modulo.i:64: +> Frama_C_show_each_3: {-3; -2; -1; 1; 2; 3}, {-2; -1; 1; 2}, {-1; 0; 1} +> [eva] tests/value/modulo.i:64: Frama_C_show_each_3: {-2; -1; 1; 2}, {-1; 1}, {0} +81a262,263 +> [eva] tests/value/modulo.i:95: starting to merge loop iterations +> [eva] tests/value/modulo.i:82: starting to merge loop iterations diff --git a/tests/value/oracle_gauges/non_natural.res.oracle b/tests/value/oracle_gauges/non_natural.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..bc1e48d293fd33ea035d51d8740f9d028f0eee40 --- /dev/null +++ b/tests/value/oracle_gauges/non_natural.res.oracle @@ -0,0 +1,178 @@ +60,63c60 +< Frama_C_show_each: {{ &p2 + [0..400000],0%32 }} +< [eva:alarm] tests/value/non_natural.i:23: Warning: +< out of bounds write. assert \valid(tmp); +< (tmp from to++) +--- +> Frama_C_show_each: {{ &p2 + [0..399968],0%32 }} +66,68d62 +< [eva:alarm] tests/value/non_natural.i:24: Warning: +< out of bounds write. assert \valid(tmp_1); +< (tmp_1 from to++) +71,76d64 +< [eva:alarm] tests/value/non_natural.i:25: Warning: +< out of bounds write. assert \valid(tmp_3); +< (tmp_3 from to++) +< [eva:alarm] tests/value/non_natural.i:25: Warning: +< out of bounds read. assert \valid_read(tmp_4); +< (tmp_4 from from++) +79,84d66 +< [eva:alarm] tests/value/non_natural.i:26: Warning: +< out of bounds write. assert \valid(tmp_5); +< (tmp_5 from to++) +< [eva:alarm] tests/value/non_natural.i:26: Warning: +< out of bounds read. assert \valid_read(tmp_6); +< (tmp_6 from from++) +87,92d68 +< [eva:alarm] tests/value/non_natural.i:27: Warning: +< out of bounds write. assert \valid(tmp_7); +< (tmp_7 from to++) +< [eva:alarm] tests/value/non_natural.i:27: Warning: +< out of bounds read. assert \valid_read(tmp_8); +< (tmp_8 from from++) +95,100d70 +< [eva:alarm] tests/value/non_natural.i:28: Warning: +< out of bounds write. assert \valid(tmp_9); +< (tmp_9 from to++) +< [eva:alarm] tests/value/non_natural.i:28: Warning: +< out of bounds read. assert \valid_read(tmp_10); +< (tmp_10 from from++) +103,108d72 +< [eva:alarm] tests/value/non_natural.i:29: Warning: +< out of bounds write. assert \valid(tmp_11); +< (tmp_11 from to++) +< [eva:alarm] tests/value/non_natural.i:29: Warning: +< out of bounds read. assert \valid_read(tmp_12); +< (tmp_12 from from++) +111,125d74 +< [eva:alarm] tests/value/non_natural.i:30: Warning: +< out of bounds write. assert \valid(tmp_13); +< (tmp_13 from to++) +< [eva:alarm] tests/value/non_natural.i:30: Warning: +< out of bounds read. assert \valid_read(tmp_14); +< (tmp_14 from from++) +< [eva] tests/value/non_natural.i:22: +< Frama_C_show_each: {{ &p2 + [0..400032],0%32 }} +< [eva:alarm] tests/value/non_natural.i:23: Warning: +< out of bounds read. assert \valid_read(tmp_0); +< (tmp_0 from from++) +< [eva:alarm] tests/value/non_natural.i:24: Warning: +< out of bounds read. assert \valid_read(tmp_2); +< (tmp_2 from from++) +< [eva] tests/value/non_natural.i:22: Frama_C_show_each: {{ &p2 + [0..--],0%32 }} +128,129d76 +< more than 200(12501) elements to enumerate. Approximating. +< [kernel] tests/value/non_natural.i:23: +132,133d78 +< more than 200(12501) elements to enumerate. Approximating. +< [kernel] tests/value/non_natural.i:24: +194,197c139 +< Frama_C_show_each: {{ &p2 + [0..400000],0%32 }} +< [eva:alarm] tests/value/non_natural.i:39: Warning: +< out of bounds write. assert \valid(tmp); +< (tmp from to++) +--- +> Frama_C_show_each: {{ &p2 + [0..399968],0%32 }} +200,202d141 +< [eva:alarm] tests/value/non_natural.i:40: Warning: +< out of bounds write. assert \valid(tmp_1); +< (tmp_1 from to++) +205,210d143 +< [eva:alarm] tests/value/non_natural.i:41: Warning: +< out of bounds write. assert \valid(tmp_3); +< (tmp_3 from to++) +< [eva:alarm] tests/value/non_natural.i:41: Warning: +< out of bounds read. assert \valid_read(tmp_4); +< (tmp_4 from from++) +213,218d145 +< [eva:alarm] tests/value/non_natural.i:42: Warning: +< out of bounds write. assert \valid(tmp_5); +< (tmp_5 from to++) +< [eva:alarm] tests/value/non_natural.i:42: Warning: +< out of bounds read. assert \valid_read(tmp_6); +< (tmp_6 from from++) +221,226d147 +< [eva:alarm] tests/value/non_natural.i:43: Warning: +< out of bounds write. assert \valid(tmp_7); +< (tmp_7 from to++) +< [eva:alarm] tests/value/non_natural.i:43: Warning: +< out of bounds read. assert \valid_read(tmp_8); +< (tmp_8 from from++) +229,234d149 +< [eva:alarm] tests/value/non_natural.i:44: Warning: +< out of bounds write. assert \valid(tmp_9); +< (tmp_9 from to++) +< [eva:alarm] tests/value/non_natural.i:44: Warning: +< out of bounds read. assert \valid_read(tmp_10); +< (tmp_10 from from++) +237,242d151 +< [eva:alarm] tests/value/non_natural.i:45: Warning: +< out of bounds write. assert \valid(tmp_11); +< (tmp_11 from to++) +< [eva:alarm] tests/value/non_natural.i:45: Warning: +< out of bounds read. assert \valid_read(tmp_12); +< (tmp_12 from from++) +245,259d153 +< [eva:alarm] tests/value/non_natural.i:46: Warning: +< out of bounds write. assert \valid(tmp_13); +< (tmp_13 from to++) +< [eva:alarm] tests/value/non_natural.i:46: Warning: +< out of bounds read. assert \valid_read(tmp_14); +< (tmp_14 from from++) +< [eva] tests/value/non_natural.i:38: +< Frama_C_show_each: {{ &p2 + [0..400032],0%32 }} +< [eva:alarm] tests/value/non_natural.i:39: Warning: +< out of bounds read. assert \valid_read(tmp_0); +< (tmp_0 from from++) +< [eva:alarm] tests/value/non_natural.i:40: Warning: +< out of bounds read. assert \valid_read(tmp_2); +< (tmp_2 from from++) +< [eva] tests/value/non_natural.i:38: Frama_C_show_each: {{ &p2 + [0..--],0%32 }} +268,269c162,163 +< to ∈ {{ &p2 + [32..--],0%32 }} +< from ∈ {{ &p1 + [32..--],0%32 }} +--- +> to ∈ {{ &p2 + [32..400000],0%32 }} +> from ∈ {{ &p1 + [32..400000],0%32 }} +273,274c167,168 +< to ∈ {{ &p2 + [32..--],0%32 }} +< from ∈ {{ &p1 + [32..--],0%32 }} +--- +> to ∈ {{ &p2 + [32..400000],0%32 }} +> from ∈ {{ &p1 + [32..400000],0%32 }} +330,332c224,232 +< p2[0] FROM to; from; count; p1[0..100000] (and SELF) +< [1..99992] FROM to; from; count; p1[0..100001] (and SELF) +< [99993] FROM to; from; count; p1[1..100001] (and SELF) +--- +> p2[0] FROM to; from; count; p1[0..99992] (and SELF) +> [1] FROM to; from; count; p1[0..99993] (and SELF) +> [2] FROM to; from; count; p1[0..99994] (and SELF) +> [3] FROM to; from; count; p1[0..99995] (and SELF) +> [4] FROM to; from; count; p1[0..99996] (and SELF) +> [5] FROM to; from; count; p1[0..99997] (and SELF) +> [6] FROM to; from; count; p1[0..99998] (and SELF) +> [7..99992] FROM to; from; count; p1[0..99999] (and SELF) +> [99993] FROM to; from; count; p1[1..99999] (and SELF) +340,342c240,248 +< p2[0] FROM to; from; count; p1[0..100000] (and SELF) +< [1..99992] FROM to; from; count; p1[0..100001] (and SELF) +< [99993] FROM to; from; count; p1[1..100001] (and SELF) +--- +> p2[0] FROM to; from; count; p1[0..99992] (and SELF) +> [1] FROM to; from; count; p1[0..99993] (and SELF) +> [2] FROM to; from; count; p1[0..99994] (and SELF) +> [3] FROM to; from; count; p1[0..99995] (and SELF) +> [4] FROM to; from; count; p1[0..99996] (and SELF) +> [5] FROM to; from; count; p1[0..99997] (and SELF) +> [6] FROM to; from; count; p1[0..99998] (and SELF) +> [7..99992] FROM to; from; count; p1[0..99999] (and SELF) +> [99993] FROM to; from; count; p1[1..99999] (and SELF) +360c266 +< p1[0..100001] +--- +> p1[0..99999] +365c271 +< p1[0..100001] +--- +> p1[0..99999] diff --git a/tests/value/oracle_gauges/noreturn.res.oracle b/tests/value/oracle_gauges/noreturn.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..2f5c57570724a6b5ec84cc978235676a03e61149 --- /dev/null +++ b/tests/value/oracle_gauges/noreturn.res.oracle @@ -0,0 +1,8 @@ +8a9 +> [eva] tests/value/noreturn.i:20: starting to merge loop iterations +16a18 +> [eva] tests/value/noreturn.i:16: starting to merge loop iterations +32a35 +> [eva] tests/value/noreturn.i:7: starting to merge loop iterations +36a40 +> [eva] tests/value/noreturn.i:13: starting to merge loop iterations diff --git a/tests/value/oracle_gauges/octagons.res.oracle b/tests/value/oracle_gauges/octagons.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..49fefa1dc489947ad79cb8b973f9804fbb184331 --- /dev/null +++ b/tests/value/oracle_gauges/octagons.res.oracle @@ -0,0 +1,27 @@ +121,128d120 +< [eva:alarm] tests/value/octagons.c:107: Warning: +< signed overflow. assert a + 2 ≤ 2147483647; +< [eva:alarm] tests/value/octagons.c:108: Warning: +< signed overflow. assert b + 2 ≤ 2147483647; +< [eva:alarm] tests/value/octagons.c:110: Warning: +< signed overflow. assert a + k ≤ 2147483647; +< [eva:alarm] tests/value/octagons.c:113: Warning: +< signed overflow. assert -2147483648 ≤ c - a; +130c122 +< [eva] tests/value/octagons.c:116: Frama_C_show_each_imprecise: [-2147483648..1] +--- +> [eva] tests/value/octagons.c:116: Frama_C_show_each_imprecise: [-2468..1] +284,287c276,279 +< a ∈ [-1024..2147483647] +< b ∈ [-1023..2147483647] +< c ∈ [-1023..2147483647] +< d ∈ [-1032..2147483647] +--- +> a ∈ [-182..1866] +> b ∈ [-181..1867] +> c ∈ [-602..1446] +> d ∈ [-190..1874] +289c281 +< d2 ∈ [-2147483648..1] +--- +> d2 ∈ [-2468..1] diff --git a/tests/value/oracle_gauges/reduce_formals.res.oracle b/tests/value/oracle_gauges/reduce_formals.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..5d51c9b163e4132a3b20e36f9f4086a1d28e95bc --- /dev/null +++ b/tests/value/oracle_gauges/reduce_formals.res.oracle @@ -0,0 +1,2 @@ +10a11 +> [eva] tests/value/reduce_formals.i:5: starting to merge loop iterations diff --git a/tests/value/oracle_gauges/redundant_alarms.res.oracle b/tests/value/oracle_gauges/redundant_alarms.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..6fb7421de9d4f5ed067d020701cefc81b86b6bb6 --- /dev/null +++ b/tests/value/oracle_gauges/redundant_alarms.res.oracle @@ -0,0 +1,2 @@ +47a48 +> [eva] tests/value/redundant_alarms.c:39: starting to merge loop iterations diff --git a/tests/value/oracle_gauges/reevaluate_alarms.res.oracle b/tests/value/oracle_gauges/reevaluate_alarms.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..5ba638098acab6f3f08565ae63fb433b1e37acd8 --- /dev/null +++ b/tests/value/oracle_gauges/reevaluate_alarms.res.oracle @@ -0,0 +1,29 @@ +14,16d13 +< [eva:alarm] tests/value/reevaluate_alarms.i:14: Warning: +< out of bounds write. assert \valid(tmp); +< (tmp from p++) +59c56 +< p ∈ {{ &T + [0..--],0%4 }} +--- +> p ∈ {{ &T{[0], [1], [2], [3], [4], [5]} }} +124,125d120 +< [ - ] Assertion 'Eva,mem_access' (file tests/value/reevaluate_alarms.i, line 14) +< tried with Eva. +144,145c139,140 +< 4 To be validated +< 4 Total +--- +> 3 To be validated +> 3 Total +182,183d176 +< [eva] tests/value/reevaluate_alarms.i:14: +< assertion 'Eva,mem_access' got final status valid. +274,275d266 +< [ Valid ] Assertion 'Eva,mem_access' (file tests/value/reevaluate_alarms.i, line 14) +< by Eva (v2). +294,295c285,286 +< 4 Completely validated +< 4 Total +--- +> 3 Completely validated +> 3 Total diff --git a/tests/value/oracle_gauges/semaphore.res.oracle b/tests/value/oracle_gauges/semaphore.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..3e2b1b2c86f6b84c4ccd64937b28643eadd26672 --- /dev/null +++ b/tests/value/oracle_gauges/semaphore.res.oracle @@ -0,0 +1,10 @@ +24a25,33 +> [eva] computing for function V <- g. +> Called from tests/value/semaphore.i:31. +> [eva] Done for function V +> [eva] computing for function V <- g. +> Called from tests/value/semaphore.i:31. +> [eva] Done for function V +> [eva] computing for function V <- g. +> Called from tests/value/semaphore.i:31. +> [eva] Done for function V diff --git a/tests/value/oracle_gauges/symbolic_locs.res.oracle b/tests/value/oracle_gauges/symbolic_locs.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..7f734f6794dabb1fc73daf16cccb1bcb7381e1dc --- /dev/null +++ b/tests/value/oracle_gauges/symbolic_locs.res.oracle @@ -0,0 +1,2 @@ +135a136 +> [eva] tests/value/symbolic_locs.i:93: starting to merge loop iterations diff --git a/tests/value/oracle_gauges/undefined_sequence.0.res.oracle b/tests/value/oracle_gauges/undefined_sequence.0.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..e8f776c30713951ab4bd75cb835f4ed1b39e20c5 --- /dev/null +++ b/tests/value/oracle_gauges/undefined_sequence.0.res.oracle @@ -0,0 +1,4 @@ +97a98 +> [eva] tests/value/undefined_sequence.i:43: starting to merge loop iterations +101a103 +> [eva] tests/value/undefined_sequence.i:49: starting to merge loop iterations diff --git a/tests/value/oracle_gauges/unroll.res.oracle b/tests/value/oracle_gauges/unroll.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..81a921960fb00c34b0d1f0636d2361c61db51ca0 --- /dev/null +++ b/tests/value/oracle_gauges/unroll.res.oracle @@ -0,0 +1,9 @@ +13,14d12 +< [eva:alarm] tests/value/unroll.i:34: Warning: +< signed overflow. assert -2147483648 ≤ j - 1; +16a15 +> [eva] tests/value/unroll.i:39: starting to merge loop iterations +26c25 +< j ∈ [-2147483648..-123] +--- +> j ∈ {-238} diff --git a/tests/value/oracle_gauges/unroll_simple.res.oracle b/tests/value/oracle_gauges/unroll_simple.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..d9b0a864fe0371b8a883a85446d84ef7b97c7ad4 --- /dev/null +++ b/tests/value/oracle_gauges/unroll_simple.res.oracle @@ -0,0 +1,9 @@ +8,9d7 +< [eva:alarm] tests/value/unroll_simple.i:11: Warning: +< signed overflow. assert -2147483648 ≤ j - 1; +11a10 +> [eva] tests/value/unroll_simple.i:16: starting to merge loop iterations +21c20 +< j ∈ [-2147483648..-126] +--- +> j ∈ {-250} diff --git a/tests/value/oracle_gauges/va_list2.0.res.oracle b/tests/value/oracle_gauges/va_list2.0.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..8149f19c0d3eb1c14afbece52086636c015c3f3d --- /dev/null +++ b/tests/value/oracle_gauges/va_list2.0.res.oracle @@ -0,0 +1,13 @@ +50a51,62 +> [eva] tests/value/va_list2.c:16: +> Frama_C_show_each_i: +> {{ garbled mix of &{S_0_S___va_params; S_1_S___va_params} (origin: Well) }} +> [eva] tests/value/va_list2.c:21: +> Frama_C_show_each_f: +> {{ garbled mix of &{S_0_S___va_params; S_1_S___va_params} (origin: Well) }} +> [eva] tests/value/va_list2.c:16: +> Frama_C_show_each_i: +> {{ garbled mix of &{S_0_S___va_params; S_1_S___va_params} (origin: Well) }} +> [eva] tests/value/va_list2.c:21: +> Frama_C_show_each_f: +> {{ garbled mix of &{S_0_S___va_params; S_1_S___va_params} (origin: Well) }} diff --git a/tests/value/oracle_gauges/va_list2.1.res.oracle b/tests/value/oracle_gauges/va_list2.1.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..6af1df391437f951baaad48f4a545991f74459f3 --- /dev/null +++ b/tests/value/oracle_gauges/va_list2.1.res.oracle @@ -0,0 +1,13 @@ +40a41,52 +> [eva] computing for function __builtin_va_arg <- main. +> Called from tests/value/va_list2.c:15. +> [eva] Done for function __builtin_va_arg +> [eva] computing for function __builtin_va_arg <- main. +> Called from tests/value/va_list2.c:20. +> [eva] Done for function __builtin_va_arg +> [eva] computing for function __builtin_va_arg <- main. +> Called from tests/value/va_list2.c:15. +> [eva] Done for function __builtin_va_arg +> [eva] computing for function __builtin_va_arg <- main. +> Called from tests/value/va_list2.c:20. +> [eva] Done for function __builtin_va_arg diff --git a/tests/value/oracle_gauges/widen_on_non_monotonic.res.oracle b/tests/value/oracle_gauges/widen_on_non_monotonic.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..8d1b8fdc0935530652c731a1e86b7bc40e4884c3 --- /dev/null +++ b/tests/value/oracle_gauges/widen_on_non_monotonic.res.oracle @@ -0,0 +1,3 @@ +25a26,27 +> [eva] tests/value/widen_on_non_monotonic.i:21: starting to merge loop iterations +> [eva] tests/value/widen_on_non_monotonic.i:18: starting to merge loop iterations diff --git a/tests/value/oracle_gauges/widen_overflow.res.oracle b/tests/value/oracle_gauges/widen_overflow.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..3007b00b6bebdd84917aba46654bb185b25a99af --- /dev/null +++ b/tests/value/oracle_gauges/widen_overflow.res.oracle @@ -0,0 +1,4 @@ +31a32,34 +> [eva] computing for function u <- main. +> Called from tests/value/widen_overflow.i:9. +> [eva] Done for function u diff --git a/tests/value/oracle_octagons/alias.1.res.oracle b/tests/value/oracle_octagons/alias.1.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..aaa1d8228100a2a23d9e68f2d441b2743e0accba --- /dev/null +++ b/tests/value/oracle_octagons/alias.1.res.oracle @@ -0,0 +1,4 @@ +85c85 +< z ∈ {0; 1; 2} +--- +> z ∈ {0; 2} diff --git a/tests/value/oracle_octagons/alias.2.res.oracle b/tests/value/oracle_octagons/alias.2.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..686417eb7ea8aabf15bf58576ecd3afcd58780e1 --- /dev/null +++ b/tests/value/oracle_octagons/alias.2.res.oracle @@ -0,0 +1,4 @@ +76c76 +< z ∈ {-5; -4; -3; -2; -1; 0; 1; 1000} +--- +> z ∈ {-2; -1; 0; 1000} diff --git a/tests/value/oracle_octagons/alias.3.res.oracle b/tests/value/oracle_octagons/alias.3.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..e14f1380123bfd42bbd395f88c728c05558d44b3 --- /dev/null +++ b/tests/value/oracle_octagons/alias.3.res.oracle @@ -0,0 +1,4 @@ +67c67 +< z ∈ {0; 1; 2} +--- +> z ∈ {0; 2} diff --git a/tests/value/oracle_octagons/alias.5.res.oracle b/tests/value/oracle_octagons/alias.5.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..3136d5f1ef82f0f21af779e1e32866f2f1cfd502 --- /dev/null +++ b/tests/value/oracle_octagons/alias.5.res.oracle @@ -0,0 +1,2 @@ +59a60 +> [eva] tests/value/alias.i:260: starting to merge loop iterations diff --git a/tests/value/oracle_octagons/alias.6.res.oracle b/tests/value/oracle_octagons/alias.6.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..e2ea31a7a88a8e20d6b409da11c721d21ec6c9e0 --- /dev/null +++ b/tests/value/oracle_octagons/alias.6.res.oracle @@ -0,0 +1,16 @@ +82c82 +< t ∈ {4; 5; 6} +--- +> t ∈ {5} +87c87 +< y ∈ {0; 1} +--- +> y ∈ {1} +94,96c94,96 +< tz1 ∈ {0; 1} +< tz2 ∈ {0; 1} +< tz3 ∈ {0; 1} +--- +> tz1 ∈ {1} +> tz2 ∈ {1} +> tz3 ∈ {1} diff --git a/tests/value/oracle_octagons/audit.res.oracle b/tests/value/oracle_octagons/audit.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..9ff41db248872519df6d5b9ea95483fc420a1ff1 --- /dev/null +++ b/tests/value/oracle_octagons/audit.res.oracle @@ -0,0 +1,11 @@ +1,8d0 +< [kernel:audit] Warning: +< different hashes for tests/value/audit.c: got 08f73691217888d926a0ee15cbe18159, expected 01010101010101010101010101010101 +< [kernel:audit] Warning: +< different hashes for tests/value/audit_included_but_not_listed.h: got c2cc488143a476f69cf2ed04c3439e6e, expected <none> (not in list) +< [kernel:audit] Warning: +< missing files: +< tests/value/non_existing_file.h +< [kernel] Audit: sources list written to: tests/value/result/audit-out.json +34d25 +< [kernel] Wrote: tests/value/result/audit-out.json diff --git a/tests/value/oracle_octagons/auto_loop_unroll.0.res.oracle b/tests/value/oracle_octagons/auto_loop_unroll.0.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..88c7352194e032c8c77c2feede550015b0d8113a --- /dev/null +++ b/tests/value/oracle_octagons/auto_loop_unroll.0.res.oracle @@ -0,0 +1,27 @@ +220,221d219 +< [eva:alarm] tests/value/auto_loop_unroll.c:222: Warning: +< signed overflow. assert -2147483648 ≤ i_0 - 1; +227,228d224 +< [eva:alarm] tests/value/auto_loop_unroll.c:227: Warning: +< signed overflow. assert -2147483648 ≤ i_1 - 1; +258,259d253 +< [eva:alarm] tests/value/auto_loop_unroll.c:267: Warning: +< signed overflow. assert -2147483648 ≤ i - 1; +314,315d307 +< [eva:alarm] tests/value/auto_loop_unroll.c:348: Warning: +< signed overflow. assert -2147483648 ≤ i - 1; +330,331d321 +< [eva:alarm] tests/value/auto_loop_unroll.c:380: Warning: +< signed overflow. assert -2147483648 ≤ i - 1; +384c374 +< i ∈ [-2147483648..50] +--- +> i ∈ [-1..50] +389,391c379,381 +< i ∈ [0..2147483647] +< j ∈ [23..2147483647] +< k ∈ [22..2147483647] +--- +> i ∈ [23..2147483647] +> j ∈ [23..2147483646] +> k ∈ [22..2147483646] diff --git a/tests/value/oracle_octagons/auto_loop_unroll.1.res.oracle b/tests/value/oracle_octagons/auto_loop_unroll.1.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..a4f29dd3292a4588e4f0cd036a44807e4997ff3b --- /dev/null +++ b/tests/value/oracle_octagons/auto_loop_unroll.1.res.oracle @@ -0,0 +1,6 @@ +472,473c472,473 +< i ∈ [0..2147483647] +< j ∈ [23..2147483647] +--- +> i ∈ [23..2147483647] +> j ∈ [23..2147483646] diff --git a/tests/value/oracle_octagons/bitfield.res.oracle b/tests/value/oracle_octagons/bitfield.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..199dae9e57a2dd302735cfae290ce5e5f5788679 --- /dev/null +++ b/tests/value/oracle_octagons/bitfield.res.oracle @@ -0,0 +1,4 @@ +138a139,141 +> [eva] tests/value/bitfield.i:71: +> Frama_C_show_each: +> {{ garbled mix of &{b} (origin: Misaligned {tests/value/bitfield.i:70}) }} diff --git a/tests/value/oracle_octagons/builtins_split.res.oracle b/tests/value/oracle_octagons/builtins_split.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..db0e87eff7022241d70c67b791c2dcb2d4d4aaff --- /dev/null +++ b/tests/value/oracle_octagons/builtins_split.res.oracle @@ -0,0 +1,30 @@ +70a71,84 +> [eva] tests/value/builtins_split.c:104: +> Call to builtin Frama_C_builtin_split_all +> [eva] tests/value/builtins_split.c:104: +> Call to builtin Frama_C_builtin_split_all +> [eva] tests/value/builtins_split.c:104: +> Call to builtin Frama_C_builtin_split_all +> [eva] tests/value/builtins_split.c:104: +> Call to builtin Frama_C_builtin_split_all +> [eva] tests/value/builtins_split.c:104: +> Call to builtin Frama_C_builtin_split_all +> [eva] tests/value/builtins_split.c:104: +> Call to builtin Frama_C_builtin_split_all +> [eva] tests/value/builtins_split.c:104: +> Call to builtin Frama_C_builtin_split_all +81a96,109 +> [eva] tests/value/builtins_split.c:112: +> Call to builtin Frama_C_builtin_split_all +> [eva] tests/value/builtins_split.c:112: +> Call to builtin Frama_C_builtin_split_all +> [eva] tests/value/builtins_split.c:112: +> Call to builtin Frama_C_builtin_split_all +> [eva] tests/value/builtins_split.c:112: +> Call to builtin Frama_C_builtin_split_all +> [eva] tests/value/builtins_split.c:112: +> Call to builtin Frama_C_builtin_split_all +> [eva] tests/value/builtins_split.c:112: +> Call to builtin Frama_C_builtin_split_all +> [eva] tests/value/builtins_split.c:112: +> Call to builtin Frama_C_builtin_split_all diff --git a/tests/value/oracle_octagons/call_simple.res.oracle b/tests/value/oracle_octagons/call_simple.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..74d12f1f99b9b00efad1a5bf4a6df343d225573b --- /dev/null +++ b/tests/value/oracle_octagons/call_simple.res.oracle @@ -0,0 +1,4 @@ +28c28 +< c ∈ [--..--] +--- +> c ∈ [-2147483648..2147483646] diff --git a/tests/value/oracle_octagons/descending.res.oracle b/tests/value/oracle_octagons/descending.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..4f7f74dacd94a03077b450e88028ef39d7764628 --- /dev/null +++ b/tests/value/oracle_octagons/descending.res.oracle @@ -0,0 +1,4 @@ +42c42 +< i ∈ {31; 32} +--- +> i ∈ {31} diff --git a/tests/value/oracle_octagons/downcast.1.res.oracle b/tests/value/oracle_octagons/downcast.1.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..f19cd2082f61adbcc28e3ffa691016bde65af0b4 --- /dev/null +++ b/tests/value/oracle_octagons/downcast.1.res.oracle @@ -0,0 +1,8 @@ +61c61 +< [100000..2147483647], [100145..2147483647], [100145..2147483647] +--- +> [100000..2147483502], [100145..2147483647], [100145..2147483647] +166c166 +< x_0 ∈ [100000..2147483647] +--- +> x_0 ∈ [100000..2147483502] diff --git a/tests/value/oracle_octagons/equality.res.oracle b/tests/value/oracle_octagons/equality.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..239053b89508f58a2f4e7da51aa02dbd745df94a --- /dev/null +++ b/tests/value/oracle_octagons/equality.res.oracle @@ -0,0 +1,6 @@ +29,30c29,30 +< y ∈ [0..42] or UNINITIALIZED +< w ∈ [0..42] or UNINITIALIZED +--- +> y ∈ [0..42] +> w ∈ [0..42] diff --git a/tests/value/oracle_octagons/find_ivaltop.res.oracle b/tests/value/oracle_octagons/find_ivaltop.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..78a0a85a73a96bc5f8330e16c4fd3409e09df7d0 --- /dev/null +++ b/tests/value/oracle_octagons/find_ivaltop.res.oracle @@ -0,0 +1,14 @@ +32,33c32,33 +< j ∈ {0; 1; 2; 3; 4; 5; 6; 7} +< X ∈ {1; 2; 3; 4; 5; 6; 7; 8} +--- +> j ∈ {7} +> X ∈ {8} +39c39 +< \result FROM t[0..7] +--- +> \result FROM t[7] +44c44 +< t[0..7] +--- +> t[7] diff --git a/tests/value/oracle_octagons/for_loops.3.res.oracle b/tests/value/oracle_octagons/for_loops.3.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..4c040c1ab0562af5c0996d2e7789a658fca6e35d --- /dev/null +++ b/tests/value/oracle_octagons/for_loops.3.res.oracle @@ -0,0 +1,4 @@ +20c20 +< v ∈ [0..2147483647] +--- +> v ∈ [5..2147483647] diff --git a/tests/value/oracle_octagons/gauges.res.oracle b/tests/value/oracle_octagons/gauges.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..2b5b391aed850415332aaec12ea79eb0aa32fc54 --- /dev/null +++ b/tests/value/oracle_octagons/gauges.res.oracle @@ -0,0 +1,24 @@ +209,210d208 +< [eva:alarm] tests/value/gauges.c:156: Warning: +< signed overflow. assert -2147483648 ≤ toCopy - 1; +276,277d273 +< [eva:alarm] tests/value/gauges.c:201: Warning: +< signed overflow. assert -2147483648 ≤ numNonZero - 1; +300,304d295 +< [eva] tests/value/gauges.c:218: Frama_C_show_each: +< [eva] tests/value/gauges.c:218: Frama_C_show_each: +< [eva] tests/value/gauges.c:218: Frama_C_show_each: +< [eva:alarm] tests/value/gauges.c:220: Warning: +< signed overflow. assert -2147483648 ≤ n - 1; +791c782 +< numNonZero ∈ [-2147483648..8] +--- +> numNonZero ∈ {-1} +802c793 +< n ∈ [-2147483648..99] +--- +> n ∈ {-1} +863c854 +< toCopy ∈ [-2147483648..99] +--- +> toCopy ∈ {-1} diff --git a/tests/value/oracle_octagons/loop.res.oracle b/tests/value/oracle_octagons/loop.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..1e6eecbe6223b34acd096cb6316cd54e301c6132 --- /dev/null +++ b/tests/value/oracle_octagons/loop.res.oracle @@ -0,0 +1,4 @@ +26c26 +< r ∈ [0..2147483646],0%2 +--- +> r ∈ [46..2147483646],0%2 diff --git a/tests/value/oracle_octagons/loop_wvar.1.res.oracle b/tests/value/oracle_octagons/loop_wvar.1.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..9ce1dbf4e8c6388dca6198ef414c01f96d140460 --- /dev/null +++ b/tests/value/oracle_octagons/loop_wvar.1.res.oracle @@ -0,0 +1,7 @@ +12,13d11 +< [eva:alarm] tests/value/loop_wvar.i:57: Warning: +< signed overflow. assert next + 1 ≤ 2147483647; +41c39 +< next ∈ [0..2147483647] +--- +> next ∈ [0..25] diff --git a/tests/value/oracle_octagons/modulo.res.oracle b/tests/value/oracle_octagons/modulo.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..dbc52d1404fc8aa18bd2b63669af0b86eddd9870 --- /dev/null +++ b/tests/value/oracle_octagons/modulo.res.oracle @@ -0,0 +1,37 @@ +40a41,56 +> [eva] tests/value/modulo.i:41: Frama_C_show_each_1: [-10..-1], [-9..-1], [-8..0] +> [eva] tests/value/modulo.i:41: Frama_C_show_each_1: [-10..-1], [1..9], [-8..0] +> [eva] tests/value/modulo.i:41: Frama_C_show_each_1: [1..10], [-9..-1], [0..8] +> [eva] tests/value/modulo.i:41: Frama_C_show_each_1: [1..10], [1..9], [0..8] +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: +> [1..9], {1; 2; 3; 4; 5; 6; 7; 8}, {0; 1; 2; 3; 4; 5; 6; 7} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: +> [-9..-1], {1; 2; 3; 4; 5; 6; 7; 8}, {-7; -6; -5; -4; -3; -2; -1; 0} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: +> [1..9], {-8; -7; -6; -5; -4; -3; -2; -1}, {0; 1; 2; 3; 4; 5; 6; 7} +> [eva] tests/value/modulo.i:41: +> Frama_C_show_each_1: +> [-9..-1], {-8; -7; -6; -5; -4; -3; -2; -1}, {-7; -6; -5; -4; -3; -2; -1; 0} +50a67,82 +> [eva] tests/value/modulo.i:53: Frama_C_show_each_2: [-10..-1], [1..9], [-8..0] +> [eva] tests/value/modulo.i:53: Frama_C_show_each_2: [-10..-1], [-9..-1], [-8..0] +> [eva] tests/value/modulo.i:53: Frama_C_show_each_2: [1..10], [1..9], [0..8] +> [eva] tests/value/modulo.i:53: Frama_C_show_each_2: [1..10], [-9..-1], [0..8] +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: +> [-9..-1], {1; 2; 3; 4; 5; 6; 7; 8}, {-7; -6; -5; -4; -3; -2; -1; 0} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: +> [1..9], {1; 2; 3; 4; 5; 6; 7; 8}, {0; 1; 2; 3; 4; 5; 6; 7} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: +> [-9..-1], {-8; -7; -6; -5; -4; -3; -2; -1}, {-7; -6; -5; -4; -3; -2; -1; 0} +> [eva] tests/value/modulo.i:53: +> Frama_C_show_each_2: +> [1..9], {-8; -7; -6; -5; -4; -3; -2; -1}, {0; 1; 2; 3; 4; 5; 6; 7} +60a93,94 +> [eva] tests/value/modulo.i:64: Frama_C_show_each_3: [-10..10], [-9..9], [-8..8] +> [eva] tests/value/modulo.i:64: Frama_C_show_each_3: [-9..9], [-8..8], [-7..7] diff --git a/tests/value/oracle_octagons/non_natural.res.oracle b/tests/value/oracle_octagons/non_natural.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..75cd2e6c320fd6d76170e90452d24aa86ddc8251 --- /dev/null +++ b/tests/value/oracle_octagons/non_natural.res.oracle @@ -0,0 +1,45 @@ +58a59,60 +> [kernel] tests/value/non_natural.i:30: +> more than 200(12500) elements to enumerate. Approximating. +65a68,69 +> [kernel] tests/value/non_natural.i:23: +> more than 200(12500) elements to enumerate. Approximating. +70a75,76 +> [kernel] tests/value/non_natural.i:24: +> more than 200(12500) elements to enumerate. Approximating. +78a85,86 +> [kernel] tests/value/non_natural.i:25: +> more than 200(12500) elements to enumerate. Approximating. +86a95,96 +> [kernel] tests/value/non_natural.i:26: +> more than 200(12500) elements to enumerate. Approximating. +94a105,106 +> [kernel] tests/value/non_natural.i:27: +> more than 200(12500) elements to enumerate. Approximating. +102a115,116 +> [kernel] tests/value/non_natural.i:28: +> more than 200(12500) elements to enumerate. Approximating. +110a125,126 +> [kernel] tests/value/non_natural.i:29: +> more than 200(12500) elements to enumerate. Approximating. +129,130d144 +< [kernel] tests/value/non_natural.i:23: +< more than 200(12500) elements to enumerate. Approximating. +133,146d146 +< [kernel] tests/value/non_natural.i:24: +< more than 200(12500) elements to enumerate. Approximating. +< [kernel] tests/value/non_natural.i:25: +< more than 200(12500) elements to enumerate. Approximating. +< [kernel] tests/value/non_natural.i:26: +< more than 200(12500) elements to enumerate. Approximating. +< [kernel] tests/value/non_natural.i:27: +< more than 200(12500) elements to enumerate. Approximating. +< [kernel] tests/value/non_natural.i:28: +< more than 200(12500) elements to enumerate. Approximating. +< [kernel] tests/value/non_natural.i:29: +< more than 200(12500) elements to enumerate. Approximating. +< [kernel] tests/value/non_natural.i:30: +< more than 200(12500) elements to enumerate. Approximating. +199a200,201 +> [kernel] tests/value/non_natural.i:39: +> more than 200(12500) elements to enumerate. Approximating. diff --git a/tests/value/oracle_octagons/nonlin.res.oracle b/tests/value/oracle_octagons/nonlin.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..489912e113574e639c2185e77f87f628d03cf5d7 --- /dev/null +++ b/tests/value/oracle_octagons/nonlin.res.oracle @@ -0,0 +1,17 @@ +113a114,115 +> [eva:nonlin] tests/value/nonlin.c:71: non-linear 'x * x', lv 'x' +> [eva:nonlin] tests/value/nonlin.c:71: subdividing on x +116a119,121 +> [eva:nonlin] tests/value/nonlin.c:72: subdividing on x +> [eva:nonlin] tests/value/nonlin.c:72: non-linear 'y * y', lv 'y' +> [eva:nonlin] tests/value/nonlin.c:72: subdividing on y +119a125,126 +> [eva:nonlin] tests/value/nonlin.c:74: non-linear 'z * x + x * y', lv 'x' +> [eva:nonlin] tests/value/nonlin.c:74: subdividing on x +157a165,166 +> [eva:nonlin] tests/value/nonlin.c:118: non-linear 'x * x', lv 'x' +> [eva:nonlin] tests/value/nonlin.c:118: subdividing on x +160a170 +> [eva:nonlin] tests/value/nonlin.c:119: subdividing on x +161a172 +> [eva:nonlin] tests/value/nonlin.c:121: subdividing on x diff --git a/tests/value/oracle_octagons/plevel.res.oracle b/tests/value/oracle_octagons/plevel.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..d19a038f2cb62353c97e3e6ede7f83a949ef654e --- /dev/null +++ b/tests/value/oracle_octagons/plevel.res.oracle @@ -0,0 +1,4 @@ +12d11 +< [eva] Recording results for main +14a14 +> [eva] Recording results for main diff --git a/tests/value/oracle_octagons/ptr_relation.1.res.oracle b/tests/value/oracle_octagons/ptr_relation.1.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..2b931b79b7eb642356a750a916774a05631d63bb --- /dev/null +++ b/tests/value/oracle_octagons/ptr_relation.1.res.oracle @@ -0,0 +1,4 @@ +24c24 +< j ∈ {-1; 0; 1} +--- +> j ∈ {0} diff --git a/tests/value/oracle_octagons/relation_reduction.res.oracle b/tests/value/oracle_octagons/relation_reduction.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..652ddf13af23bbb7e14fe2d38db7906e17bb7743 --- /dev/null +++ b/tests/value/oracle_octagons/relation_reduction.res.oracle @@ -0,0 +1,23 @@ +24,27d23 +< [eva:alarm] tests/value/relation_reduction.i:20: Warning: +< accessing out of bounds index. assert 0 ≤ y; +< [eva:alarm] tests/value/relation_reduction.i:20: Warning: +< accessing out of bounds index. assert y < 9; +34,37c30,33 +< R1 ∈ [-2147483648..2147483637] +< R2 ∈ [-2147483638..2147483647] +< R3 ∈ [--..--] +< R4 ∈ {0; 1; 2; 3; 4; 5} +--- +> R1 ∈ {0; 2} +> R2 ∈ {0; 12} +> R3 ∈ {0; 7} +> R4 ∈ {0; 2} +48c44 +< R4 FROM tab[0..8]; x (and SELF) +--- +> R4 FROM tab[0..5]; x (and SELF) +53c49 +< y; t; tab[0..8] +--- +> y; t; tab[0..5] diff --git a/tests/value/oracle_octagons/relation_shift.res.oracle b/tests/value/oracle_octagons/relation_shift.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..435aef61e8e5077fa38cdac3ee0a5c44a8ab47a5 --- /dev/null +++ b/tests/value/oracle_octagons/relation_shift.res.oracle @@ -0,0 +1,37 @@ +18,25d17 +< [eva:alarm] tests/value/relation_shift.i:15: Warning: +< signed overflow. assert -2147483648 ≤ x - y; +< [eva:alarm] tests/value/relation_shift.i:15: Warning: +< signed overflow. assert x - y ≤ 2147483647; +< [eva:alarm] tests/value/relation_shift.i:16: Warning: +< signed overflow. assert -2147483648 ≤ z - y; +< [eva:alarm] tests/value/relation_shift.i:16: Warning: +< signed overflow. assert z - y ≤ 2147483647; +31,32c23,24 +< r1 ∈ [--..--] +< r2 ∈ [--..--] +--- +> r1 ∈ {2} +> r2 ∈ {7} +35,37c27,29 +< x ∈ [-2147483647..2147483647] +< y ∈ [-2147483648..2147483646] +< z ∈ [-2147483642..2147483647] +--- +> x ∈ [-2147483646..2147483642] +> y ∈ [-2147483648..2147483640] +> z ∈ [-2147483641..2147483647] +49,50c41,42 +< r1 ∈ [--..--] +< r2 ∈ [--..--] +--- +> r1 ∈ {2} +> r2 ∈ {7} +53,55c45,47 +< x ∈ [-2147483647..2147483647] +< y ∈ [-2147483648..2147483646] +< z ∈ [-2147483642..2147483647] +--- +> x ∈ [-2147483646..2147483642] +> y ∈ [-2147483648..2147483640] +> z ∈ [-2147483641..2147483647] diff --git a/tests/value/oracle_octagons/relations.res.oracle b/tests/value/oracle_octagons/relations.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..74aca336ba48970545ced8311cee9097bd21f1ef --- /dev/null +++ b/tests/value/oracle_octagons/relations.res.oracle @@ -0,0 +1,7 @@ +80,81c80,82 +< e ∈ [--..--] +< f ∈ [--..--] +--- +> e ∈ {1} +> f[bits 0 to 7] ∈ {1; 4} +> [bits 8 to 31] ∈ [--..--] diff --git a/tests/value/oracle_octagons/relations2.res.oracle b/tests/value/oracle_octagons/relations2.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..336fb1286049a2c995114562728531fdeaa60258 --- /dev/null +++ b/tests/value/oracle_octagons/relations2.res.oracle @@ -0,0 +1,29 @@ +25c25 +< len ∈ [--..--] +--- +> len ∈ [0..1023] +36,37c36 +< [eva] tests/value/relations2.i:17: +< Frama_C_show_each_end: [0..4294967295], [0..64] +--- +> [eva] tests/value/relations2.i:17: Frama_C_show_each_end: [0..1023], [0..64] +59c58 +< n ∈ [0..512] +--- +> n ∈ [1..512] +69,71d67 +< [eva:alarm] tests/value/relations2.i:34: Warning: +< accessing out of bounds index. +< assert (unsigned int)(i - (unsigned int)(t + 1)) < 514; +80c76 +< n ∈ [0..512] +--- +> n ∈ [1..512] +97c93 +< n ∈ [0..512] +--- +> n ∈ [1..512] +140c136 +< len ∈ [--..--] +--- +> len ∈ [0..1023] diff --git a/tests/value/oracle_octagons/semaphore.res.oracle b/tests/value/oracle_octagons/semaphore.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..5426d75253817c8769b672f09bf4ee5539017c4a --- /dev/null +++ b/tests/value/oracle_octagons/semaphore.res.oracle @@ -0,0 +1,4 @@ +65c65 +< c ∈ {-26; -1} +--- +> c ∈ {-1} diff --git a/tests/value/oracle_octagons/struct2.res.oracle b/tests/value/oracle_octagons/struct2.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..05366bda0b93542585afa553b8faf05b2837e67a --- /dev/null +++ b/tests/value/oracle_octagons/struct2.res.oracle @@ -0,0 +1,7 @@ +81,84d80 +< accessing out of bounds index. assert 0 ≤ (int)(i + j); +< [eva:alarm] tests/value/struct2.i:185: Warning: +< accessing out of bounds index. assert (int)(i + j) < 2; +< [eva:alarm] tests/value/struct2.i:185: Warning: +106d101 +< [scope:rm_asserts] removing 2 assertion(s) diff --git a/tests/value/oracle_octagons/test.0.res.oracle b/tests/value/oracle_octagons/test.0.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..6f3c9701da4cdaeb1f78771f6d0a36e3ce41a303 --- /dev/null +++ b/tests/value/oracle_octagons/test.0.res.oracle @@ -0,0 +1,7 @@ +17,18d16 +< [eva:alarm] tests/value/test.i:11: Warning: +< signed overflow. assert j + ecart ≤ 2147483647; +29c27 +< j ∈ [-1073741822..1] +--- +> j ∈ {-1; 0; 1} diff --git a/tests/value/oracle_octagons/unroll.res.oracle b/tests/value/oracle_octagons/unroll.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..c774b3acf1c35db888889fb5ad8d448f5c55ac51 --- /dev/null +++ b/tests/value/oracle_octagons/unroll.res.oracle @@ -0,0 +1,4 @@ +22c22 +< G ∈ [17739..2147483647] +--- +> G ∈ [17854..2147483647] diff --git a/tests/value/oracle_octagons/unroll_simple.res.oracle b/tests/value/oracle_octagons/unroll_simple.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..8a48c42f84b464b622a56e6b0bdf325a1423af5f --- /dev/null +++ b/tests/value/oracle_octagons/unroll_simple.res.oracle @@ -0,0 +1,4 @@ +17c17 +< G ∈ [8772..2147483647] +--- +> G ∈ [8896..2147483647] diff --git a/tests/value/oracle_symblocs/alias.0.res.oracle b/tests/value/oracle_symblocs/alias.0.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..c234ab23c2ef7ade7fb11fd8bd401d1a710a0a37 --- /dev/null +++ b/tests/value/oracle_symblocs/alias.0.res.oracle @@ -0,0 +1,10 @@ +103,104c103,104 +< t ∈ {1; 2; 4} +< u ∈ {2; 3; 4; 5} +--- +> t ∈ {4} +> u ∈ {5} +110c110 +< t2 ∈ {0; 3; 6} +--- +> t2 ∈ {6} diff --git a/tests/value/oracle_symblocs/alias.4.res.oracle b/tests/value/oracle_symblocs/alias.4.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..f45634e31c8c1322a448c5a229319212361daf9f --- /dev/null +++ b/tests/value/oracle_symblocs/alias.4.res.oracle @@ -0,0 +1,4 @@ +81c81 +< y ∈ {0; 3; 77} +--- +> y ∈ {77} diff --git a/tests/value/oracle_symblocs/alias.5.res.oracle b/tests/value/oracle_symblocs/alias.5.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..10edd6543c88d248bac175c0448826552773cdee --- /dev/null +++ b/tests/value/oracle_symblocs/alias.5.res.oracle @@ -0,0 +1,4 @@ +170c170 +< y ∈ {0; 3; 77} +--- +> y ∈ {77} diff --git a/tests/value/oracle_symblocs/alias.6.res.oracle b/tests/value/oracle_symblocs/alias.6.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..a7dfd3031756c0781ca8579ae7e21c2b0a65e1c0 --- /dev/null +++ b/tests/value/oracle_symblocs/alias.6.res.oracle @@ -0,0 +1,4 @@ +86c86 +< x ∈ {0; 4; 33} +--- +> x ∈ {33} diff --git a/tests/value/oracle_symblocs/audit.res.oracle b/tests/value/oracle_symblocs/audit.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..9ff41db248872519df6d5b9ea95483fc420a1ff1 --- /dev/null +++ b/tests/value/oracle_symblocs/audit.res.oracle @@ -0,0 +1,11 @@ +1,8d0 +< [kernel:audit] Warning: +< different hashes for tests/value/audit.c: got 08f73691217888d926a0ee15cbe18159, expected 01010101010101010101010101010101 +< [kernel:audit] Warning: +< different hashes for tests/value/audit_included_but_not_listed.h: got c2cc488143a476f69cf2ed04c3439e6e, expected <none> (not in list) +< [kernel:audit] Warning: +< missing files: +< tests/value/non_existing_file.h +< [kernel] Audit: sources list written to: tests/value/result/audit-out.json +34d25 +< [kernel] Wrote: tests/value/result/audit-out.json diff --git a/tests/value/oracle_symblocs/bitwise_pointer.res.oracle b/tests/value/oracle_symblocs/bitwise_pointer.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..f04f7077977a5a61ea7d346c6ff6f90a2e4237e4 --- /dev/null +++ b/tests/value/oracle_symblocs/bitwise_pointer.res.oracle @@ -0,0 +1,8 @@ +62c62 +< x ∈ [0..9] +--- +> x ∈ {5} +75c75 +< x1 ∈ [0..9] +--- +> x1 ∈ {5} diff --git a/tests/value/oracle_symblocs/bitwise_reduction.res.oracle b/tests/value/oracle_symblocs/bitwise_reduction.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..13596efae1bad628225baa3662baad3164248fde --- /dev/null +++ b/tests/value/oracle_symblocs/bitwise_reduction.res.oracle @@ -0,0 +1,16 @@ +20c20 +< {0; 1}, {0; 1; 0x3000; 0x3001; 0x3200; 0x3201; 0xF000; 0xFF00} +--- +> {0; 1}, {0x3000; 0x3001; 0x3200; 0x3201; 0xF000; 0xFF00} +23c23 +< {0; 1}, {0; 1; 0x3000; 0x3001; 0x3200; 0x3201; 0xF000; 0xFF00} +--- +> {0; 1}, {0x3000; 0x3001; 0x3200; 0x3201; 0xF000; 0xFF00} +30c30 +< {{ &t + {0; 4} }}, {0; 1; 0x3000; 0x3001; 0x3200; 0x3201; 0xF000; 0xFF00} +--- +> {{ &t + {0; 4} }}, {0x3000; 0x3001; 0x3200; 0x3201; 0xF000; 0xFF00} +33c33 +< {0; 1}, {0; 1; 0x3000; 0x3001; 0x3200; 0x3201; 0xF000; 0xFF00} +--- +> {0; 1}, {0x3000; 0x3001; 0x3200; 0x3201; 0xF000; 0xFF00} diff --git a/tests/value/oracle_symblocs/domains_function.res.oracle b/tests/value/oracle_symblocs/domains_function.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..8027660c48a30414d4dd0f45f1ebc54835bbf95e --- /dev/null +++ b/tests/value/oracle_symblocs/domains_function.res.oracle @@ -0,0 +1,38 @@ +19,20c19 +< [eva] tests/value/domains_function.c:92: +< Frama_C_show_each_top: [-2147483648..2147483647] +--- +> [eva] tests/value/domains_function.c:92: Frama_C_show_each_top: {3} +28,29c27 +< [eva] tests/value/domains_function.c:77: +< Frama_C_show_each_top: [-2147483648..2147483647] +--- +> [eva] tests/value/domains_function.c:77: Frama_C_show_each_top: {1} +32,33c30 +< [eva] tests/value/domains_function.c:96: +< Frama_C_show_each_top: [-2147483648..2147483647] +--- +> [eva] tests/value/domains_function.c:96: Frama_C_show_each_top: {1} +52,56c49,50 +< [eva] computing for function not_enabled <- recursively_enabled <- main. +< Called from tests/value/domains_function.c:110. +< [eva] tests/value/domains_function.c:77: Frama_C_show_each_top: {1} +< [eva] Recording results for not_enabled +< [eva] Done for function not_enabled +--- +> [eva] tests/value/domains_function.c:110: +> Reusing old results for call to not_enabled +58,63c52,53 +< [eva] computing for function disabled <- recursively_enabled <- main. +< Called from tests/value/domains_function.c:112. +< [eva] tests/value/domains_function.c:84: +< Frama_C_show_each_top: [-2147483648..2147483647] +< [eva] Recording results for disabled +< [eva] Done for function disabled +--- +> [eva] tests/value/domains_function.c:112: +> Reusing old results for call to disabled +130c120 +< result ∈ [--..--] +--- +> result ∈ {1} diff --git a/tests/value/oracle_symblocs/incompatible_states.res.oracle b/tests/value/oracle_symblocs/incompatible_states.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..f25e47594b39d5e418b34b81dbddc46ea476db7d --- /dev/null +++ b/tests/value/oracle_symblocs/incompatible_states.res.oracle @@ -0,0 +1,7 @@ +41,42d40 +< [eva:alarm] tests/value/incompatible_states.c:53: Warning: +< division by zero. assert t[i] ≢ 0; +49c47 +< [scope:rm_asserts] removing 2 assertion(s) +--- +> [scope:rm_asserts] removing 1 assertion(s) diff --git a/tests/value/oracle_symblocs/library.res.oracle b/tests/value/oracle_symblocs/library.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..263da140a44605a2369da667c8975a15feee5d56 --- /dev/null +++ b/tests/value/oracle_symblocs/library.res.oracle @@ -0,0 +1,5 @@ +129,132d128 +< [eva:alarm] tests/value/library.i:44: Warning: +< non-finite float value. assert \is_finite(*pf); +< [eva:alarm] tests/value/library.i:44: Warning: +< non-finite float value. assert \is_finite(\add_float(*pf, *pf)); diff --git a/tests/value/oracle_symblocs/non_natural.res.oracle b/tests/value/oracle_symblocs/non_natural.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..5bb2115c807b021ea575ce651a33acbf81de8851 --- /dev/null +++ b/tests/value/oracle_symblocs/non_natural.res.oracle @@ -0,0 +1,52 @@ +58a59,60 +> [kernel] tests/value/non_natural.i:30: +> more than 200(12500) elements to enumerate. Approximating. +65a68,71 +> [kernel] tests/value/non_natural.i:23: +> more than 200(12501) elements to enumerate. Approximating. +> [kernel] tests/value/non_natural.i:23: +> more than 200(12500) elements to enumerate. Approximating. +70a77,80 +> [kernel] tests/value/non_natural.i:24: +> more than 200(12501) elements to enumerate. Approximating. +> [kernel] tests/value/non_natural.i:24: +> more than 200(12500) elements to enumerate. Approximating. +78a89,90 +> [kernel] tests/value/non_natural.i:25: +> more than 200(12500) elements to enumerate. Approximating. +86a99,100 +> [kernel] tests/value/non_natural.i:26: +> more than 200(12500) elements to enumerate. Approximating. +94a109,110 +> [kernel] tests/value/non_natural.i:27: +> more than 200(12500) elements to enumerate. Approximating. +102a119,120 +> [kernel] tests/value/non_natural.i:28: +> more than 200(12500) elements to enumerate. Approximating. +110a129,130 +> [kernel] tests/value/non_natural.i:29: +> more than 200(12500) elements to enumerate. Approximating. +127,146d146 +< [kernel] tests/value/non_natural.i:23: +< more than 200(12501) elements to enumerate. Approximating. +< [kernel] tests/value/non_natural.i:23: +< more than 200(12500) elements to enumerate. Approximating. +< [kernel] tests/value/non_natural.i:24: +< more than 200(12501) elements to enumerate. Approximating. +< [kernel] tests/value/non_natural.i:24: +< more than 200(12500) elements to enumerate. Approximating. +< [kernel] tests/value/non_natural.i:25: +< more than 200(12500) elements to enumerate. Approximating. +< [kernel] tests/value/non_natural.i:26: +< more than 200(12500) elements to enumerate. Approximating. +< [kernel] tests/value/non_natural.i:27: +< more than 200(12500) elements to enumerate. Approximating. +< [kernel] tests/value/non_natural.i:28: +< more than 200(12500) elements to enumerate. Approximating. +< [kernel] tests/value/non_natural.i:29: +< more than 200(12500) elements to enumerate. Approximating. +< [kernel] tests/value/non_natural.i:30: +< more than 200(12500) elements to enumerate. Approximating. +199a200,201 +> [kernel] tests/value/non_natural.i:39: +> more than 200(12500) elements to enumerate. Approximating. diff --git a/tests/value/oracle_symblocs/offsetmap.0.res.oracle b/tests/value/oracle_symblocs/offsetmap.0.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..6bebb89e738e4c6703b3d8b869f9d852e34a9e44 --- /dev/null +++ b/tests/value/oracle_symblocs/offsetmap.0.res.oracle @@ -0,0 +1,4 @@ +40d39 +< [eva] Recording results for g +42a42 +> [eva] Recording results for g diff --git a/tests/value/oracle_symblocs/offsetmap.1.res.oracle b/tests/value/oracle_symblocs/offsetmap.1.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..6bebb89e738e4c6703b3d8b869f9d852e34a9e44 --- /dev/null +++ b/tests/value/oracle_symblocs/offsetmap.1.res.oracle @@ -0,0 +1,4 @@ +40d39 +< [eva] Recording results for g +42a42 +> [eva] Recording results for g diff --git a/tests/value/oracle_symblocs/plevel.res.oracle b/tests/value/oracle_symblocs/plevel.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..d19a038f2cb62353c97e3e6ede7f83a949ef654e --- /dev/null +++ b/tests/value/oracle_symblocs/plevel.res.oracle @@ -0,0 +1,4 @@ +12d11 +< [eva] Recording results for main +14a14 +> [eva] Recording results for main diff --git a/tests/value/oracle_symblocs/ptr_relation.0.res.oracle b/tests/value/oracle_symblocs/ptr_relation.0.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..0ae744ec7d6e6fcde013d15696dcf66e9f1424b5 --- /dev/null +++ b/tests/value/oracle_symblocs/ptr_relation.0.res.oracle @@ -0,0 +1,4 @@ +23c23 +< i ∈ {0; 77; 333} +--- +> i ∈ {77} diff --git a/tests/value/oracle_symblocs/redundant_alarms.res.oracle b/tests/value/oracle_symblocs/redundant_alarms.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..e407fdc210c632ac34c27e535cf48ac5a107e338 --- /dev/null +++ b/tests/value/oracle_symblocs/redundant_alarms.res.oracle @@ -0,0 +1,41 @@ +10,13d9 +< [eva:alarm] tests/value/redundant_alarms.c:11: Warning: +< accessing uninitialized left-value. assert \initialized(p); +< [eva:alarm] tests/value/redundant_alarms.c:12: Warning: +< accessing uninitialized left-value. assert \initialized(p); +24,27d19 +< [eva:alarm] tests/value/redundant_alarms.c:21: Warning: +< accessing uninitialized left-value. assert \initialized(&t[i]); +< [eva:alarm] tests/value/redundant_alarms.c:22: Warning: +< accessing uninitialized left-value. assert \initialized(&t[i]); +38,41d29 +< [eva:alarm] tests/value/redundant_alarms.c:32: Warning: +< accessing uninitialized left-value. assert \initialized(&t[j]); +< [eva:alarm] tests/value/redundant_alarms.c:33: Warning: +< accessing uninitialized left-value. assert \initialized(&t[i]); +63,69d50 +< [scope:rm_asserts] removing 3 assertion(s) +< [scope:rm_asserts] tests/value/redundant_alarms.c:12: +< removing redundant assert Eva: initialization: \initialized(p); +< [scope:rm_asserts] tests/value/redundant_alarms.c:32: +< removing redundant assert Eva: initialization: \initialized(&t[j]); +< [scope:rm_asserts] tests/value/redundant_alarms.c:33: +< removing redundant assert Eva: initialization: \initialized(&t[i]); +108d88 +< /*@ assert Eva: initialization: \initialized(p); */ +110d89 +< /*@ assert Eva: initialization: \initialized(p); */ +127d105 +< /*@ assert Eva: initialization: \initialized(&t[i]); */ +129d106 +< /*@ assert Eva: initialization: \initialized(&t[i]); */ +142d118 +< /*@ assert Eva: initialization: \initialized(&t[j]); */ +144d119 +< /*@ assert Eva: initialization: \initialized(&t[i]); */ +196a172 +> int z; +199,201d174 +< *p = 1; +< int z = *p + 1; +< int w = *p + 2; diff --git a/tests/value/oracle_symblocs/relations2.res.oracle b/tests/value/oracle_symblocs/relations2.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..51123dbb8456bc59e90c82a92ead8a61ea7952dd --- /dev/null +++ b/tests/value/oracle_symblocs/relations2.res.oracle @@ -0,0 +1,2 @@ +133d132 +< [eva] tests/value/relations2.i:57: Frama_C_show_each_NO2: diff --git a/tests/value/oracle_symblocs/struct2.res.oracle b/tests/value/oracle_symblocs/struct2.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..a2e06e1f458cbc483aac53882fe8ed6be12db421 --- /dev/null +++ b/tests/value/oracle_symblocs/struct2.res.oracle @@ -0,0 +1,27 @@ +55a56,57 +> [kernel] tests/value/struct2.i:78: Warning: +> all target addresses were invalid. This path is assumed to be dead. +59,60d60 +< accessing out of bounds index. assert 0 ≤ (int)(tab2[i] + j); +< [eva:alarm] tests/value/struct2.i:82: Warning: +83,84d82 +< accessing out of bounds index. assert (int)(i + j) < 2; +< [eva:alarm] tests/value/struct2.i:185: Warning: +106c104 +< [scope:rm_asserts] removing 2 assertion(s) +--- +> [scope:rm_asserts] removing 1 assertion(s) +144,145c142 +< tab4[0] ∈ {0; 2} +< [1] ∈ {0} +--- +> tab4[0..1] ∈ {0} +148c145,146 +< tab6[0..1] ∈ {0; 2} +--- +> tab6[0] ∈ {0} +> [1] ∈ {2} +219c217 +< [9].a}; s1; s2; s5.e[0].b; s6.b; s8; tabl[0..1]; tab1[0..1]; +--- +> [9].a}; s1; s2; s5.e[0].b; s6.b; s8; tabl[0..1]; tab1[0]; diff --git a/tests/value/oracle_symblocs/symbolic_locs.res.oracle b/tests/value/oracle_symblocs/symbolic_locs.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..6f9fd51c1da08da534c6c7218654b0546cb75176 --- /dev/null +++ b/tests/value/oracle_symblocs/symbolic_locs.res.oracle @@ -0,0 +1,71 @@ +20a21,26 +> # Symbolic locations domain: +> V: {[ t[i] -> {4} ]} +> Z: {[ t[i] -> t[0..8]; i ]} +> I: {[ t -> {t[i]} +> i -> {t[i]} ]} +> S: {[ i -> {t[i]} ]} +31a38,42 +> # Symbolic locations domain: +> V: {[ ]} +> Z: {[ ]} +> I: {[ ]} +> S: {[ ]} +48a60,65 +> # Symbolic locations domain: +> V: {[ t[i] -> {4} ]} +> Z: {[ t[i] -> t[0..8]; i ]} +> I: {[ t -> {t[i]} +> i -> {t[i]} ]} +> S: {[ i -> {t[i]} ]} +59a77,81 +> # Symbolic locations domain: +> V: {[ ]} +> Z: {[ ]} +> I: {[ ]} +> S: {[ ]} +79a102,108 +> # Symbolic locations domain: +> V: {[ t[i] -> {{ &x }} ]} +> Z: {[ t[i] -> t[0..8]; i ]} +> I: {[ t -> {t[i]} +> i -> {t[i]} ]} +> S: {[ i -> {t[i]} +> x -> {t[i]} ]} +92a122,126 +> # Symbolic locations domain: +> V: {[ ]} +> Z: {[ ]} +> I: {[ ]} +> S: {[ ]} +108a143,148 +> # Symbolic locations domain: +> V: {[ t[i] -> {1} ]} +> Z: {[ t[i] -> t[0..8]; i ]} +> I: {[ t -> {t[i]} +> i -> {t[i]} ]} +> S: {[ i -> {t[i]} ]} +117a158,162 +> # Symbolic locations domain: +> V: {[ ]} +> Z: {[ ]} +> I: {[ ]} +> S: {[ ]} +134a180,184 +> # Symbolic locations domain: +> V: {[ ]} +> Z: {[ ]} +> I: {[ ]} +> S: {[ ]} +141,143c191 +< [eva:alarm] tests/value/symbolic_locs.i:111: Warning: +< signed overflow. assert *p + 1 ≤ 2147483647; +< [eva] tests/value/symbolic_locs.i:113: Frama_C_show_each: [0..2147483647] +--- +> [eva] tests/value/symbolic_locs.i:113: Frama_C_show_each: [10001..2147483647] +152a201,205 +> # Symbolic locations domain: +> V: {[ ]} +> Z: {[ ]} +> I: {[ ]} +> S: {[ ]} diff --git a/tests/value/oracle_symblocs/test.0.res.oracle b/tests/value/oracle_symblocs/test.0.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..272fc4fdee900b3236d134532b18759e68232b08 --- /dev/null +++ b/tests/value/oracle_symblocs/test.0.res.oracle @@ -0,0 +1,4 @@ +31c31 +< tmp ∈ [--..--] or UNINITIALIZED +--- +> tmp ∈ [-2147483647..2147483647] or UNINITIALIZED