diff --git a/src/kernel_services/abstract_interp/abstract_interp.ml b/src/kernel_services/abstract_interp/abstract_interp.ml index 8556519564248f3cd6f260e6479949b4c6e52ee7..109cf2d8e185ba8b3bcce0224d3537e61edc3845 100644 --- a/src/kernel_services/abstract_interp/abstract_interp.ml +++ b/src/kernel_services/abstract_interp/abstract_interp.ml @@ -25,7 +25,11 @@ exception Error_Bottom exception Not_less_than exception Can_not_subdiv -let msg_emitter = Lattice_messages.register "Abstract_interp" +let dkey = Kernel.register_category "approximation" +let () = Kernel.add_debug_keys dkey + +let feedback_approximation format = + Kernel.feedback ~dkey ~current:true ~once:true format type truth = True | False | Unknown @@ -269,8 +273,7 @@ module Int = struct let nb_loop = e_div (sub sup inf) step in let rec fold_incr ~counter ~inf acc = if equal counter onethousand then - Lattice_messages.emit_costly msg_emitter - "enumerating %a integers" pretty nb_loop; + feedback_approximation "enumerating %a integers" pretty nb_loop; if le inf sup then begin (* Format.printf "Int.fold: %a@\n" pretty inf; *) fold_incr ~counter:(succ counter) ~inf:(add step inf) (f inf acc) @@ -278,8 +281,7 @@ module Int = struct in let rec fold_decr ~counter ~sup acc = if equal counter onethousand then - Lattice_messages.emit_costly msg_emitter - "enumerating %a integers" pretty nb_loop; + feedback_approximation "enumerating %a integers" pretty nb_loop; if le inf sup then begin (* Format.printf "Int.fold: %a@\n" pretty inf; *) fold_decr ~counter:(succ counter) ~sup:(add step sup) (f sup acc) diff --git a/src/kernel_services/abstract_interp/abstract_interp.mli b/src/kernel_services/abstract_interp/abstract_interp.mli index 5fcbdcdd7b74c9f0cca30fad29d1a1da287bad9e..9316a481170a92b2a51a59913935feaaecee239b 100644 --- a/src/kernel_services/abstract_interp/abstract_interp.mli +++ b/src/kernel_services/abstract_interp/abstract_interp.mli @@ -23,6 +23,8 @@ (** Functors for generic lattices implementations. @see <https://frama-c.com/download/frama-c-plugin-development-guide.pdf> *) +val feedback_approximation: ('a, Format.formatter, unit) format -> 'a + exception Error_Top (** Raised by some functions when encountering a top value. *) diff --git a/src/kernel_services/abstract_interp/int_interval.ml b/src/kernel_services/abstract_interp/int_interval.ml index 4ec276b83bb77282cd29d98d1e38549bec679c03..21565bdbb10fba7beb7f422c2b482092239ad37d 100644 --- a/src/kernel_services/abstract_interp/int_interval.ml +++ b/src/kernel_services/abstract_interp/int_interval.ml @@ -22,9 +22,6 @@ open Abstract_interp -let emitter = Lattice_messages.register "Int_interval";; -let log_imprecision s = Lattice_messages.emit_imprecision emitter s - (* Represents the interval between [min] and [max], congruent to [rem] modulo [modulo]. A value of [None] for [min] (resp. [max]) represents -infinity (resp. +infinity). [modulo] is > 0, and [0 <= rem < modulo]. *) @@ -683,12 +680,11 @@ let div_range x ymn ymx = let max = Int.max (Int.max c1 c2) (Int.max c3 c4) in inject_range (Some min) (Some max) | _ -> - log_imprecision "Ival.div_range"; top let div x y = match y.min, y.max with - | None, _ | _, None -> log_imprecision "Ival.div"; `Value top + | None, _ | _, None -> `Value top | Some min, Some max -> let result_pos = if Int.gt max Int.zero diff --git a/src/kernel_services/abstract_interp/int_set.ml b/src/kernel_services/abstract_interp/int_set.ml index 43f46c43e38f18cc00b5df92c864ccf42085a00f..852f06a86f2cd4527550febc6a9c654aa66689ae 100644 --- a/src/kernel_services/abstract_interp/int_set.ml +++ b/src/kernel_services/abstract_interp/int_set.ml @@ -30,9 +30,6 @@ let set_small_cardinal i = small_cardinal := i let debug_cardinal = false -let emitter = Lattice_messages.register "Int_set";; -let log_imprecision s = Lattice_messages.emit_imprecision emitter s - (* Small sets of integers, implemented as sorted non-empty arrays. *) type set = Int.t array @@ -335,7 +332,6 @@ let set_to_ival_under set = (* Else: arbitrarily drop some elements of the under approximation. *) else let a = Array.make !small_cardinal Int.zero in - log_imprecision "Ival.set_to_ival_under"; try ignore (Int.Set.fold (fun elt i -> if i = !small_cardinal then raise Exit; diff --git a/src/kernel_services/abstract_interp/int_val.ml b/src/kernel_services/abstract_interp/int_val.ml index ed4c2b7551ea874e91173209e5be2972144b197f..dfa194dc7a3121bc8c120beb00ea2c48a11cc813 100644 --- a/src/kernel_services/abstract_interp/int_val.ml +++ b/src/kernel_services/abstract_interp/int_val.ml @@ -27,9 +27,6 @@ open Bottom.Operators let small_cardinal = Int_set.get_small_cardinal let small_cardinal_Int () = Int.of_int (small_cardinal ()) -let emitter = Lattice_messages.register "Int_val" -let log_imprecision s = Lattice_messages.emit_imprecision emitter s - type widen_hint = Datatype.Integer.Set.t (* --------------------------------- Datatype ------------------------------- *) @@ -315,7 +312,6 @@ let diff_if_one value rem = | _ -> `Value value let diff value rem = - log_imprecision "Ival.diff"; diff_if_one value rem (* ------------------------------- Lattice ---------------------------------- *) @@ -426,8 +422,6 @@ let add_under v1 v2 = | Set s1, Set s2 -> `Value (inject_set_or_top (Int_set.add_under s1 s2)) | Itv i1, Itv i2 -> Int_interval.add_under i1 i2 >>-: inject_itv | Set s, Itv i | Itv i, Set s -> - if Int_set.cardinal s <> 1 - then log_imprecision "Ival.add_int_under"; (* This is precise if [s] has only one element. Otherwise, this is not worse than another computation. *) `Value (Itv (Int_interval.add_singleton_int (Int_set.min s) i)) @@ -527,7 +521,6 @@ let shift_aux scale op (x: t) (y: t) = let factor = check_make ~min ~max ~rem:Int.zero ~modu in op x factor with Z.Overflow -> - Lattice_messages.emit_imprecision emitter "Ival.shift_aux"; (* We only preserve the sign of the result *) if is_included x positive_integers then positive_integers else @@ -659,9 +652,7 @@ let extract_bits ~start ~stop = function let dived = scale_div ~pos:true (Int.two_power start) d in let factor = Int.two_power (Int.length start stop) in scale_rem ~pos:true factor dived - with Z.Overflow -> - Lattice_messages.emit_imprecision emitter "Ival.extract_bits"; - top + with Z.Overflow -> top let make = check_make diff --git a/src/kernel_services/abstract_interp/ival.ml b/src/kernel_services/abstract_interp/ival.ml index dd3c6a9e3ed1db9fe8fbebe7cd2aa18d56ec5264..7d64c801fb99d13edc99597d07ac6b5c3860a20b 100644 --- a/src/kernel_services/abstract_interp/ival.ml +++ b/src/kernel_services/abstract_interp/ival.ml @@ -24,9 +24,6 @@ open Abstract_interp open Lattice_bounds open Bottom.Operators -let emitter = Lattice_messages.register "Ival" -let log_imprecision s = Lattice_messages.emit_imprecision emitter s - module type Type = sig (* Binary abstract operations do not model precisely float/integer operations. It is the responsibility of the callers to have two operands of the same @@ -667,7 +664,6 @@ let diff_if_one value rem = | _, _ -> value let diff value rem = - log_imprecision "Ival.diff"; diff_if_one value rem (* This function is an iterator, but it needs [diff_if_one] just above. *) diff --git a/src/kernel_services/abstract_interp/lattice_messages.ml b/src/kernel_services/abstract_interp/lattice_messages.ml deleted file mode 100644 index 969b8a61dd96da2583d19b4cf4225906701c3854..0000000000000000000000000000000000000000 --- a/src/kernel_services/abstract_interp/lattice_messages.ml +++ /dev/null @@ -1,61 +0,0 @@ -(**************************************************************************) -(* *) -(* This file is part of Frama-C. *) -(* *) -(* Copyright (C) 2007-2024 *) -(* CEA (Commissariat à l'énergie atomique et aux énergies *) -(* alternatives) *) -(* *) -(* you can redistribute it and/or modify it under the terms of the GNU *) -(* Lesser General Public License as published by the Free Software *) -(* Foundation, version 2.1. *) -(* *) -(* It is distributed in the hope that it will be useful, *) -(* but WITHOUT ANY WARRANTY; without even the implied warranty of *) -(* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *) -(* GNU Lesser General Public License for more details. *) -(* *) -(* See the GNU Lesser General Public License version 2.1 *) -(* for more details (enclosed in the file licenses/LGPLv2.1). *) -(* *) -(**************************************************************************) - -type t = - | Approximation of string - | Imprecision of string - | Costly of string - | Unsoundness of string - -type emitter = unit - -let emit _emitter msg = - match msg with - | Imprecision _ -> () (* Only for debug purposes *) - | Approximation str - | Costly str - | Unsoundness str -> - Kernel.feedback ~current:true ~once:true "%s" str -;; - -let register _name = () - -let emit_approximation emitter = Format.kfprintf (fun _fmt -> - let str = Format.flush_str_formatter() in - emit emitter (Approximation str)) Format.str_formatter -;; - -let emit_costly emitter = Format.kfprintf (fun _fmt -> - let str = Format.flush_str_formatter() in - emit emitter (Costly str)) Format.str_formatter -;; - -let emit_imprecision emitter str = - emit emitter (Imprecision str) -;; - - -(* -Local Variables: -compile-command: "make -C ../../.." -End: -*) diff --git a/src/kernel_services/abstract_interp/lattice_messages.mli b/src/kernel_services/abstract_interp/lattice_messages.mli deleted file mode 100644 index 9cb5cce0628a879bbf70b80c6034f5af5012b34d..0000000000000000000000000000000000000000 --- a/src/kernel_services/abstract_interp/lattice_messages.mli +++ /dev/null @@ -1,50 +0,0 @@ -(**************************************************************************) -(* *) -(* This file is part of Frama-C. *) -(* *) -(* Copyright (C) 2007-2024 *) -(* CEA (Commissariat à l'énergie atomique et aux énergies *) -(* alternatives) *) -(* *) -(* you can redistribute it and/or modify it under the terms of the GNU *) -(* Lesser General Public License as published by the Free Software *) -(* Foundation, version 2.1. *) -(* *) -(* It is distributed in the hope that it will be useful, *) -(* but WITHOUT ANY WARRANTY; without even the implied warranty of *) -(* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *) -(* GNU Lesser General Public License for more details. *) -(* *) -(* See the GNU Lesser General Public License version 2.1 *) -(* for more details (enclosed in the file licenses/LGPLv2.1). *) -(* *) -(**************************************************************************) - -(** Message and logging facility for abstract lattices. *) - -type t = - | Approximation of string - (** Abstract transfer function that intentionally approximates its result *) - | Imprecision of string - (** Abstract transfer function not fully implemented *) - | Costly of string - (** Abstract operation will be costly *) - | Unsoundness of string - (** Unsound abstract operation *) - -type emitter - -(** Register a new emitter for a message. *) -val register: string -> emitter;; - -(** Emit a message. *) -val emit: emitter -> t -> unit -val emit_imprecision: emitter -> string -> unit -val emit_approximation: emitter -> ('a, Format.formatter, unit) format -> 'a -val emit_costly: emitter -> ('a, Format.formatter, unit) format -> 'a - -(* -Local Variables: -compile-command: "make -C ../../.." -End: -*) diff --git a/src/kernel_services/abstract_interp/lmap.ml b/src/kernel_services/abstract_interp/lmap.ml index 148cd8beb4c6ae1f739c2796f8fdafc8da61c180..7c4689e11b9c9a5a39f9b53e1abf41783c5a661c 100644 --- a/src/kernel_services/abstract_interp/lmap.ml +++ b/src/kernel_services/abstract_interp/lmap.ml @@ -24,8 +24,6 @@ open Abstract_interp open Locations open Lattice_bounds -let msg_emitter = Lattice_messages.register "Lmap";; - type 'a default_contents = | Bottom | Top of 'a @@ -201,7 +199,7 @@ struct in match loc with | Location_Bits.Top (Base.SetLattice.Top, orig) -> - Lattice_messages.emit_approximation msg_emitter + Abstract_interp.feedback_approximation "writing at a completely unknown address @[%a@]" Origin.pretty_as_reason orig; raise Result_is_top @@ -526,7 +524,7 @@ struct !had_non_bottom, result | Location_Bits.Top (top, orig) -> if not (Base.SetLattice.equal top Base.SetLattice.top) then - Lattice_messages.emit_approximation msg_emitter + Abstract_interp.feedback_approximation "writing somewhere in @[%a@]@[%a@]." Base.SetLattice.pretty top Origin.pretty_as_reason orig; diff --git a/src/kernel_services/abstract_interp/locations.ml b/src/kernel_services/abstract_interp/locations.ml index c65885af13a597fbc99e5cdd8fd536a6ae12e5c4..56d9349940e31cfd98502a2f2952a0be9b2ab22a 100644 --- a/src/kernel_services/abstract_interp/locations.ml +++ b/src/kernel_services/abstract_interp/locations.ml @@ -24,8 +24,6 @@ open Cil_types open Cil open Abstract_interp -let emitter = Lattice_messages.register "Locations" - module Initial_Values = struct let v = [ [Base.null,Ival.zero]; [Base.null,Ival.one]; @@ -548,7 +546,7 @@ let int_base_size_of_varinfo v = let s = Int.of_int s in Int_Base.inject s with Cil.SizeOfError (msg, _) -> - Lattice_messages.emit_approximation emitter + Abstract_interp.feedback_approximation "imprecise size for variable %a (%s)" Printer.pp_varinfo v msg; Int_Base.top diff --git a/src/kernel_services/abstract_interp/offsetmap.ml b/src/kernel_services/abstract_interp/offsetmap.ml index a22454c830a9499e98f9ec8f2bad41e40e549c46..43fe9f3436bfe5ec33cd1110eebdf858558f11ac 100644 --- a/src/kernel_services/abstract_interp/offsetmap.ml +++ b/src/kernel_services/abstract_interp/offsetmap.ml @@ -38,8 +38,6 @@ let ( %~ ) = Integer.e_rem let succ = Integer.succ let pred = Integer.pred -let msg_emitter = Lattice_messages.register "Offsetmap" - (** Offsetmaps are unbalanced trees that map intervals to values, with the additional properties that the shape of the tree is entirely determined by the intervals that are mapped (see function [is_above] for the ordering). @@ -1885,7 +1883,7 @@ module Make (V : Offsetmap_lattice_with_isotropy.S) = struct if size <~ period then (* We are going to write the locations that are between [size+1] and [period] unnecessarily, warn the user *) - Lattice_messages.emit_approximation msg_emitter + Abstract_interp.feedback_approximation "more than %d(%a) %s. Approximating." plevel pretty_int number !imprecise_write_msg; let abs_max = pred (mx +~ size) in @@ -1895,7 +1893,7 @@ module Make (V : Offsetmap_lattice_with_isotropy.S) = struct let origin = Origin.(current Misalign_write) in let v' = V.topify_with_origin origin v in if not (V.equal v v') then - Lattice_messages.emit_approximation msg_emitter + Abstract_interp.feedback_approximation "approximating value to write."; v' in @@ -2066,7 +2064,7 @@ module Make (V : Offsetmap_lattice_with_isotropy.S) = struct | _ -> true (* at least two nodes *) in if imprecise then - Lattice_messages.emit_approximation msg_emitter + Abstract_interp.feedback_approximation "too many locations to update in array. Approximating."; update ~validity ~exact ~offsets ~size v dst diff --git a/src/kernel_services/plugin_entry_points/log.mli b/src/kernel_services/plugin_entry_points/log.mli index d9edffdc5e6080af494920f9076ddcb5a031e6c1..bff4b4c1ddd96304bec45c0f9c3d830746ee12a3 100644 --- a/src/kernel_services/plugin_entry_points/log.mli +++ b/src/kernel_services/plugin_entry_points/log.mli @@ -280,8 +280,8 @@ module type Messages = sig val register_category: string -> category (** register a new debugging/verbose category. - Note: categories must be added (e.g. via [add_debug_keys]) - after registration. + Note: to enable a category's messages by default, add it + (e.g. via [add_debug_keys]) after registration. @since Fluorine-20130401 *) @@ -310,14 +310,17 @@ module type Messages = sig (** returns all registered categories. *) val add_debug_keys : category -> unit - (** adds categories corresponding to string (including potential - subcategories) to the set of categories for which messages are - to be displayed. The string must have been registered beforehand. + (** [add_debug_keys s] enables the emission of messages for the categories + corresponding to [s], including potential subcategories (e.g. [a] + and [a:b] for string [a:b]). + The string must have been registered beforehand. @since Fluorine-20130401 use categories instead of plain string *) val del_debug_keys: category -> unit - (** removes the given categories from the set for which messages are printed. + (** [add_debug_keys s] disables the emission of messages for the categories + corresponding to [s], including potential subcategories (e.g. [a] + and [a:b] for string [a:b]). The string must have been registered beforehand. @since Fluorine-20130401 *) diff --git a/tests/builtins/oracle/imprecise.res.oracle b/tests/builtins/oracle/imprecise.res.oracle index e9a2b40bda7a15f15e13d336e0fafcc3fa849d96..4e35f99b2bbf5d803ba7decea317aa0676a14471 100644 --- a/tests/builtins/oracle/imprecise.res.oracle +++ b/tests/builtins/oracle/imprecise.res.oracle @@ -216,27 +216,27 @@ accessing out of bounds index. assert 0 ≤ v; [eva:alarm] imprecise.c:111: Warning: accessing out of bounds index. assert v < 300; -[kernel] imprecise.c:111: +[kernel:approximation] imprecise.c:111: more than 200(300) locations to update in array. Approximating. [eva:alarm] imprecise.c:112: Warning: assertion got status unknown. [eva:alarm] imprecise.c:114: Warning: accessing out of bounds index. assert 0 ≤ v; [eva:alarm] imprecise.c:114: Warning: accessing out of bounds index. assert v < 300; -[kernel] imprecise.c:114: +[kernel:approximation] imprecise.c:114: more than 200(300) locations to update in array. Approximating. -[kernel] imprecise.c:114: approximating value to write. +[kernel:approximation] imprecise.c:114: approximating value to write. [eva:alarm] imprecise.c:116: Warning: assertion got status unknown. [eva] Recording results for many_writes [from] Computing for function many_writes -[kernel] imprecise.c:111: +[kernel:approximation] imprecise.c:111: more than 200(300) dependencies to update. Approximating. -[kernel] imprecise.c:114: +[kernel:approximation] imprecise.c:114: more than 200(300) dependencies to update. Approximating. [from] Done for function many_writes -[kernel] imprecise.c:111: +[kernel:approximation] imprecise.c:111: more than 200(300) elements to enumerate. Approximating. -[kernel] imprecise.c:114: +[kernel:approximation] imprecise.c:114: more than 200(300) elements to enumerate. Approximating. [eva] Done for function many_writes [eva] computing for function overlap <- main. @@ -252,7 +252,8 @@ [eva] imprecise.c:133: Call to builtin memset [eva] imprecise.c:133: function memset: precondition 'valid_s' got status valid. [eva:alarm] imprecise.c:136: Warning: assertion got status unknown. -[kernel] imprecise.c:137: too many locations to update in array. Approximating. +[kernel:approximation] imprecise.c:137: + too many locations to update in array. Approximating. [eva:alarm] imprecise.c:140: Warning: accessing uninitialized left-value. assert \initialized((int *)(&t_big) + 48); diff --git a/tests/builtins/oracle/linked_list.1.res.oracle b/tests/builtins/oracle/linked_list.1.res.oracle index b51e860fb2cc9d319d8dc588d68e517a18573841..09e482693ebcc69dd6f91f8992e1c8777fc4e18d 100644 --- a/tests/builtins/oracle/linked_list.1.res.oracle +++ b/tests/builtins/oracle/linked_list.1.res.oracle @@ -538,9 +538,9 @@ ==END OF DUMP== [eva:alarm] linked_list.c:43: Warning: out of bounds write. assert \valid(&curr->val); -[kernel] linked_list.c:43: +[kernel:approximation] linked_list.c:43: more than 100(127) locations to update in array. Approximating. -[kernel] linked_list.c:44: +[kernel:approximation] linked_list.c:44: more than 100(127) locations to update in array. Approximating. [eva] linked_list.c:40: Frama_C_dump_each: @@ -714,9 +714,9 @@ S_0___fc_env[0..1] ∈ [--..--] S_1___fc_env[0..1] ∈ [--..--] ==END OF DUMP== -[kernel] linked_list.c:43: +[kernel:approximation] linked_list.c:43: more than 100(128) locations to update in array. Approximating. -[kernel] linked_list.c:44: +[kernel:approximation] linked_list.c:44: more than 100(128) locations to update in array. Approximating. [eva] linked_list.c:40: Frama_C_dump_each: @@ -811,7 +811,7 @@ has generated a garbled mix of addresses for assigns clause __fc_stdout->__fc_FILE_data. [eva] Done for function printf_va_1 -[kernel] linked_list.c:51: +[kernel:approximation] linked_list.c:51: more than 100(128) elements to enumerate. Approximating. [eva] linked_list.c:50: starting to merge loop iterations [eva:alarm] linked_list.c:51: Warning: @@ -820,7 +820,7 @@ Called from linked_list.c:51. [eva] Done for function printf_va_1 [eva] Recording results for main -[kernel] linked_list.c:44: +[kernel:approximation] linked_list.c:44: more than 100(128) elements to enumerate. Approximating. [eva] Done for function main [eva] ====== VALUES COMPUTED ====== @@ -843,9 +843,9 @@ [from] Computing for function malloc [from] Done for function malloc [from] Computing for function main -[kernel] linked_list.c:43: +[kernel:approximation] linked_list.c:43: more than 100(128) dependencies to update. Approximating. -[kernel] linked_list.c:44: +[kernel:approximation] linked_list.c:44: more than 100(128) dependencies to update. Approximating. [from] Computing for function printf_va_1 <-main [from] Done for function printf_va_1 diff --git a/tests/builtins/oracle/memcpy.0.res.oracle b/tests/builtins/oracle/memcpy.0.res.oracle index 774d89fc40dda7ca63cd40f7fe7644081a2a7b0e..f3394b79601cb472c3ea8ed91ec056a8da9bef01 100644 --- a/tests/builtins/oracle/memcpy.0.res.oracle +++ b/tests/builtins/oracle/memcpy.0.res.oracle @@ -42,20 +42,24 @@ [eva] memcpy.c:51: function memcpy: precondition 'valid_dest' got status valid. [eva] memcpy.c:51: function memcpy: precondition 'valid_src' got status valid. [eva] memcpy.c:51: function memcpy: precondition 'separation' got status valid. -[kernel] memcpy.c:51: too many locations to update in array. Approximating. +[kernel:approximation] memcpy.c:51: + too many locations to update in array. Approximating. [eva] memcpy.c:53: Call to builtin memcpy [eva] memcpy.c:53: function memcpy: precondition 'valid_dest' got status valid. [eva] memcpy.c:53: function memcpy: precondition 'valid_src' got status valid. [eva] memcpy.c:53: function memcpy: precondition 'separation' got status valid. -[kernel] memcpy.c:53: too many locations to update in array. Approximating. -[kernel] memcpy.c:53: +[kernel:approximation] memcpy.c:53: + too many locations to update in array. Approximating. +[kernel:approximation] memcpy.c:53: more than 150(1000) locations to update in array. Approximating. -[kernel] memcpy.c:53: more than 150(1000) elements to enumerate. Approximating. +[kernel:approximation] memcpy.c:53: + more than 150(1000) elements to enumerate. Approximating. [eva] memcpy.c:57: Call to builtin memcpy [eva] memcpy.c:57: function memcpy: precondition 'valid_dest' got status valid. [eva] memcpy.c:57: function memcpy: precondition 'valid_src' got status valid. [eva] memcpy.c:57: function memcpy: precondition 'separation' got status valid. -[kernel] memcpy.c:57: too many locations to update in array. Approximating. +[kernel:approximation] memcpy.c:57: + too many locations to update in array. Approximating. [eva] Recording results for many [from] Computing for function many [from] Done for function many @@ -160,28 +164,32 @@ function memcpy: precondition 'valid_dest' got status unknown. [eva] memcpy.c:118: function memcpy: precondition 'valid_src' got status valid. [eva] memcpy.c:118: function memcpy: precondition 'separation' got status valid. -[kernel] memcpy.c:118: too many locations to update in array. Approximating. +[kernel:approximation] memcpy.c:118: + too many locations to update in array. Approximating. [eva] memcpy.c:122: starting to merge loop iterations [eva] memcpy.c:126: Call to builtin memcpy [eva:alarm] memcpy.c:126: Warning: function memcpy: precondition 'valid_dest' got status unknown. [eva] memcpy.c:126: function memcpy: precondition 'valid_src' got status valid. [eva] memcpy.c:126: function memcpy: precondition 'separation' got status valid. -[kernel] memcpy.c:126: too many locations to update in array. Approximating. +[kernel:approximation] memcpy.c:126: + too many locations to update in array. Approximating. [eva] memcpy.c:130: starting to merge loop iterations [eva] memcpy.c:135: Call to builtin memcpy [eva:alarm] memcpy.c:135: Warning: function memcpy: precondition 'valid_dest' got status unknown. [eva] memcpy.c:135: function memcpy: precondition 'valid_src' got status valid. [eva] memcpy.c:135: function memcpy: precondition 'separation' got status valid. -[kernel] memcpy.c:135: too many locations to update in array. Approximating. +[kernel:approximation] memcpy.c:135: + too many locations to update in array. Approximating. [eva] memcpy.c:139: starting to merge loop iterations [eva] memcpy.c:144: Call to builtin memcpy [eva:alarm] memcpy.c:144: Warning: function memcpy: precondition 'valid_dest' got status unknown. [eva] memcpy.c:144: function memcpy: precondition 'valid_src' got status valid. [eva] memcpy.c:144: function memcpy: precondition 'separation' got status valid. -[kernel] memcpy.c:144: too many locations to update in array. Approximating. +[kernel:approximation] memcpy.c:144: + too many locations to update in array. Approximating. [eva] memcpy.c:149: Call to builtin memcpy [eva:alarm] memcpy.c:149: Warning: function memcpy: precondition 'valid_dest' got status unknown. diff --git a/tests/builtins/oracle_equality/imprecise.res.oracle b/tests/builtins/oracle_equality/imprecise.res.oracle index 9633a07ab0e31c0bef97b7be3027233c2a4bf0db..d869951cfc1be3164af5e93b37a6d197148aac57 100644 --- a/tests/builtins/oracle_equality/imprecise.res.oracle +++ b/tests/builtins/oracle_equality/imprecise.res.oracle @@ -1,11 +1,11 @@ 220a221,222 -> [kernel] imprecise.c:111: +> [kernel:approximation] imprecise.c:111: > more than 200(300) elements to enumerate. Approximating. 228a231,232 -> [kernel] imprecise.c:114: +> [kernel:approximation] imprecise.c:114: > more than 200(300) elements to enumerate. Approximating. 237,240d240 -< [kernel] imprecise.c:111: +< [kernel:approximation] imprecise.c:111: < more than 200(300) elements to enumerate. Approximating. -< [kernel] imprecise.c:114: +< [kernel:approximation] imprecise.c:114: < more than 200(300) elements to enumerate. Approximating. diff --git a/tests/builtins/oracle_equality/linked_list.1.res.oracle b/tests/builtins/oracle_equality/linked_list.1.res.oracle index 08a077ea283d0d72948ad4ac7cc139699f42818e..f39a4d733285ec8d04d42eda42999584f45b72d3 100644 --- a/tests/builtins/oracle_equality/linked_list.1.res.oracle +++ b/tests/builtins/oracle_equality/linked_list.1.res.oracle @@ -1,24 +1,24 @@ 488a489,490 -> [kernel] linked_list.c:19: +> [kernel:approximation] linked_list.c:19: > more than 100(127) elements to enumerate. Approximating. 542a545,546 -> [kernel] linked_list.c:43: +> [kernel:approximation] linked_list.c:43: > more than 100(127) elements to enumerate. Approximating. 544a549,550 -> [kernel] linked_list.c:44: +> [kernel:approximation] linked_list.c:44: > more than 100(127) elements to enumerate. Approximating. 673a680,681 -> [kernel] linked_list.c:19: +> [kernel:approximation] linked_list.c:19: > more than 100(128) elements to enumerate. Approximating. 718a727,728 -> [kernel] linked_list.c:43: +> [kernel:approximation] linked_list.c:43: > more than 100(128) elements to enumerate. Approximating. 720a731,732 -> [kernel] linked_list.c:44: +> [kernel:approximation] linked_list.c:44: > more than 100(128) elements to enumerate. Approximating. 814,815d825 -< [kernel] linked_list.c:51: +< [kernel:approximation] linked_list.c:51: < more than 100(128) elements to enumerate. Approximating. 823,824d832 -< [kernel] linked_list.c:44: +< [kernel:approximation] linked_list.c:44: < more than 100(128) elements to enumerate. Approximating. diff --git a/tests/builtins/oracle_gauges/memcpy.0.res.oracle b/tests/builtins/oracle_gauges/memcpy.0.res.oracle index 5e4fbca1c4a14c624435c5b4d0c53eded4b69870..de497bfb3c31b3f80ecd2116fae3572baa8ea539 100644 --- a/tests/builtins/oracle_gauges/memcpy.0.res.oracle +++ b/tests/builtins/oracle_gauges/memcpy.0.res.oracle @@ -1,5 +1,5 @@ -145a146,147 +149a150,151 > [eva] memcpy.c:100: Call to builtin memcpy > [eva] memcpy.c:100: Call to builtin memcpy -367a370 +375a378 > [eva] memcpy.c:231: starting to merge loop iterations diff --git a/tests/builtins/oracle_octagon/imprecise.res.oracle b/tests/builtins/oracle_octagon/imprecise.res.oracle index 9633a07ab0e31c0bef97b7be3027233c2a4bf0db..d869951cfc1be3164af5e93b37a6d197148aac57 100644 --- a/tests/builtins/oracle_octagon/imprecise.res.oracle +++ b/tests/builtins/oracle_octagon/imprecise.res.oracle @@ -1,11 +1,11 @@ 220a221,222 -> [kernel] imprecise.c:111: +> [kernel:approximation] imprecise.c:111: > more than 200(300) elements to enumerate. Approximating. 228a231,232 -> [kernel] imprecise.c:114: +> [kernel:approximation] imprecise.c:114: > more than 200(300) elements to enumerate. Approximating. 237,240d240 -< [kernel] imprecise.c:111: +< [kernel:approximation] imprecise.c:111: < more than 200(300) elements to enumerate. Approximating. -< [kernel] imprecise.c:114: +< [kernel:approximation] imprecise.c:114: < more than 200(300) elements to enumerate. Approximating. diff --git a/tests/builtins/oracle_octagon/linked_list.1.res.oracle b/tests/builtins/oracle_octagon/linked_list.1.res.oracle index 166d64faad77cf59fe2003c8dda6ac23d5adf97d..be4a941dc0feddec3e613ff8c030f02294e890d4 100644 --- a/tests/builtins/oracle_octagon/linked_list.1.res.oracle +++ b/tests/builtins/oracle_octagon/linked_list.1.res.oracle @@ -1,18 +1,18 @@ 542a543,544 -> [kernel] linked_list.c:43: +> [kernel:approximation] linked_list.c:43: > more than 100(127) elements to enumerate. Approximating. 544a547,548 -> [kernel] linked_list.c:44: +> [kernel:approximation] linked_list.c:44: > more than 100(127) elements to enumerate. Approximating. 718a723,724 -> [kernel] linked_list.c:43: +> [kernel:approximation] linked_list.c:43: > more than 100(128) elements to enumerate. Approximating. 720a727,728 -> [kernel] linked_list.c:44: +> [kernel:approximation] linked_list.c:44: > more than 100(128) elements to enumerate. Approximating. 814,815d821 -< [kernel] linked_list.c:51: +< [kernel:approximation] linked_list.c:51: < more than 100(128) elements to enumerate. Approximating. 823,824d828 -< [kernel] linked_list.c:44: +< [kernel:approximation] linked_list.c:44: < more than 100(128) elements to enumerate. Approximating. diff --git a/tests/builtins/oracle_symblocs/imprecise.res.oracle b/tests/builtins/oracle_symblocs/imprecise.res.oracle index 9633a07ab0e31c0bef97b7be3027233c2a4bf0db..d869951cfc1be3164af5e93b37a6d197148aac57 100644 --- a/tests/builtins/oracle_symblocs/imprecise.res.oracle +++ b/tests/builtins/oracle_symblocs/imprecise.res.oracle @@ -1,11 +1,11 @@ 220a221,222 -> [kernel] imprecise.c:111: +> [kernel:approximation] imprecise.c:111: > more than 200(300) elements to enumerate. Approximating. 228a231,232 -> [kernel] imprecise.c:114: +> [kernel:approximation] imprecise.c:114: > more than 200(300) elements to enumerate. Approximating. 237,240d240 -< [kernel] imprecise.c:111: +< [kernel:approximation] imprecise.c:111: < more than 200(300) elements to enumerate. Approximating. -< [kernel] imprecise.c:114: +< [kernel:approximation] 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 index 166d64faad77cf59fe2003c8dda6ac23d5adf97d..be4a941dc0feddec3e613ff8c030f02294e890d4 100644 --- a/tests/builtins/oracle_symblocs/linked_list.1.res.oracle +++ b/tests/builtins/oracle_symblocs/linked_list.1.res.oracle @@ -1,18 +1,18 @@ 542a543,544 -> [kernel] linked_list.c:43: +> [kernel:approximation] linked_list.c:43: > more than 100(127) elements to enumerate. Approximating. 544a547,548 -> [kernel] linked_list.c:44: +> [kernel:approximation] linked_list.c:44: > more than 100(127) elements to enumerate. Approximating. 718a723,724 -> [kernel] linked_list.c:43: +> [kernel:approximation] linked_list.c:43: > more than 100(128) elements to enumerate. Approximating. 720a727,728 -> [kernel] linked_list.c:44: +> [kernel:approximation] linked_list.c:44: > more than 100(128) elements to enumerate. Approximating. 814,815d821 -< [kernel] linked_list.c:51: +< [kernel:approximation] linked_list.c:51: < more than 100(128) elements to enumerate. Approximating. 823,824d828 -< [kernel] linked_list.c:44: +< [kernel:approximation] linked_list.c:44: < more than 100(128) elements to enumerate. Approximating. diff --git a/tests/value/oracle/assigns.res.oracle b/tests/value/oracle/assigns.res.oracle index 110f45908bae6a5907c06fea0ab8efd97a7332c5..9807e0d1eb08e82e3a703f8adb11447241ef35f5 100644 --- a/tests/value/oracle/assigns.res.oracle +++ b/tests/value/oracle/assigns.res.oracle @@ -150,15 +150,15 @@ [eva] computing for function f_main4_1 <- main4 <- main. Called from assigns.i:104. [eva] using specification for function f_main4_1 -[kernel] assigns.i:104: +[kernel:approximation] assigns.i:104: more than 200(1000) locations to update in array. Approximating. -[kernel] assigns.i:104: +[kernel:approximation] assigns.i:104: more than 200(1000) elements to enumerate. Approximating. [eva] Done for function f_main4_1 [eva] computing for function f_main4_2 <- main4 <- main. Called from assigns.i:105. [eva] using specification for function f_main4_2 -[kernel] assigns.i:105: +[kernel:approximation] assigns.i:105: more than 200(1000) locations to update in array. Approximating. [eva] Done for function f_main4_2 [eva] Recording results for main4 diff --git a/tests/value/oracle/multidim-relations.res.oracle b/tests/value/oracle/multidim-relations.res.oracle index b1030ddaf977af058e338597fcfcfe3a21784347..52556e31f524c29ad4f43a53b96d38169fd50a27 100644 --- a/tests/value/oracle/multidim-relations.res.oracle +++ b/tests/value/oracle/multidim-relations.res.oracle @@ -10,18 +10,18 @@ [eva] computing for function init_array <- main. Called from multidim-relations.c:35. [eva] multidim-relations.c:18: starting to merge loop iterations -[kernel] multidim-relations.c:19: +[kernel:approximation] multidim-relations.c:19: more than 1(350) locations to update in array. Approximating. -[kernel] multidim-relations.c:20: +[kernel:approximation] multidim-relations.c:20: more than 1(350) locations to update in array. Approximating. -[kernel] multidim-relations.c:21: +[kernel:approximation] multidim-relations.c:21: more than 1(175) locations to update in array. Approximating. [eva] Recording results for init_array -[kernel] multidim-relations.c:19: +[kernel:approximation] multidim-relations.c:19: more than 1(350) elements to enumerate. Approximating. -[kernel] multidim-relations.c:20: +[kernel:approximation] multidim-relations.c:20: more than 1(350) elements to enumerate. Approximating. -[kernel] multidim-relations.c:21: +[kernel:approximation] multidim-relations.c:21: more than 1(175) elements to enumerate. Approximating. [eva] Done for function init_array [eva] computing for function set_null <- main. @@ -43,7 +43,7 @@ [eva:alarm] multidim-relations.c:31: Warning: out of bounds read. assert \valid_read(t[index].ptr); [eva] Recording results for use_array -[kernel] multidim-relations.c:31: +[kernel:approximation] multidim-relations.c:31: more than 1(350) elements to enumerate. Approximating. [eva] Done for function use_array [eva] Recording results for main @@ -156,11 +156,11 @@ [349].ptr ∈ {{ NULL ; &g }} index ∈ [0..349] [from] Computing for function init_array -[kernel] multidim-relations.c:19: +[kernel:approximation] multidim-relations.c:19: more than 1(350) dependencies to update. Approximating. -[kernel] multidim-relations.c:20: +[kernel:approximation] multidim-relations.c:20: more than 1(350) dependencies to update. Approximating. -[kernel] multidim-relations.c:21: +[kernel:approximation] multidim-relations.c:21: more than 1(175) dependencies to update. Approximating. [from] Done for function init_array [from] Computing for function set_null diff --git a/tests/value/oracle/multidim.res.oracle b/tests/value/oracle/multidim.res.oracle index c4e9465407fd96d671eb527f3df02309a7fb50a4..9454cf0b06ae4e0d9ae2bd7d9774abf5315df96b 100644 --- a/tests/value/oracle/multidim.res.oracle +++ b/tests/value/oracle/multidim.res.oracle @@ -97,13 +97,13 @@ Called from multidim.c:189. [eva] multidim.c:65: starting to merge loop iterations [eva] multidim.c:64: starting to merge loop iterations -[kernel] multidim.c:66: +[kernel:approximation] multidim.c:66: more than 1(20) locations to update in array. Approximating. -[kernel] multidim.c:67: +[kernel:approximation] multidim.c:67: more than 1(20) locations to update in array. Approximating. -[kernel] multidim.c:66: +[kernel:approximation] multidim.c:66: more than 1(28) locations to update in array. Approximating. -[kernel] multidim.c:67: +[kernel:approximation] multidim.c:67: more than 1(28) locations to update in array. Approximating. [eva] computing for function Frama_C_interval <- main3 <- main. Called from multidim.c:70. @@ -131,8 +131,10 @@ r : # cvalue: [--..--] # multidim: { .f = [-3.40282346639e+38 .. 3.40282346639e+38], .i = T } [eva] Recording results for main3 -[kernel] multidim.c:66: more than 1(28) elements to enumerate. Approximating. -[kernel] multidim.c:67: more than 1(28) elements to enumerate. Approximating. +[kernel:approximation] multidim.c:66: + more than 1(28) elements to enumerate. Approximating. +[kernel:approximation] multidim.c:67: + more than 1(28) elements to enumerate. Approximating. [eva] Done for function main3 [eva] computing for function main4 <- main. Called from multidim.c:190. @@ -176,13 +178,13 @@ [eva] computing for function main7 <- main. Called from multidim.c:193. [eva] multidim.c:134: starting to merge loop iterations -[kernel] multidim.c:136: +[kernel:approximation] multidim.c:136: more than 1(1000) locations to update in array. Approximating. -[kernel] multidim.c:137: +[kernel:approximation] multidim.c:137: more than 1(1000) locations to update in array. Approximating. -[kernel] multidim.c:140: +[kernel:approximation] multidim.c:140: more than 1(1000) locations to update in array. Approximating. -[kernel] multidim.c:141: +[kernel:approximation] multidim.c:141: more than 1(1000) locations to update in array. Approximating. [eva] multidim.c:145: Frama_C_domain_show_each: @@ -200,8 +202,10 @@ [eva] multidim.c:150: Frama_C_show_each_INT: {42} [eva] multidim.c:153: Frama_C_show_each_FLOAT: {42.} [eva] Recording results for main7 -[kernel] multidim.c:136: more than 1(1000) elements to enumerate. Approximating. -[kernel] multidim.c:137: more than 1(1000) elements to enumerate. Approximating. +[kernel:approximation] multidim.c:136: + more than 1(1000) elements to enumerate. Approximating. +[kernel:approximation] multidim.c:137: + more than 1(1000) elements to enumerate. Approximating. [eva] Done for function main7 [eva] computing for function main8 <- main. Called from multidim.c:194. @@ -225,7 +229,8 @@ [eva] Done for function main9 [eva] Recording results for main [eva] Done for function main -[kernel] multidim.c:50: more than 1(28) elements to enumerate. Approximating. +[kernel:approximation] multidim.c:50: + more than 1(28) elements to enumerate. Approximating. [eva] ====== VALUES COMPUTED ====== [eva:final-states] Values at end of function main1: z[0..3] ∈ [--..--] @@ -269,8 +274,10 @@ [from] Computing for function main2 [from] Done for function main2 [from] Computing for function main3 -[kernel] multidim.c:66: more than 1(28) dependencies to update. Approximating. -[kernel] multidim.c:67: more than 1(28) dependencies to update. Approximating. +[kernel:approximation] multidim.c:66: + more than 1(28) dependencies to update. Approximating. +[kernel:approximation] multidim.c:67: + more than 1(28) dependencies to update. Approximating. [from] Computing for function Frama_C_interval <-main3 [from] Done for function Frama_C_interval [from] Done for function main3 @@ -281,13 +288,13 @@ [from] Computing for function main6 [from] Done for function main6 [from] Computing for function main7 -[kernel] multidim.c:136: +[kernel:approximation] multidim.c:136: more than 1(1000) dependencies to update. Approximating. -[kernel] multidim.c:137: +[kernel:approximation] multidim.c:137: more than 1(1000) dependencies to update. Approximating. -[kernel] multidim.c:140: +[kernel:approximation] multidim.c:140: more than 1(1000) dependencies to update. Approximating. -[kernel] multidim.c:141: +[kernel:approximation] multidim.c:141: more than 1(1000) dependencies to update. Approximating. [from] Done for function main7 [from] Computing for function main8 diff --git a/tests/value/oracle/non_natural.res.oracle b/tests/value/oracle/non_natural.res.oracle index 63882b2cb854348ae9ac35c93939370e9238aec3..d08c3af2ef493470ab4b0626799a5d2506b3742f 100644 --- a/tests/value/oracle/non_natural.res.oracle +++ b/tests/value/oracle/non_natural.res.oracle @@ -53,18 +53,18 @@ [eva] non_natural.i:22: Frama_C_show_each: {{ &p2 + {0; 32} }} [eva] non_natural.i:22: Frama_C_show_each: {{ &p2 + {0; 32; 64} }} [eva] non_natural.i:22: Frama_C_show_each: {{ &p2 + {0; 32; 64; 96} }} -[kernel] non_natural.i:30: +[kernel:approximation] non_natural.i:30: more than 200(12500) locations to update in array. Approximating. [eva] non_natural.i:22: Frama_C_show_each: {{ &p2 + [0..400000],0%32 }} [eva:alarm] non_natural.i:23: Warning: out of bounds write. assert \valid(tmp); (tmp from to++) -[kernel] non_natural.i:23: +[kernel:approximation] non_natural.i:23: more than 200(12500) locations to update in array. Approximating. [eva:alarm] non_natural.i:24: Warning: out of bounds write. assert \valid(tmp_1); (tmp_1 from to++) -[kernel] non_natural.i:24: +[kernel:approximation] non_natural.i:24: more than 200(12500) locations to update in array. Approximating. [eva:alarm] non_natural.i:25: Warning: out of bounds write. assert \valid(tmp_3); @@ -72,7 +72,7 @@ [eva:alarm] non_natural.i:25: Warning: out of bounds read. assert \valid_read(tmp_4); (tmp_4 from from++) -[kernel] non_natural.i:25: +[kernel:approximation] non_natural.i:25: more than 200(12500) locations to update in array. Approximating. [eva:alarm] non_natural.i:26: Warning: out of bounds write. assert \valid(tmp_5); @@ -80,7 +80,7 @@ [eva:alarm] non_natural.i:26: Warning: out of bounds read. assert \valid_read(tmp_6); (tmp_6 from from++) -[kernel] non_natural.i:26: +[kernel:approximation] non_natural.i:26: more than 200(12500) locations to update in array. Approximating. [eva:alarm] non_natural.i:27: Warning: out of bounds write. assert \valid(tmp_7); @@ -88,7 +88,7 @@ [eva:alarm] non_natural.i:27: Warning: out of bounds read. assert \valid_read(tmp_8); (tmp_8 from from++) -[kernel] non_natural.i:27: +[kernel:approximation] non_natural.i:27: more than 200(12500) locations to update in array. Approximating. [eva:alarm] non_natural.i:28: Warning: out of bounds write. assert \valid(tmp_9); @@ -96,7 +96,7 @@ [eva:alarm] non_natural.i:28: Warning: out of bounds read. assert \valid_read(tmp_10); (tmp_10 from from++) -[kernel] non_natural.i:28: +[kernel:approximation] non_natural.i:28: more than 200(12500) locations to update in array. Approximating. [eva:alarm] non_natural.i:29: Warning: out of bounds write. assert \valid(tmp_11); @@ -104,7 +104,7 @@ [eva:alarm] non_natural.i:29: Warning: out of bounds read. assert \valid_read(tmp_12); (tmp_12 from from++) -[kernel] non_natural.i:29: +[kernel:approximation] non_natural.i:29: more than 200(12500) locations to update in array. Approximating. [eva:alarm] non_natural.i:30: Warning: out of bounds write. assert \valid(tmp_13); @@ -121,25 +121,25 @@ (tmp_2 from from++) [eva] non_natural.i:22: Frama_C_show_each: {{ &p2 + [0..--],0%32 }} [eva] Recording results for duff1 -[kernel] non_natural.i:23: +[kernel:approximation] non_natural.i:23: more than 200(12501) elements to enumerate. Approximating. -[kernel] non_natural.i:23: +[kernel:approximation] non_natural.i:23: more than 200(12500) elements to enumerate. Approximating. -[kernel] non_natural.i:24: +[kernel:approximation] non_natural.i:24: more than 200(12501) elements to enumerate. Approximating. -[kernel] non_natural.i:24: +[kernel:approximation] non_natural.i:24: more than 200(12500) elements to enumerate. Approximating. -[kernel] non_natural.i:25: +[kernel:approximation] non_natural.i:25: more than 200(12500) elements to enumerate. Approximating. -[kernel] non_natural.i:26: +[kernel:approximation] non_natural.i:26: more than 200(12500) elements to enumerate. Approximating. -[kernel] non_natural.i:27: +[kernel:approximation] non_natural.i:27: more than 200(12500) elements to enumerate. Approximating. -[kernel] non_natural.i:28: +[kernel:approximation] non_natural.i:28: more than 200(12500) elements to enumerate. Approximating. -[kernel] non_natural.i:29: +[kernel:approximation] non_natural.i:29: more than 200(12500) elements to enumerate. Approximating. -[kernel] non_natural.i:30: +[kernel:approximation] non_natural.i:30: more than 200(12500) elements to enumerate. Approximating. [eva] Done for function duff1 [eva:alarm] non_natural.i:58: Warning: @@ -184,18 +184,18 @@ [eva] non_natural.i:38: Frama_C_show_each: {{ &p2 + {0; 32} }} [eva] non_natural.i:38: Frama_C_show_each: {{ &p2 + {0; 32; 64} }} [eva] non_natural.i:38: Frama_C_show_each: {{ &p2 + {0; 32; 64; 96} }} -[kernel] non_natural.i:46: +[kernel:approximation] non_natural.i:46: more than 200(12500) locations to update in array. Approximating. [eva] non_natural.i:38: Frama_C_show_each: {{ &p2 + [0..400000],0%32 }} [eva:alarm] non_natural.i:39: Warning: out of bounds write. assert \valid(tmp); (tmp from to++) -[kernel] non_natural.i:39: +[kernel:approximation] non_natural.i:39: more than 200(12500) locations to update in array. Approximating. [eva:alarm] non_natural.i:40: Warning: out of bounds write. assert \valid(tmp_1); (tmp_1 from to++) -[kernel] non_natural.i:40: +[kernel:approximation] non_natural.i:40: more than 200(12500) locations to update in array. Approximating. [eva:alarm] non_natural.i:41: Warning: out of bounds write. assert \valid(tmp_3); @@ -203,7 +203,7 @@ [eva:alarm] non_natural.i:41: Warning: out of bounds read. assert \valid_read(tmp_4); (tmp_4 from from++) -[kernel] non_natural.i:41: +[kernel:approximation] non_natural.i:41: more than 200(12500) locations to update in array. Approximating. [eva:alarm] non_natural.i:42: Warning: out of bounds write. assert \valid(tmp_5); @@ -211,7 +211,7 @@ [eva:alarm] non_natural.i:42: Warning: out of bounds read. assert \valid_read(tmp_6); (tmp_6 from from++) -[kernel] non_natural.i:42: +[kernel:approximation] non_natural.i:42: more than 200(12500) locations to update in array. Approximating. [eva:alarm] non_natural.i:43: Warning: out of bounds write. assert \valid(tmp_7); @@ -219,7 +219,7 @@ [eva:alarm] non_natural.i:43: Warning: out of bounds read. assert \valid_read(tmp_8); (tmp_8 from from++) -[kernel] non_natural.i:43: +[kernel:approximation] non_natural.i:43: more than 200(12500) locations to update in array. Approximating. [eva:alarm] non_natural.i:44: Warning: out of bounds write. assert \valid(tmp_9); @@ -227,7 +227,7 @@ [eva:alarm] non_natural.i:44: Warning: out of bounds read. assert \valid_read(tmp_10); (tmp_10 from from++) -[kernel] non_natural.i:44: +[kernel:approximation] non_natural.i:44: more than 200(12500) locations to update in array. Approximating. [eva:alarm] non_natural.i:45: Warning: out of bounds write. assert \valid(tmp_11); @@ -235,7 +235,7 @@ [eva:alarm] non_natural.i:45: Warning: out of bounds read. assert \valid_read(tmp_12); (tmp_12 from from++) -[kernel] non_natural.i:45: +[kernel:approximation] non_natural.i:45: more than 200(12500) locations to update in array. Approximating. [eva:alarm] non_natural.i:46: Warning: out of bounds write. assert \valid(tmp_13); @@ -277,39 +277,39 @@ [eva:final-states] Values at end of function main: [from] Computing for function duff1 -[kernel] non_natural.i:23: +[kernel:approximation] non_natural.i:23: more than 200(12500) dependencies to update. Approximating. -[kernel] non_natural.i:24: +[kernel:approximation] non_natural.i:24: more than 200(12500) dependencies to update. Approximating. -[kernel] non_natural.i:25: +[kernel:approximation] non_natural.i:25: more than 200(12500) dependencies to update. Approximating. -[kernel] non_natural.i:26: +[kernel:approximation] non_natural.i:26: more than 200(12500) dependencies to update. Approximating. -[kernel] non_natural.i:27: +[kernel:approximation] non_natural.i:27: more than 200(12500) dependencies to update. Approximating. -[kernel] non_natural.i:28: +[kernel:approximation] non_natural.i:28: more than 200(12500) dependencies to update. Approximating. -[kernel] non_natural.i:29: +[kernel:approximation] non_natural.i:29: more than 200(12500) dependencies to update. Approximating. -[kernel] non_natural.i:30: +[kernel:approximation] non_natural.i:30: more than 200(12500) dependencies to update. Approximating. [from] Done for function duff1 [from] Computing for function duff2 -[kernel] non_natural.i:39: +[kernel:approximation] non_natural.i:39: more than 200(12500) dependencies to update. Approximating. -[kernel] non_natural.i:40: +[kernel:approximation] non_natural.i:40: more than 200(12500) dependencies to update. Approximating. -[kernel] non_natural.i:41: +[kernel:approximation] non_natural.i:41: more than 200(12500) dependencies to update. Approximating. -[kernel] non_natural.i:42: +[kernel:approximation] non_natural.i:42: more than 200(12500) dependencies to update. Approximating. -[kernel] non_natural.i:43: +[kernel:approximation] non_natural.i:43: more than 200(12500) dependencies to update. Approximating. -[kernel] non_natural.i:44: +[kernel:approximation] non_natural.i:44: more than 200(12500) dependencies to update. Approximating. -[kernel] non_natural.i:45: +[kernel:approximation] non_natural.i:45: more than 200(12500) dependencies to update. Approximating. -[kernel] non_natural.i:46: +[kernel:approximation] non_natural.i:46: more than 200(12500) dependencies to update. Approximating. [from] Done for function duff2 [from] Computing for function main1 diff --git a/tests/value/oracle/offsetmap.0.res.oracle b/tests/value/oracle/offsetmap.0.res.oracle index 479f9ea51af0339ef2bb27d509311ae60c658dd8..ff12d80b5234e794ef89cbfe6ebec38a9028f81e 100644 --- a/tests/value/oracle/offsetmap.0.res.oracle +++ b/tests/value/oracle/offsetmap.0.res.oracle @@ -38,7 +38,7 @@ [eva:alarm] offsetmap.i:66: Warning: accessing out of bounds index. assert i_0 < 10000000; [eva] Recording results for g -[kernel] offsetmap.i:68: +[kernel:approximation] offsetmap.i:68: more than 200(10000000) elements to enumerate. Approximating. [eva] Done for function g [eva] computing for function h <- main. diff --git a/tests/value/oracle/offsetmap.1.res.oracle b/tests/value/oracle/offsetmap.1.res.oracle index d4033b4c6a51235d0b47922c0a7d5a863f79d709..97213131b7b77948a47277c85ca49107461d524e 100644 --- a/tests/value/oracle/offsetmap.1.res.oracle +++ b/tests/value/oracle/offsetmap.1.res.oracle @@ -38,7 +38,7 @@ [eva:alarm] offsetmap.i:66: Warning: accessing out of bounds index. assert i_0 < 10000000; [eva] Recording results for g -[kernel] offsetmap.i:68: +[kernel:approximation] offsetmap.i:68: more than 200(10000000) elements to enumerate. Approximating. [eva] Done for function g [eva] computing for function h <- main. diff --git a/tests/value/oracle/offsetmap.2.res.oracle b/tests/value/oracle/offsetmap.2.res.oracle index 33d782cf04bc117c1285caaed11cb7033a6038b6..7f2b0dde2a94602c62c536533b9a20e92e7ee2cf 100644 --- a/tests/value/oracle/offsetmap.2.res.oracle +++ b/tests/value/oracle/offsetmap.2.res.oracle @@ -38,7 +38,7 @@ [eva:alarm] offsetmap.i:66: Warning: accessing out of bounds index. assert i_0 < 10000000; [eva] Recording results for g -[kernel] offsetmap.i:68: +[kernel:approximation] offsetmap.i:68: more than 200(10000000) elements to enumerate. Approximating. [eva] Done for function g [eva] computing for function h <- main. diff --git a/tests/value/oracle/plevel.res.oracle b/tests/value/oracle/plevel.res.oracle index cef8ba7c8efc1bf83f168322df1c7d05cbf57711..db9c5081b00ff082a29f573f7ea7977afff9d04a 100644 --- a/tests/value/oracle/plevel.res.oracle +++ b/tests/value/oracle/plevel.res.oracle @@ -7,10 +7,11 @@ i ∈ [--..--] [eva:alarm] plevel.i:11: Warning: assertion got status unknown. [eva:alarm] plevel.i:13: Warning: assertion got status unknown. -[kernel] plevel.i:21: +[kernel:approximation] plevel.i:21: more than 40(65) locations to update in array. Approximating. [eva] Recording results for main -[kernel] plevel.i:21: more than 40(65) elements to enumerate. Approximating. +[kernel:approximation] plevel.i:21: + more than 40(65) elements to enumerate. Approximating. [eva] Done for function main [eva] ====== VALUES COMPUTED ====== [eva:final-states] Values at end of function main: @@ -103,7 +104,8 @@ i2 ∈ [0..64] p ∈ {{ &t + [0x2000..0x2040] }} [from] Computing for function main -[kernel] plevel.i:21: more than 40(65) dependencies to update. Approximating. +[kernel:approximation] plevel.i:21: + more than 40(65) dependencies to update. Approximating. [from] Done for function main [from] ====== DEPENDENCIES COMPUTED ====== These dependencies hold at termination for the executions that terminate: diff --git a/tests/value/oracle_equality/assigns.res.oracle b/tests/value/oracle_equality/assigns.res.oracle index f423e4eb8cc93ea8dd508d87d6f093838268f3b4..d72e7dacacb9742e5d6d103753a1c18bd67e3a64 100644 --- a/tests/value/oracle_equality/assigns.res.oracle +++ b/tests/value/oracle_equality/assigns.res.oracle @@ -1,6 +1,6 @@ 154,155d153 < more than 200(1000) locations to update in array. Approximating. -< [kernel] assigns.i:104: +< [kernel:approximation] assigns.i:104: 156a155,156 -> [kernel] assigns.i:104: +> [kernel:approximation] assigns.i:104: > more than 200(1000) locations to update in array. Approximating. diff --git a/tests/value/oracle_equality/imprecise_invalid_write.res.oracle b/tests/value/oracle_equality/imprecise_invalid_write.res.oracle index 1306d9d6c575eaba355d3aa332df2ba32c5ef554..3ed40cfb17bb1523772f49eb7066115547a62c45 100644 --- a/tests/value/oracle_equality/imprecise_invalid_write.res.oracle +++ b/tests/value/oracle_equality/imprecise_invalid_write.res.oracle @@ -1,3 +1,3 @@ 27a28,29 -> [kernel] imprecise_invalid_write.i:9: +> [kernel:approximation] imprecise_invalid_write.i:9: > imprecise size for variable main1 (Undefined sizeof on a function.) diff --git a/tests/value/oracle_equality/multidim-relations.res.oracle b/tests/value/oracle_equality/multidim-relations.res.oracle index 174d88b2cb0958bb6578a57ae620aef2e75a1bad..925ce57878a424c3185defccbb5e17f79a27119d 100644 --- a/tests/value/oracle_equality/multidim-relations.res.oracle +++ b/tests/value/oracle_equality/multidim-relations.res.oracle @@ -1,15 +1,15 @@ 15,19d14 -< [kernel] multidim-relations.c:20: +< [kernel:approximation] multidim-relations.c:20: < more than 1(350) locations to update in array. Approximating. -< [kernel] multidim-relations.c:21: +< [kernel:approximation] multidim-relations.c:21: < more than 1(175) locations to update in array. Approximating. < [eva] Recording results for init_array 22a18,19 > more than 1(350) locations to update in array. Approximating. -> [kernel] multidim-relations.c:20: +> [kernel:approximation] multidim-relations.c:20: 24a22,23 > more than 1(175) locations to update in array. Approximating. -> [kernel] multidim-relations.c:21: +> [kernel:approximation] multidim-relations.c:21: 25a25 > [eva] Recording results for init_array 45d44 diff --git a/tests/value/oracle_equality/multidim.res.oracle b/tests/value/oracle_equality/multidim.res.oracle index 949bc2e8b3ac72296427a5ca325ec8ff49bb572a..135ef2c480cebc2bffa53589b3311856a450d795 100644 --- a/tests/value/oracle_equality/multidim.res.oracle +++ b/tests/value/oracle_equality/multidim.res.oracle @@ -1,18 +1,28 @@ -101a102 -> [kernel] multidim.c:66: more than 1(20) elements to enumerate. Approximating. -103a105 -> [kernel] multidim.c:67: more than 1(20) elements to enumerate. Approximating. -105a108 -> [kernel] multidim.c:66: more than 1(28) elements to enumerate. Approximating. -107a111 -> [kernel] multidim.c:67: more than 1(28) elements to enumerate. Approximating. -134,135d137 -< [kernel] multidim.c:66: more than 1(28) elements to enumerate. Approximating. -< [kernel] multidim.c:67: more than 1(28) elements to enumerate. Approximating. -180a183 -> [kernel] multidim.c:136: more than 1(1000) elements to enumerate. Approximating. -182a186 -> [kernel] multidim.c:137: more than 1(1000) elements to enumerate. Approximating. -203,204d206 -< [kernel] multidim.c:136: more than 1(1000) elements to enumerate. Approximating. -< [kernel] multidim.c:137: more than 1(1000) elements to enumerate. Approximating. +101a102,103 +> [kernel:approximation] multidim.c:66: +> more than 1(20) elements to enumerate. Approximating. +103a106,107 +> [kernel:approximation] multidim.c:67: +> more than 1(20) elements to enumerate. Approximating. +105a110,111 +> [kernel:approximation] multidim.c:66: +> more than 1(28) elements to enumerate. Approximating. +107a114,115 +> [kernel:approximation] multidim.c:67: +> more than 1(28) elements to enumerate. Approximating. +134,137d141 +< [kernel:approximation] multidim.c:66: +< more than 1(28) elements to enumerate. Approximating. +< [kernel:approximation] multidim.c:67: +< more than 1(28) elements to enumerate. Approximating. +182a187,188 +> [kernel:approximation] multidim.c:136: +> more than 1(1000) elements to enumerate. Approximating. +184a191,192 +> [kernel:approximation] multidim.c:137: +> more than 1(1000) elements to enumerate. Approximating. +205,208d212 +< [kernel:approximation] multidim.c:136: +< more than 1(1000) elements to enumerate. Approximating. +< [kernel:approximation] multidim.c:137: +< more than 1(1000) elements to enumerate. Approximating. diff --git a/tests/value/oracle_equality/non_natural.res.oracle b/tests/value/oracle_equality/non_natural.res.oracle index 10937ade1eb8718fd63fea37a336c372eb48eec5..b0440a8d6a5a417b5e0a2eefeb0652444c7fe67b 100644 --- a/tests/value/oracle_equality/non_natural.res.oracle +++ b/tests/value/oracle_equality/non_natural.res.oracle @@ -1,52 +1,52 @@ 57a58,59 -> [kernel] non_natural.i:30: +> [kernel:approximation] non_natural.i:30: > more than 200(12500) elements to enumerate. Approximating. 63a66,69 -> [kernel] non_natural.i:23: +> [kernel:approximation] non_natural.i:23: > more than 200(12500) elements to enumerate. Approximating. -> [kernel] non_natural.i:23: +> [kernel:approximation] non_natural.i:23: > more than 200(12501) elements to enumerate. Approximating. 68a75,78 -> [kernel] non_natural.i:24: +> [kernel:approximation] non_natural.i:24: > more than 200(12500) elements to enumerate. Approximating. -> [kernel] non_natural.i:24: +> [kernel:approximation] non_natural.i:24: > more than 200(12501) elements to enumerate. Approximating. 76a87,88 -> [kernel] non_natural.i:25: +> [kernel:approximation] non_natural.i:25: > more than 200(12500) elements to enumerate. Approximating. 84a97,98 -> [kernel] non_natural.i:26: +> [kernel:approximation] non_natural.i:26: > more than 200(12500) elements to enumerate. Approximating. 92a107,108 -> [kernel] non_natural.i:27: +> [kernel:approximation] non_natural.i:27: > more than 200(12500) elements to enumerate. Approximating. 100a117,118 -> [kernel] non_natural.i:28: +> [kernel:approximation] non_natural.i:28: > more than 200(12500) elements to enumerate. Approximating. 108a127,128 -> [kernel] non_natural.i:29: +> [kernel:approximation] non_natural.i:29: > more than 200(12500) elements to enumerate. Approximating. 124,143d143 -< [kernel] non_natural.i:23: +< [kernel:approximation] non_natural.i:23: < more than 200(12501) elements to enumerate. Approximating. -< [kernel] non_natural.i:23: +< [kernel:approximation] non_natural.i:23: < more than 200(12500) elements to enumerate. Approximating. -< [kernel] non_natural.i:24: +< [kernel:approximation] non_natural.i:24: < more than 200(12501) elements to enumerate. Approximating. -< [kernel] non_natural.i:24: +< [kernel:approximation] non_natural.i:24: < more than 200(12500) elements to enumerate. Approximating. -< [kernel] non_natural.i:25: +< [kernel:approximation] non_natural.i:25: < more than 200(12500) elements to enumerate. Approximating. -< [kernel] non_natural.i:26: +< [kernel:approximation] non_natural.i:26: < more than 200(12500) elements to enumerate. Approximating. -< [kernel] non_natural.i:27: +< [kernel:approximation] non_natural.i:27: < more than 200(12500) elements to enumerate. Approximating. -< [kernel] non_natural.i:28: +< [kernel:approximation] non_natural.i:28: < more than 200(12500) elements to enumerate. Approximating. -< [kernel] non_natural.i:29: +< [kernel:approximation] non_natural.i:29: < more than 200(12500) elements to enumerate. Approximating. -< [kernel] non_natural.i:30: +< [kernel:approximation] non_natural.i:30: < more than 200(12500) elements to enumerate. Approximating. 194a195,196 -> [kernel] non_natural.i:39: +> [kernel:approximation] non_natural.i:39: > more than 200(12500) elements to enumerate. Approximating. diff --git a/tests/value/oracle_equality/plevel.res.oracle b/tests/value/oracle_equality/plevel.res.oracle index 80295e5723f5bf368e511c973dba796ddd937095..d19a038f2cb62353c97e3e6ede7f83a949ef654e 100644 --- a/tests/value/oracle_equality/plevel.res.oracle +++ b/tests/value/oracle_equality/plevel.res.oracle @@ -1,4 +1,4 @@ 12d11 < [eva] Recording results for main -13a13 +14a14 > [eva] Recording results for main diff --git a/tests/value/oracle_equality/pointer_comp.res.oracle b/tests/value/oracle_equality/pointer_comp.res.oracle index 087a06fb508cf64f10b27f25fab056fa094a526e..edf0ba686cb3ab809f0b87c32a069a018a0a33cc 100644 --- a/tests/value/oracle_equality/pointer_comp.res.oracle +++ b/tests/value/oracle_equality/pointer_comp.res.oracle @@ -1,5 +1,5 @@ 30a31,34 -> [kernel] pointer_comp.c:43: +> [kernel:approximation] pointer_comp.c:43: > imprecise size for variable g (Undefined sizeof on a function.) -> [kernel] pointer_comp.c:43: +> [kernel:approximation] pointer_comp.c:43: > imprecise size for variable f (Undefined sizeof on a function.) diff --git a/tests/value/oracle_gauges/non_natural.res.oracle b/tests/value/oracle_gauges/non_natural.res.oracle index d1550923f34b316df820546276a61d03fddce37a..54c2059a1fbf0498cb1fb166080e42fc58a6bec5 100644 --- a/tests/value/oracle_gauges/non_natural.res.oracle +++ b/tests/value/oracle_gauges/non_natural.res.oracle @@ -61,10 +61,10 @@ < [eva] non_natural.i:22: Frama_C_show_each: {{ &p2 + [0..--],0%32 }} 125,126d74 < more than 200(12501) elements to enumerate. Approximating. -< [kernel] non_natural.i:23: +< [kernel:approximation] non_natural.i:23: 129,130d76 < more than 200(12501) elements to enumerate. Approximating. -< [kernel] non_natural.i:24: +< [kernel:approximation] non_natural.i:24: 189,192c135 < [eva] non_natural.i:38: Frama_C_show_each: {{ &p2 + [0..400000],0%32 }} < [eva:alarm] non_natural.i:39: Warning: diff --git a/tests/value/oracle_octagon/assigns.res.oracle b/tests/value/oracle_octagon/assigns.res.oracle index f423e4eb8cc93ea8dd508d87d6f093838268f3b4..d72e7dacacb9742e5d6d103753a1c18bd67e3a64 100644 --- a/tests/value/oracle_octagon/assigns.res.oracle +++ b/tests/value/oracle_octagon/assigns.res.oracle @@ -1,6 +1,6 @@ 154,155d153 < more than 200(1000) locations to update in array. Approximating. -< [kernel] assigns.i:104: +< [kernel:approximation] assigns.i:104: 156a155,156 -> [kernel] assigns.i:104: +> [kernel:approximation] assigns.i:104: > more than 200(1000) locations to update in array. Approximating. diff --git a/tests/value/oracle_octagon/multidim-relations.res.oracle b/tests/value/oracle_octagon/multidim-relations.res.oracle index 174d88b2cb0958bb6578a57ae620aef2e75a1bad..925ce57878a424c3185defccbb5e17f79a27119d 100644 --- a/tests/value/oracle_octagon/multidim-relations.res.oracle +++ b/tests/value/oracle_octagon/multidim-relations.res.oracle @@ -1,15 +1,15 @@ 15,19d14 -< [kernel] multidim-relations.c:20: +< [kernel:approximation] multidim-relations.c:20: < more than 1(350) locations to update in array. Approximating. -< [kernel] multidim-relations.c:21: +< [kernel:approximation] multidim-relations.c:21: < more than 1(175) locations to update in array. Approximating. < [eva] Recording results for init_array 22a18,19 > more than 1(350) locations to update in array. Approximating. -> [kernel] multidim-relations.c:20: +> [kernel:approximation] multidim-relations.c:20: 24a22,23 > more than 1(175) locations to update in array. Approximating. -> [kernel] multidim-relations.c:21: +> [kernel:approximation] multidim-relations.c:21: 25a25 > [eva] Recording results for init_array 45d44 diff --git a/tests/value/oracle_octagon/multidim.res.oracle b/tests/value/oracle_octagon/multidim.res.oracle index 949bc2e8b3ac72296427a5ca325ec8ff49bb572a..135ef2c480cebc2bffa53589b3311856a450d795 100644 --- a/tests/value/oracle_octagon/multidim.res.oracle +++ b/tests/value/oracle_octagon/multidim.res.oracle @@ -1,18 +1,28 @@ -101a102 -> [kernel] multidim.c:66: more than 1(20) elements to enumerate. Approximating. -103a105 -> [kernel] multidim.c:67: more than 1(20) elements to enumerate. Approximating. -105a108 -> [kernel] multidim.c:66: more than 1(28) elements to enumerate. Approximating. -107a111 -> [kernel] multidim.c:67: more than 1(28) elements to enumerate. Approximating. -134,135d137 -< [kernel] multidim.c:66: more than 1(28) elements to enumerate. Approximating. -< [kernel] multidim.c:67: more than 1(28) elements to enumerate. Approximating. -180a183 -> [kernel] multidim.c:136: more than 1(1000) elements to enumerate. Approximating. -182a186 -> [kernel] multidim.c:137: more than 1(1000) elements to enumerate. Approximating. -203,204d206 -< [kernel] multidim.c:136: more than 1(1000) elements to enumerate. Approximating. -< [kernel] multidim.c:137: more than 1(1000) elements to enumerate. Approximating. +101a102,103 +> [kernel:approximation] multidim.c:66: +> more than 1(20) elements to enumerate. Approximating. +103a106,107 +> [kernel:approximation] multidim.c:67: +> more than 1(20) elements to enumerate. Approximating. +105a110,111 +> [kernel:approximation] multidim.c:66: +> more than 1(28) elements to enumerate. Approximating. +107a114,115 +> [kernel:approximation] multidim.c:67: +> more than 1(28) elements to enumerate. Approximating. +134,137d141 +< [kernel:approximation] multidim.c:66: +< more than 1(28) elements to enumerate. Approximating. +< [kernel:approximation] multidim.c:67: +< more than 1(28) elements to enumerate. Approximating. +182a187,188 +> [kernel:approximation] multidim.c:136: +> more than 1(1000) elements to enumerate. Approximating. +184a191,192 +> [kernel:approximation] multidim.c:137: +> more than 1(1000) elements to enumerate. Approximating. +205,208d212 +< [kernel:approximation] multidim.c:136: +< more than 1(1000) elements to enumerate. Approximating. +< [kernel:approximation] multidim.c:137: +< more than 1(1000) elements to enumerate. Approximating. diff --git a/tests/value/oracle_octagon/non_natural.res.oracle b/tests/value/oracle_octagon/non_natural.res.oracle index 69bedb2f07ed82521b0114e6fe43424a93bfd128..510ad3e0141419299d5133c7d211dc5c16bd5f9b 100644 --- a/tests/value/oracle_octagon/non_natural.res.oracle +++ b/tests/value/oracle_octagon/non_natural.res.oracle @@ -1,45 +1,45 @@ 57a58,59 -> [kernel] non_natural.i:30: +> [kernel:approximation] non_natural.i:30: > more than 200(12500) elements to enumerate. Approximating. 63a66,67 -> [kernel] non_natural.i:23: +> [kernel:approximation] non_natural.i:23: > more than 200(12500) elements to enumerate. Approximating. 68a73,74 -> [kernel] non_natural.i:24: +> [kernel:approximation] non_natural.i:24: > more than 200(12500) elements to enumerate. Approximating. 76a83,84 -> [kernel] non_natural.i:25: +> [kernel:approximation] non_natural.i:25: > more than 200(12500) elements to enumerate. Approximating. 84a93,94 -> [kernel] non_natural.i:26: +> [kernel:approximation] non_natural.i:26: > more than 200(12500) elements to enumerate. Approximating. 92a103,104 -> [kernel] non_natural.i:27: +> [kernel:approximation] non_natural.i:27: > more than 200(12500) elements to enumerate. Approximating. 100a113,114 -> [kernel] non_natural.i:28: +> [kernel:approximation] non_natural.i:28: > more than 200(12500) elements to enumerate. Approximating. 108a123,124 -> [kernel] non_natural.i:29: +> [kernel:approximation] non_natural.i:29: > more than 200(12500) elements to enumerate. Approximating. 126,127d141 -< [kernel] non_natural.i:23: +< [kernel:approximation] non_natural.i:23: < more than 200(12500) elements to enumerate. Approximating. 130,143d143 -< [kernel] non_natural.i:24: +< [kernel:approximation] non_natural.i:24: < more than 200(12500) elements to enumerate. Approximating. -< [kernel] non_natural.i:25: +< [kernel:approximation] non_natural.i:25: < more than 200(12500) elements to enumerate. Approximating. -< [kernel] non_natural.i:26: +< [kernel:approximation] non_natural.i:26: < more than 200(12500) elements to enumerate. Approximating. -< [kernel] non_natural.i:27: +< [kernel:approximation] non_natural.i:27: < more than 200(12500) elements to enumerate. Approximating. -< [kernel] non_natural.i:28: +< [kernel:approximation] non_natural.i:28: < more than 200(12500) elements to enumerate. Approximating. -< [kernel] non_natural.i:29: +< [kernel:approximation] non_natural.i:29: < more than 200(12500) elements to enumerate. Approximating. -< [kernel] non_natural.i:30: +< [kernel:approximation] non_natural.i:30: < more than 200(12500) elements to enumerate. Approximating. 194a195,196 -> [kernel] non_natural.i:39: +> [kernel:approximation] non_natural.i:39: > more than 200(12500) elements to enumerate. Approximating. diff --git a/tests/value/oracle_octagon/plevel.res.oracle b/tests/value/oracle_octagon/plevel.res.oracle index 80295e5723f5bf368e511c973dba796ddd937095..d19a038f2cb62353c97e3e6ede7f83a949ef654e 100644 --- a/tests/value/oracle_octagon/plevel.res.oracle +++ b/tests/value/oracle_octagon/plevel.res.oracle @@ -1,4 +1,4 @@ 12d11 < [eva] Recording results for main -13a13 +14a14 > [eva] Recording results for main diff --git a/tests/value/oracle_symblocs/assigns.res.oracle b/tests/value/oracle_symblocs/assigns.res.oracle index f423e4eb8cc93ea8dd508d87d6f093838268f3b4..d72e7dacacb9742e5d6d103753a1c18bd67e3a64 100644 --- a/tests/value/oracle_symblocs/assigns.res.oracle +++ b/tests/value/oracle_symblocs/assigns.res.oracle @@ -1,6 +1,6 @@ 154,155d153 < more than 200(1000) locations to update in array. Approximating. -< [kernel] assigns.i:104: +< [kernel:approximation] assigns.i:104: 156a155,156 -> [kernel] assigns.i:104: +> [kernel:approximation] assigns.i:104: > more than 200(1000) locations to update in array. Approximating. diff --git a/tests/value/oracle_symblocs/multidim-relations.res.oracle b/tests/value/oracle_symblocs/multidim-relations.res.oracle index 174d88b2cb0958bb6578a57ae620aef2e75a1bad..925ce57878a424c3185defccbb5e17f79a27119d 100644 --- a/tests/value/oracle_symblocs/multidim-relations.res.oracle +++ b/tests/value/oracle_symblocs/multidim-relations.res.oracle @@ -1,15 +1,15 @@ 15,19d14 -< [kernel] multidim-relations.c:20: +< [kernel:approximation] multidim-relations.c:20: < more than 1(350) locations to update in array. Approximating. -< [kernel] multidim-relations.c:21: +< [kernel:approximation] multidim-relations.c:21: < more than 1(175) locations to update in array. Approximating. < [eva] Recording results for init_array 22a18,19 > more than 1(350) locations to update in array. Approximating. -> [kernel] multidim-relations.c:20: +> [kernel:approximation] multidim-relations.c:20: 24a22,23 > more than 1(175) locations to update in array. Approximating. -> [kernel] multidim-relations.c:21: +> [kernel:approximation] multidim-relations.c:21: 25a25 > [eva] Recording results for init_array 45d44 diff --git a/tests/value/oracle_symblocs/multidim.res.oracle b/tests/value/oracle_symblocs/multidim.res.oracle index 949bc2e8b3ac72296427a5ca325ec8ff49bb572a..135ef2c480cebc2bffa53589b3311856a450d795 100644 --- a/tests/value/oracle_symblocs/multidim.res.oracle +++ b/tests/value/oracle_symblocs/multidim.res.oracle @@ -1,18 +1,28 @@ -101a102 -> [kernel] multidim.c:66: more than 1(20) elements to enumerate. Approximating. -103a105 -> [kernel] multidim.c:67: more than 1(20) elements to enumerate. Approximating. -105a108 -> [kernel] multidim.c:66: more than 1(28) elements to enumerate. Approximating. -107a111 -> [kernel] multidim.c:67: more than 1(28) elements to enumerate. Approximating. -134,135d137 -< [kernel] multidim.c:66: more than 1(28) elements to enumerate. Approximating. -< [kernel] multidim.c:67: more than 1(28) elements to enumerate. Approximating. -180a183 -> [kernel] multidim.c:136: more than 1(1000) elements to enumerate. Approximating. -182a186 -> [kernel] multidim.c:137: more than 1(1000) elements to enumerate. Approximating. -203,204d206 -< [kernel] multidim.c:136: more than 1(1000) elements to enumerate. Approximating. -< [kernel] multidim.c:137: more than 1(1000) elements to enumerate. Approximating. +101a102,103 +> [kernel:approximation] multidim.c:66: +> more than 1(20) elements to enumerate. Approximating. +103a106,107 +> [kernel:approximation] multidim.c:67: +> more than 1(20) elements to enumerate. Approximating. +105a110,111 +> [kernel:approximation] multidim.c:66: +> more than 1(28) elements to enumerate. Approximating. +107a114,115 +> [kernel:approximation] multidim.c:67: +> more than 1(28) elements to enumerate. Approximating. +134,137d141 +< [kernel:approximation] multidim.c:66: +< more than 1(28) elements to enumerate. Approximating. +< [kernel:approximation] multidim.c:67: +< more than 1(28) elements to enumerate. Approximating. +182a187,188 +> [kernel:approximation] multidim.c:136: +> more than 1(1000) elements to enumerate. Approximating. +184a191,192 +> [kernel:approximation] multidim.c:137: +> more than 1(1000) elements to enumerate. Approximating. +205,208d212 +< [kernel:approximation] multidim.c:136: +< more than 1(1000) elements to enumerate. Approximating. +< [kernel:approximation] multidim.c:137: +< more than 1(1000) elements to enumerate. Approximating. diff --git a/tests/value/oracle_symblocs/non_natural.res.oracle b/tests/value/oracle_symblocs/non_natural.res.oracle index bcfcfe9b73aba3286cdfd9e5d2ff8b18f89d0439..9ac7a8268f45a9a01104cb14355f746ac8d5e0ab 100644 --- a/tests/value/oracle_symblocs/non_natural.res.oracle +++ b/tests/value/oracle_symblocs/non_natural.res.oracle @@ -1,52 +1,52 @@ 57a58,59 -> [kernel] non_natural.i:30: +> [kernel:approximation] non_natural.i:30: > more than 200(12500) elements to enumerate. Approximating. 63a66,69 -> [kernel] non_natural.i:23: +> [kernel:approximation] non_natural.i:23: > more than 200(12501) elements to enumerate. Approximating. -> [kernel] non_natural.i:23: +> [kernel:approximation] non_natural.i:23: > more than 200(12500) elements to enumerate. Approximating. 68a75,78 -> [kernel] non_natural.i:24: +> [kernel:approximation] non_natural.i:24: > more than 200(12501) elements to enumerate. Approximating. -> [kernel] non_natural.i:24: +> [kernel:approximation] non_natural.i:24: > more than 200(12500) elements to enumerate. Approximating. 76a87,88 -> [kernel] non_natural.i:25: +> [kernel:approximation] non_natural.i:25: > more than 200(12500) elements to enumerate. Approximating. 84a97,98 -> [kernel] non_natural.i:26: +> [kernel:approximation] non_natural.i:26: > more than 200(12500) elements to enumerate. Approximating. 92a107,108 -> [kernel] non_natural.i:27: +> [kernel:approximation] non_natural.i:27: > more than 200(12500) elements to enumerate. Approximating. 100a117,118 -> [kernel] non_natural.i:28: +> [kernel:approximation] non_natural.i:28: > more than 200(12500) elements to enumerate. Approximating. 108a127,128 -> [kernel] non_natural.i:29: +> [kernel:approximation] non_natural.i:29: > more than 200(12500) elements to enumerate. Approximating. 124,143d143 -< [kernel] non_natural.i:23: +< [kernel:approximation] non_natural.i:23: < more than 200(12501) elements to enumerate. Approximating. -< [kernel] non_natural.i:23: +< [kernel:approximation] non_natural.i:23: < more than 200(12500) elements to enumerate. Approximating. -< [kernel] non_natural.i:24: +< [kernel:approximation] non_natural.i:24: < more than 200(12501) elements to enumerate. Approximating. -< [kernel] non_natural.i:24: +< [kernel:approximation] non_natural.i:24: < more than 200(12500) elements to enumerate. Approximating. -< [kernel] non_natural.i:25: +< [kernel:approximation] non_natural.i:25: < more than 200(12500) elements to enumerate. Approximating. -< [kernel] non_natural.i:26: +< [kernel:approximation] non_natural.i:26: < more than 200(12500) elements to enumerate. Approximating. -< [kernel] non_natural.i:27: +< [kernel:approximation] non_natural.i:27: < more than 200(12500) elements to enumerate. Approximating. -< [kernel] non_natural.i:28: +< [kernel:approximation] non_natural.i:28: < more than 200(12500) elements to enumerate. Approximating. -< [kernel] non_natural.i:29: +< [kernel:approximation] non_natural.i:29: < more than 200(12500) elements to enumerate. Approximating. -< [kernel] non_natural.i:30: +< [kernel:approximation] non_natural.i:30: < more than 200(12500) elements to enumerate. Approximating. 194a195,196 -> [kernel] non_natural.i:39: +> [kernel:approximation] non_natural.i:39: > more than 200(12500) elements to enumerate. Approximating. diff --git a/tests/value/oracle_symblocs/plevel.res.oracle b/tests/value/oracle_symblocs/plevel.res.oracle index 80295e5723f5bf368e511c973dba796ddd937095..d19a038f2cb62353c97e3e6ede7f83a949ef654e 100644 --- a/tests/value/oracle_symblocs/plevel.res.oracle +++ b/tests/value/oracle_symblocs/plevel.res.oracle @@ -1,4 +1,4 @@ 12d11 < [eva] Recording results for main -13a13 +14a14 > [eva] Recording results for main