From 598800a59d3ad4db6414e39bda9d30597e43117a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20B=C3=BChler?= <david.buhler@cea.fr> Date: Tue, 17 Sep 2024 16:56:34 +0200 Subject: [PATCH] [Eva] Offsetmap: removes some feedback messages about approximations. In offsetmaps, removes a reference to change the feedback emitted when approximating the write of large memory locations. Instead, the main offsetmap functor takes an additional parameter about whether such messages should be emitted. Only the offsetmaps build by the Eva cvalue domain emits these messages, as write approximations may have a significant impact on the analysis precision. Offsetmaps used to represent memory zones or dependiencies do not emit these messages, which were most often insignificant and instable (as many plug-ins and Eva domains use memory zones in various ways). --- src/kernel_services/abstract_interp/cvalue.ml | 6 +- .../abstract_interp/lmap_bitwise.ml | 4 -- .../abstract_interp/lmap_bitwise.mli | 2 - .../abstract_interp/offsetmap.ml | 66 +++++++++++-------- .../abstract_interp/offsetmap.mli | 13 ++-- .../abstract_interp/offsetmap_bitwise_sig.ml | 5 -- .../abstract_interp/offsetmap_sig.ml | 4 -- src/plugins/from/from_memory.ml | 2 - tests/builtins/oracle/imprecise.res.oracle | 8 --- .../builtins/oracle/linked_list.1.res.oracle | 8 --- tests/builtins/oracle/memcpy.0.res.oracle | 2 - .../oracle_equality/imprecise.res.oracle | 11 ---- .../oracle_equality/linked_list.1.res.oracle | 24 ------- .../oracle_gauges/linked_list.1.res.oracle | 2 +- .../oracle_gauges/memcpy.0.res.oracle | 4 +- .../oracle_octagon/imprecise.res.oracle | 11 ---- .../oracle_octagon/linked_list.1.res.oracle | 18 ----- .../oracle_symblocs/imprecise.res.oracle | 11 ---- .../oracle_symblocs/linked_list.1.res.oracle | 18 ----- tests/value/oracle/assigns.res.oracle | 2 - .../oracle/multidim-relations.res.oracle | 14 ---- tests/value/oracle/multidim.res.oracle | 22 ------- tests/value/oracle/non_natural.res.oracle | 52 --------------- tests/value/oracle/offsetmap.0.res.oracle | 2 - tests/value/oracle/offsetmap.1.res.oracle | 2 - tests/value/oracle/offsetmap.2.res.oracle | 2 - tests/value/oracle/plevel.res.oracle | 4 -- .../value/oracle_apron/offsetmap.0.res.oracle | 8 +-- .../value/oracle_apron/offsetmap.1.res.oracle | 8 +-- .../value/oracle_apron/offsetmap.2.res.oracle | 4 +- .../value/oracle_equality/assigns.res.oracle | 6 -- .../multidim-relations.res.oracle | 18 ----- .../value/oracle_equality/multidim.res.oracle | 28 -------- .../oracle_equality/non_natural.res.oracle | 52 --------------- .../oracle_equality/offsetmap.0.res.oracle | 4 -- .../oracle_equality/offsetmap.1.res.oracle | 4 -- .../oracle_equality/offsetmap.2.res.oracle | 4 -- tests/value/oracle_equality/plevel.res.oracle | 4 -- .../oracle_gauges/non_natural.res.oracle | 34 ++++------ tests/value/oracle_octagon/assigns.res.oracle | 6 -- .../multidim-relations.res.oracle | 18 ----- .../value/oracle_octagon/multidim.res.oracle | 28 -------- .../oracle_octagon/non_natural.res.oracle | 45 ------------- .../oracle_octagon/offsetmap.0.res.oracle | 4 -- .../oracle_octagon/offsetmap.1.res.oracle | 4 -- .../oracle_octagon/offsetmap.2.res.oracle | 4 -- tests/value/oracle_octagon/plevel.res.oracle | 4 -- .../value/oracle_symblocs/assigns.res.oracle | 6 -- .../multidim-relations.res.oracle | 18 ----- .../value/oracle_symblocs/multidim.res.oracle | 28 -------- .../oracle_symblocs/non_natural.res.oracle | 52 --------------- .../oracle_symblocs/offsetmap.0.res.oracle | 4 -- .../oracle_symblocs/offsetmap.1.res.oracle | 4 -- .../oracle_symblocs/offsetmap.2.res.oracle | 4 -- tests/value/oracle_symblocs/plevel.res.oracle | 4 -- 55 files changed, 79 insertions(+), 647 deletions(-) delete mode 100644 tests/builtins/oracle_equality/imprecise.res.oracle delete mode 100644 tests/builtins/oracle_equality/linked_list.1.res.oracle delete mode 100644 tests/builtins/oracle_octagon/imprecise.res.oracle delete mode 100644 tests/builtins/oracle_octagon/linked_list.1.res.oracle delete mode 100644 tests/builtins/oracle_symblocs/imprecise.res.oracle delete mode 100644 tests/builtins/oracle_symblocs/linked_list.1.res.oracle delete mode 100644 tests/value/oracle_equality/assigns.res.oracle delete mode 100644 tests/value/oracle_equality/multidim-relations.res.oracle delete mode 100644 tests/value/oracle_equality/multidim.res.oracle delete mode 100644 tests/value/oracle_equality/non_natural.res.oracle delete mode 100644 tests/value/oracle_equality/offsetmap.0.res.oracle delete mode 100644 tests/value/oracle_equality/offsetmap.1.res.oracle delete mode 100644 tests/value/oracle_equality/offsetmap.2.res.oracle delete mode 100644 tests/value/oracle_equality/plevel.res.oracle delete mode 100644 tests/value/oracle_octagon/assigns.res.oracle delete mode 100644 tests/value/oracle_octagon/multidim-relations.res.oracle delete mode 100644 tests/value/oracle_octagon/multidim.res.oracle delete mode 100644 tests/value/oracle_octagon/non_natural.res.oracle delete mode 100644 tests/value/oracle_octagon/offsetmap.0.res.oracle delete mode 100644 tests/value/oracle_octagon/offsetmap.1.res.oracle delete mode 100644 tests/value/oracle_octagon/offsetmap.2.res.oracle delete mode 100644 tests/value/oracle_octagon/plevel.res.oracle delete mode 100644 tests/value/oracle_symblocs/assigns.res.oracle delete mode 100644 tests/value/oracle_symblocs/multidim-relations.res.oracle delete mode 100644 tests/value/oracle_symblocs/multidim.res.oracle delete mode 100644 tests/value/oracle_symblocs/non_natural.res.oracle delete mode 100644 tests/value/oracle_symblocs/offsetmap.0.res.oracle delete mode 100644 tests/value/oracle_symblocs/offsetmap.1.res.oracle delete mode 100644 tests/value/oracle_symblocs/offsetmap.2.res.oracle delete mode 100644 tests/value/oracle_symblocs/plevel.res.oracle diff --git a/src/kernel_services/abstract_interp/cvalue.ml b/src/kernel_services/abstract_interp/cvalue.ml index 0f70fa34a69..18befa2c686 100644 --- a/src/kernel_services/abstract_interp/cvalue.ml +++ b/src/kernel_services/abstract_interp/cvalue.ml @@ -925,7 +925,11 @@ module V_Or_Uninitialized = struct end module V_Offsetmap = struct - include Offsetmap.Make(V_Or_Uninitialized) + module Params = struct + let approximation_feedback = true + end + + include Offsetmap.Make (V_Or_Uninitialized) (Params) let from_string s = (* Iterate on s + null terminator; same signature as List.fold_left *) diff --git a/src/kernel_services/abstract_interp/lmap_bitwise.ml b/src/kernel_services/abstract_interp/lmap_bitwise.ml index 04ca90b91a1..af05661e44a 100644 --- a/src/kernel_services/abstract_interp/lmap_bitwise.ml +++ b/src/kernel_services/abstract_interp/lmap_bitwise.ml @@ -85,8 +85,6 @@ module type Location_map_bitwise = sig val shape: map -> LOffset.t Hptmap.Shape(Base.Base).t - val imprecise_write_msg: string ref - val clear_caches: unit -> unit end @@ -173,8 +171,6 @@ struct type map = LBase.t - let imprecise_write_msg = LOffset.imprecise_write_msg - let find_or_default b m = try LBase.find b m with Not_found -> default_offsetmap b diff --git a/src/kernel_services/abstract_interp/lmap_bitwise.mli b/src/kernel_services/abstract_interp/lmap_bitwise.mli index ef6adf28c8b..e0b78eaabe4 100644 --- a/src/kernel_services/abstract_interp/lmap_bitwise.mli +++ b/src/kernel_services/abstract_interp/lmap_bitwise.mli @@ -137,8 +137,6 @@ module type Location_map_bitwise = sig val shape: map -> LOffset.t Hptmap.Shape(Base.Base).t - val imprecise_write_msg: string ref - (** Clear the caches local to this module. Beware that they are not project-aware, and that you must call them at every project switch. *) val clear_caches: unit -> unit diff --git a/src/kernel_services/abstract_interp/offsetmap.ml b/src/kernel_services/abstract_interp/offsetmap.ml index cce3aad8668..60d836c7675 100644 --- a/src/kernel_services/abstract_interp/offsetmap.ml +++ b/src/kernel_services/abstract_interp/offsetmap.ml @@ -104,7 +104,19 @@ let get_plevel () = !plevel let debug = false -module Make (V : Offsetmap_lattice_with_isotropy.S) = struct + +module type Parameters = sig + val approximation_feedback: bool +end + +module Default_Parameters = struct + let approximation_feedback = false +end + +module Make + (V : Offsetmap_lattice_with_isotropy.S) + (Params: Parameters) += struct open Format @@ -1841,8 +1853,6 @@ module Make (V : Offsetmap_lattice_with_isotropy.S) = struct aux_update mn mx curr_off tree ;; - let imprecise_write_msg = ref "locations to update in array" - exception Update_Result_is_bottom (* Returns [true] iff [update_aux_tr_offsets] will approximate the set @@ -1880,19 +1890,19 @@ module Make (V : Offsetmap_lattice_with_isotropy.S) = struct if number <=~ Integer.of_int plevel || period =~ size then update_itvs ~exact ~mn ~mx ~period ~size v curr_off t else begin - if size <~ period then + if size <~ period && Params.approximation_feedback then (* We are going to write the locations that are between [size+1] and [period] unnecessarily, warn the user *) Abstract_interp.feedback_approximation - "more than %d(%a) %s. Approximating." - plevel pretty_int number !imprecise_write_msg; + "more than %d(%a) locations to update in array. Approximating." + plevel pretty_int number; let abs_max = pred (mx +~ size) in let v = if Int.is_zero (period %~ size) then v else let origin = Origin.(current Misalign_write) in let v' = V.topify_with_origin origin v in - if not (V.equal v v') then + if not (V.equal v v') && Params.approximation_feedback then Abstract_interp.feedback_approximation "approximating value to write."; v' @@ -2063,7 +2073,7 @@ module Make (V : Offsetmap_lattice_with_isotropy.S) = struct | Node (_, _, Empty, _, Empty, _, _, v', _) -> not (V.equal v v') | _ -> true (* at least two nodes *) in - if imprecise then + if imprecise && Params.approximation_feedback then Abstract_interp.feedback_approximation "too many locations to update in array. Approximating."; update ~validity ~exact ~offsets ~size v dst @@ -2216,30 +2226,28 @@ end (* --- Intervals --- *) (* -------------------------------------------------------------------------- *) -module Int_Intervals_Map = struct +module Boolean_Value = struct + include Datatype.Bool - include Make(struct - include Datatype.Bool + let bottom = false + let join = (||) + let is_included b1 b2 = b2 || not b1 + let merge_neutral_element = bottom - let bottom = false - let join = (||) - let is_included b1 b2 = b2 || not b1 - let merge_neutral_element = bottom + let pretty_typ _ fmt v = pretty fmt v - let pretty_typ _ fmt v = pretty fmt v + include FullyIsotropic +end - include FullyIsotropic - end) +module Int_Intervals_Map = struct + + include Make (Boolean_Value) (Default_Parameters) include Make_Narrow(struct let top = true let narrow = (&&) end) - let () = - imprecise_write_msg := "elements to enumerate" - - (* In this auxiliary module, intervals are pairs [(curr_off, m)] where [m] has type [bool Offsetmap.t]. However, in order to avoid boxing, functions sometimes take two arguments: first the current offset, @@ -2793,12 +2801,14 @@ module Make_bitwise(V: sig include Lattice_type.With_Top with type t := t end) = struct - include Make(struct - include V - include FullyIsotropic - let merge_neutral_element = bottom - let pretty_typ _ fmt v = pretty fmt v - end) + module Isotropic_Value = struct + include V + include FullyIsotropic + let merge_neutral_element = bottom + let pretty_typ _ fmt v = pretty fmt v + end + + include Make (Isotropic_Value) (Default_Parameters) type intervals = Int_Intervals.intervals diff --git a/src/kernel_services/abstract_interp/offsetmap.mli b/src/kernel_services/abstract_interp/offsetmap.mli index 51e246111f5..d0950cfab57 100644 --- a/src/kernel_services/abstract_interp/offsetmap.mli +++ b/src/kernel_services/abstract_interp/offsetmap.mli @@ -22,12 +22,17 @@ (** Maps from intervals to values. *) +module type Parameters = sig + (** Should offsetmaps emit feedback messages when approximating the write of + large memory locations? *) + val approximation_feedback: bool +end + (** Maps from intervals to values. The documentation of the returned maps is in module {!Offsetmap_sig}. *) -module Make (V : Offsetmap_lattice_with_isotropy.S) : - Offsetmap_sig.S - with type v = V.t - and type widen_hint = V.widen_hint +module Make (V : Offsetmap_lattice_with_isotropy.S) (_: Parameters) : + Offsetmap_sig.S with type v = V.t + and type widen_hint = V.widen_hint (**/**) (* Exported as Int_Intervals, do not use this module directly *) diff --git a/src/kernel_services/abstract_interp/offsetmap_bitwise_sig.ml b/src/kernel_services/abstract_interp/offsetmap_bitwise_sig.ml index 7da3311185c..d736be4315f 100644 --- a/src/kernel_services/abstract_interp/offsetmap_bitwise_sig.ml +++ b/src/kernel_services/abstract_interp/offsetmap_bitwise_sig.ml @@ -157,9 +157,4 @@ module type S = sig project-aware, and that you must call them at every project switch. *) val clear_caches: unit -> unit - - (**/**) - - val imprecise_write_msg: string ref - end diff --git a/src/kernel_services/abstract_interp/offsetmap_sig.ml b/src/kernel_services/abstract_interp/offsetmap_sig.ml index d81994f3664..3e05e3cd024 100644 --- a/src/kernel_services/abstract_interp/offsetmap_sig.ml +++ b/src/kernel_services/abstract_interp/offsetmap_sig.ml @@ -284,10 +284,6 @@ module type S = sig (** {2 Misc} *) - val imprecise_write_msg: string ref - (** The message "more than N <imprecise_msg_write>. Approximating." is displayed - when the offsetmap must update too many locations in one operation. *) - (** Clear the caches local to this module. Beware that they are not project-aware, and that you must call them at every project switch. *) val clear_caches: unit -> unit diff --git a/src/plugins/from/from_memory.ml b/src/plugins/from/from_memory.ml index 2abd4055519..ac4353aa432 100644 --- a/src/plugins/from/from_memory.ml +++ b/src/plugins/from/from_memory.ml @@ -196,8 +196,6 @@ let collapse_return x = x (* ----- Pretty-printing ---------------------------------------------------- *) -let () = imprecise_write_msg := "dependencies to update" - let pretty_skip = function | DepsOrUnassigned.DepsBottom -> true | DepsOrUnassigned.Unassigned -> true diff --git a/tests/builtins/oracle/imprecise.res.oracle b/tests/builtins/oracle/imprecise.res.oracle index 4e35f99b2bb..9ce39e3c01e 100644 --- a/tests/builtins/oracle/imprecise.res.oracle +++ b/tests/builtins/oracle/imprecise.res.oracle @@ -229,15 +229,7 @@ [eva:alarm] imprecise.c:116: Warning: assertion got status unknown. [eva] Recording results for many_writes [from] Computing for function many_writes -[kernel:approximation] imprecise.c:111: - more than 200(300) dependencies to update. Approximating. -[kernel:approximation] imprecise.c:114: - more than 200(300) dependencies to update. Approximating. [from] Done for function many_writes -[kernel:approximation] imprecise.c:111: - more than 200(300) elements to enumerate. Approximating. -[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. Called from imprecise.c:151. diff --git a/tests/builtins/oracle/linked_list.1.res.oracle b/tests/builtins/oracle/linked_list.1.res.oracle index 09e482693eb..916c9e2bba8 100644 --- a/tests/builtins/oracle/linked_list.1.res.oracle +++ b/tests/builtins/oracle/linked_list.1.res.oracle @@ -811,8 +811,6 @@ has generated a garbled mix of addresses for assigns clause __fc_stdout->__fc_FILE_data. [eva] Done for function printf_va_1 -[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: out of bounds read. assert \valid_read(&curr->val); @@ -820,8 +818,6 @@ Called from linked_list.c:51. [eva] Done for function printf_va_1 [eva] Recording results for main -[kernel:approximation] linked_list.c:44: - more than 100(128) elements to enumerate. Approximating. [eva] Done for function main [eva] ====== VALUES COMPUTED ====== [eva:final-states] Values at end of function malloc: @@ -843,10 +839,6 @@ [from] Computing for function malloc [from] Done for function malloc [from] Computing for function main -[kernel:approximation] linked_list.c:43: - more than 100(128) dependencies to update. Approximating. -[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 [from] Done for function main diff --git a/tests/builtins/oracle/memcpy.0.res.oracle b/tests/builtins/oracle/memcpy.0.res.oracle index 4f0cb38f1d5..e683bebda9f 100644 --- a/tests/builtins/oracle/memcpy.0.res.oracle +++ b/tests/builtins/oracle/memcpy.0.res.oracle @@ -52,8 +52,6 @@ too many locations to update in array. Approximating. [kernel:approximation] memcpy.c:53: more than 150(1000) locations to update in array. 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. diff --git a/tests/builtins/oracle_equality/imprecise.res.oracle b/tests/builtins/oracle_equality/imprecise.res.oracle deleted file mode 100644 index d869951cfc1..00000000000 --- a/tests/builtins/oracle_equality/imprecise.res.oracle +++ /dev/null @@ -1,11 +0,0 @@ -220a221,222 -> [kernel:approximation] imprecise.c:111: -> more than 200(300) elements to enumerate. Approximating. -228a231,232 -> [kernel:approximation] imprecise.c:114: -> more than 200(300) elements to enumerate. Approximating. -237,240d240 -< [kernel:approximation] imprecise.c:111: -< more than 200(300) elements to enumerate. Approximating. -< [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 deleted file mode 100644 index f39a4d73328..00000000000 --- a/tests/builtins/oracle_equality/linked_list.1.res.oracle +++ /dev/null @@ -1,24 +0,0 @@ -488a489,490 -> [kernel:approximation] linked_list.c:19: -> more than 100(127) elements to enumerate. Approximating. -542a545,546 -> [kernel:approximation] linked_list.c:43: -> more than 100(127) elements to enumerate. Approximating. -544a549,550 -> [kernel:approximation] linked_list.c:44: -> more than 100(127) elements to enumerate. Approximating. -673a680,681 -> [kernel:approximation] linked_list.c:19: -> more than 100(128) elements to enumerate. Approximating. -718a727,728 -> [kernel:approximation] linked_list.c:43: -> more than 100(128) elements to enumerate. Approximating. -720a731,732 -> [kernel:approximation] linked_list.c:44: -> more than 100(128) elements to enumerate. Approximating. -814,815d825 -< [kernel:approximation] linked_list.c:51: -< more than 100(128) elements to enumerate. Approximating. -823,824d832 -< [kernel:approximation] linked_list.c:44: -< more than 100(128) elements to enumerate. Approximating. diff --git a/tests/builtins/oracle_gauges/linked_list.1.res.oracle b/tests/builtins/oracle_gauges/linked_list.1.res.oracle index b4dd8f6901b..3399b568933 100644 --- a/tests/builtins/oracle_gauges/linked_list.1.res.oracle +++ b/tests/builtins/oracle_gauges/linked_list.1.res.oracle @@ -1,4 +1,4 @@ -821a822,827 +819a820,825 > [eva] computing for function printf_va_1 <- main. > Called from linked_list.c:51. > [eva] Done for function printf_va_1 diff --git a/tests/builtins/oracle_gauges/memcpy.0.res.oracle b/tests/builtins/oracle_gauges/memcpy.0.res.oracle index de497bfb3c3..7fa2ad9c849 100644 --- a/tests/builtins/oracle_gauges/memcpy.0.res.oracle +++ b/tests/builtins/oracle_gauges/memcpy.0.res.oracle @@ -1,5 +1,5 @@ -149a150,151 +147a148,149 > [eva] memcpy.c:100: Call to builtin memcpy > [eva] memcpy.c:100: Call to builtin memcpy -375a378 +373a376 > [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 deleted file mode 100644 index d869951cfc1..00000000000 --- a/tests/builtins/oracle_octagon/imprecise.res.oracle +++ /dev/null @@ -1,11 +0,0 @@ -220a221,222 -> [kernel:approximation] imprecise.c:111: -> more than 200(300) elements to enumerate. Approximating. -228a231,232 -> [kernel:approximation] imprecise.c:114: -> more than 200(300) elements to enumerate. Approximating. -237,240d240 -< [kernel:approximation] imprecise.c:111: -< more than 200(300) elements to enumerate. Approximating. -< [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 deleted file mode 100644 index be4a941dc0f..00000000000 --- a/tests/builtins/oracle_octagon/linked_list.1.res.oracle +++ /dev/null @@ -1,18 +0,0 @@ -542a543,544 -> [kernel:approximation] linked_list.c:43: -> more than 100(127) elements to enumerate. Approximating. -544a547,548 -> [kernel:approximation] linked_list.c:44: -> more than 100(127) elements to enumerate. Approximating. -718a723,724 -> [kernel:approximation] linked_list.c:43: -> more than 100(128) elements to enumerate. Approximating. -720a727,728 -> [kernel:approximation] linked_list.c:44: -> more than 100(128) elements to enumerate. Approximating. -814,815d821 -< [kernel:approximation] linked_list.c:51: -< more than 100(128) elements to enumerate. Approximating. -823,824d828 -< [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 deleted file mode 100644 index d869951cfc1..00000000000 --- a/tests/builtins/oracle_symblocs/imprecise.res.oracle +++ /dev/null @@ -1,11 +0,0 @@ -220a221,222 -> [kernel:approximation] imprecise.c:111: -> more than 200(300) elements to enumerate. Approximating. -228a231,232 -> [kernel:approximation] imprecise.c:114: -> more than 200(300) elements to enumerate. Approximating. -237,240d240 -< [kernel:approximation] imprecise.c:111: -< more than 200(300) elements to enumerate. Approximating. -< [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 deleted file mode 100644 index be4a941dc0f..00000000000 --- a/tests/builtins/oracle_symblocs/linked_list.1.res.oracle +++ /dev/null @@ -1,18 +0,0 @@ -542a543,544 -> [kernel:approximation] linked_list.c:43: -> more than 100(127) elements to enumerate. Approximating. -544a547,548 -> [kernel:approximation] linked_list.c:44: -> more than 100(127) elements to enumerate. Approximating. -718a723,724 -> [kernel:approximation] linked_list.c:43: -> more than 100(128) elements to enumerate. Approximating. -720a727,728 -> [kernel:approximation] linked_list.c:44: -> more than 100(128) elements to enumerate. Approximating. -814,815d821 -< [kernel:approximation] linked_list.c:51: -< more than 100(128) elements to enumerate. Approximating. -823,824d828 -< [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 9807e0d1eb0..5f6d7ad67fb 100644 --- a/tests/value/oracle/assigns.res.oracle +++ b/tests/value/oracle/assigns.res.oracle @@ -152,8 +152,6 @@ [eva] using specification for function f_main4_1 [kernel:approximation] assigns.i:104: more than 200(1000) locations to update in array. Approximating. -[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. diff --git a/tests/value/oracle/multidim-relations.res.oracle b/tests/value/oracle/multidim-relations.res.oracle index 52556e31f52..7db1f31483f 100644 --- a/tests/value/oracle/multidim-relations.res.oracle +++ b/tests/value/oracle/multidim-relations.res.oracle @@ -17,12 +17,6 @@ [kernel:approximation] multidim-relations.c:21: more than 1(175) locations to update in array. Approximating. [eva] Recording results for init_array -[kernel:approximation] multidim-relations.c:19: - more than 1(350) elements to enumerate. Approximating. -[kernel:approximation] multidim-relations.c:20: - more than 1(350) elements to enumerate. Approximating. -[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. Called from multidim-relations.c:36. @@ -43,8 +37,6 @@ [eva:alarm] multidim-relations.c:31: Warning: out of bounds read. assert \valid_read(t[index].ptr); [eva] Recording results for use_array -[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 [eva] Done for function main @@ -156,12 +148,6 @@ [349].ptr ∈ {{ NULL ; &g }} index ∈ [0..349] [from] Computing for function init_array -[kernel:approximation] multidim-relations.c:19: - more than 1(350) dependencies to update. Approximating. -[kernel:approximation] multidim-relations.c:20: - more than 1(350) dependencies to update. Approximating. -[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 [from] Done for function set_null diff --git a/tests/value/oracle/multidim.res.oracle b/tests/value/oracle/multidim.res.oracle index 9454cf0b06a..bde20fa2538 100644 --- a/tests/value/oracle/multidim.res.oracle +++ b/tests/value/oracle/multidim.res.oracle @@ -131,10 +131,6 @@ r : # cvalue: [--..--] # multidim: { .f = [-3.40282346639e+38 .. 3.40282346639e+38], .i = T } [eva] Recording results for main3 -[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. @@ -202,10 +198,6 @@ [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: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. @@ -229,8 +221,6 @@ [eva] Done for function main9 [eva] Recording results for main [eva] Done for function main -[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] ∈ [--..--] @@ -274,10 +264,6 @@ [from] Computing for function main2 [from] Done for function main2 [from] Computing for function main3 -[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 @@ -288,14 +274,6 @@ [from] Computing for function main6 [from] Done for function main6 [from] Computing for function main7 -[kernel:approximation] multidim.c:136: - more than 1(1000) dependencies to update. Approximating. -[kernel:approximation] multidim.c:137: - more than 1(1000) dependencies to update. Approximating. -[kernel:approximation] multidim.c:140: - more than 1(1000) dependencies to update. Approximating. -[kernel:approximation] multidim.c:141: - more than 1(1000) dependencies to update. Approximating. [from] Done for function main7 [from] Computing for function main8 [from] Done for function main8 diff --git a/tests/value/oracle/non_natural.res.oracle b/tests/value/oracle/non_natural.res.oracle index d08c3af2ef4..740a2e0c5bb 100644 --- a/tests/value/oracle/non_natural.res.oracle +++ b/tests/value/oracle/non_natural.res.oracle @@ -121,26 +121,6 @@ (tmp_2 from from++) [eva] non_natural.i:22: Frama_C_show_each: {{ &p2 + [0..--],0%32 }} [eva] Recording results for duff1 -[kernel:approximation] non_natural.i:23: - more than 200(12501) elements to enumerate. Approximating. -[kernel:approximation] non_natural.i:23: - more than 200(12500) elements to enumerate. Approximating. -[kernel:approximation] non_natural.i:24: - more than 200(12501) elements to enumerate. Approximating. -[kernel:approximation] non_natural.i:24: - more than 200(12500) elements to enumerate. Approximating. -[kernel:approximation] non_natural.i:25: - more than 200(12500) elements to enumerate. Approximating. -[kernel:approximation] non_natural.i:26: - more than 200(12500) elements to enumerate. Approximating. -[kernel:approximation] non_natural.i:27: - more than 200(12500) elements to enumerate. Approximating. -[kernel:approximation] non_natural.i:28: - more than 200(12500) elements to enumerate. Approximating. -[kernel:approximation] non_natural.i:29: - more than 200(12500) elements to enumerate. Approximating. -[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: accessing out of bounds index. assert 0 ≤ o; @@ -277,40 +257,8 @@ [eva:final-states] Values at end of function main: [from] Computing for function duff1 -[kernel:approximation] non_natural.i:23: - more than 200(12500) dependencies to update. Approximating. -[kernel:approximation] non_natural.i:24: - more than 200(12500) dependencies to update. Approximating. -[kernel:approximation] non_natural.i:25: - more than 200(12500) dependencies to update. Approximating. -[kernel:approximation] non_natural.i:26: - more than 200(12500) dependencies to update. Approximating. -[kernel:approximation] non_natural.i:27: - more than 200(12500) dependencies to update. Approximating. -[kernel:approximation] non_natural.i:28: - more than 200(12500) dependencies to update. Approximating. -[kernel:approximation] non_natural.i:29: - more than 200(12500) dependencies to update. Approximating. -[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:approximation] non_natural.i:39: - more than 200(12500) dependencies to update. Approximating. -[kernel:approximation] non_natural.i:40: - more than 200(12500) dependencies to update. Approximating. -[kernel:approximation] non_natural.i:41: - more than 200(12500) dependencies to update. Approximating. -[kernel:approximation] non_natural.i:42: - more than 200(12500) dependencies to update. Approximating. -[kernel:approximation] non_natural.i:43: - more than 200(12500) dependencies to update. Approximating. -[kernel:approximation] non_natural.i:44: - more than 200(12500) dependencies to update. Approximating. -[kernel:approximation] non_natural.i:45: - more than 200(12500) dependencies to update. Approximating. -[kernel:approximation] non_natural.i:46: - more than 200(12500) dependencies to update. Approximating. [from] Done for function duff2 [from] Computing for function main1 [from] Done for function main1 diff --git a/tests/value/oracle/offsetmap.0.res.oracle b/tests/value/oracle/offsetmap.0.res.oracle index ff12d80b523..06aae55336a 100644 --- a/tests/value/oracle/offsetmap.0.res.oracle +++ b/tests/value/oracle/offsetmap.0.res.oracle @@ -38,8 +38,6 @@ [eva:alarm] offsetmap.i:66: Warning: accessing out of bounds index. assert i_0 < 10000000; [eva] Recording results for g -[kernel:approximation] offsetmap.i:68: - more than 200(10000000) elements to enumerate. Approximating. [eva] Done for function g [eva] computing for function h <- main. Called from offsetmap.i:110. diff --git a/tests/value/oracle/offsetmap.1.res.oracle b/tests/value/oracle/offsetmap.1.res.oracle index 97213131b7b..6dc51d73f9d 100644 --- a/tests/value/oracle/offsetmap.1.res.oracle +++ b/tests/value/oracle/offsetmap.1.res.oracle @@ -38,8 +38,6 @@ [eva:alarm] offsetmap.i:66: Warning: accessing out of bounds index. assert i_0 < 10000000; [eva] Recording results for g -[kernel:approximation] offsetmap.i:68: - more than 200(10000000) elements to enumerate. Approximating. [eva] Done for function g [eva] computing for function h <- main. Called from offsetmap.i:110. diff --git a/tests/value/oracle/offsetmap.2.res.oracle b/tests/value/oracle/offsetmap.2.res.oracle index 7f2b0dde2a9..da25a3bf694 100644 --- a/tests/value/oracle/offsetmap.2.res.oracle +++ b/tests/value/oracle/offsetmap.2.res.oracle @@ -38,8 +38,6 @@ [eva:alarm] offsetmap.i:66: Warning: accessing out of bounds index. assert i_0 < 10000000; [eva] Recording results for g -[kernel:approximation] offsetmap.i:68: - more than 200(10000000) elements to enumerate. Approximating. [eva] Done for function g [eva] computing for function h <- main. Called from offsetmap.i:110. diff --git a/tests/value/oracle/plevel.res.oracle b/tests/value/oracle/plevel.res.oracle index db9c5081b00..e6ceb709ffe 100644 --- a/tests/value/oracle/plevel.res.oracle +++ b/tests/value/oracle/plevel.res.oracle @@ -10,8 +10,6 @@ [kernel:approximation] plevel.i:21: more than 40(65) locations to update in array. Approximating. [eva] Recording results for main -[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: @@ -104,8 +102,6 @@ i2 ∈ [0..64] p ∈ {{ &t + [0x2000..0x2040] }} [from] Computing for function main -[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_apron/offsetmap.0.res.oracle b/tests/value/oracle_apron/offsetmap.0.res.oracle index de3bcc8259f..f97a9675c5b 100644 --- a/tests/value/oracle_apron/offsetmap.0.res.oracle +++ b/tests/value/oracle_apron/offsetmap.0.res.oracle @@ -1,19 +1,19 @@ -80,81c80 +78,79c78 < a[bits 0 to 7] ∈ {1; 6} < [bits 8 to 31]# ∈ {6}%32, bits 8 to 31 --- > a ∈ {1; 6} -83,84c82 +81,82c80 < a7[bits 0 to 7] ∈ {1} < [bits 8 to 31]# ∈ {97}%32, bits 8 to 31 --- > a7 ∈ {1} -142,143c140 +140,141c138 < a[bits 0 to 7] ∈ {1; 6} < [bits 8 to 31]# ∈ {6}%32, bits 8 to 31 --- > a ∈ {1; 6} -145,146c142 +143,144c140 < a7[bits 0 to 7] ∈ {1} < [bits 8 to 31]# ∈ {97}%32, bits 8 to 31 --- diff --git a/tests/value/oracle_apron/offsetmap.1.res.oracle b/tests/value/oracle_apron/offsetmap.1.res.oracle index 54a3c9f4893..7ec4d7af6c9 100644 --- a/tests/value/oracle_apron/offsetmap.1.res.oracle +++ b/tests/value/oracle_apron/offsetmap.1.res.oracle @@ -1,19 +1,19 @@ -85,86c85 +83,84c83 < a[bits 0 to 7] ∈ {1; 6} < [bits 8 to 31]# ∈ {6}%32, bits 8 to 31 --- > a ∈ {1; 6} -88,89c87 +86,87c85 < a7[bits 0 to 7] ∈ {1} < [bits 8 to 31]# ∈ {97}%32, bits 8 to 31 --- > a7 ∈ {1} -138,139c136 +136,137c134 < a[bits 0 to 7] ∈ {1; 6} < [bits 8 to 31]# ∈ {6}%32, bits 8 to 31 --- > a ∈ {1; 6} -141,142c138 +139,140c136 < a7[bits 0 to 7] ∈ {1} < [bits 8 to 31]# ∈ {97}%32, bits 8 to 31 --- diff --git a/tests/value/oracle_apron/offsetmap.2.res.oracle b/tests/value/oracle_apron/offsetmap.2.res.oracle index 52b123a5270..6e8472b1c20 100644 --- a/tests/value/oracle_apron/offsetmap.2.res.oracle +++ b/tests/value/oracle_apron/offsetmap.2.res.oracle @@ -1,4 +1,4 @@ -80,85c80,82 +78,83c78,80 < a[bits 0 to 7] ∈ {1; 6} < [bits 8 to 31]# ∈ {6}%32, bits 8 to 31 < b[bits 0 to 7] ∈ {0; 1} @@ -9,7 +9,7 @@ > a ∈ {1; 6} > b ∈ {0; 1} > a7 ∈ {1} -143,148c140,142 +141,146c138,140 < a[bits 0 to 7] ∈ {1; 6} < [bits 8 to 31]# ∈ {6}%32, bits 8 to 31 < b[bits 0 to 7] ∈ {0; 1} diff --git a/tests/value/oracle_equality/assigns.res.oracle b/tests/value/oracle_equality/assigns.res.oracle deleted file mode 100644 index d72e7dacacb..00000000000 --- a/tests/value/oracle_equality/assigns.res.oracle +++ /dev/null @@ -1,6 +0,0 @@ -154,155d153 -< more than 200(1000) locations to update in array. Approximating. -< [kernel:approximation] assigns.i:104: -156a155,156 -> [kernel:approximation] assigns.i:104: -> more than 200(1000) locations to update in array. Approximating. diff --git a/tests/value/oracle_equality/multidim-relations.res.oracle b/tests/value/oracle_equality/multidim-relations.res.oracle deleted file mode 100644 index 925ce57878a..00000000000 --- a/tests/value/oracle_equality/multidim-relations.res.oracle +++ /dev/null @@ -1,18 +0,0 @@ -15,19d14 -< [kernel:approximation] multidim-relations.c:20: -< more than 1(350) locations to update in array. Approximating. -< [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:approximation] multidim-relations.c:20: -24a22,23 -> more than 1(175) locations to update in array. Approximating. -> [kernel:approximation] multidim-relations.c:21: -25a25 -> [eva] Recording results for init_array -45d44 -< [eva] Recording results for use_array -47a47 -> [eva] Recording results for use_array diff --git a/tests/value/oracle_equality/multidim.res.oracle b/tests/value/oracle_equality/multidim.res.oracle deleted file mode 100644 index 135ef2c480c..00000000000 --- a/tests/value/oracle_equality/multidim.res.oracle +++ /dev/null @@ -1,28 +0,0 @@ -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 deleted file mode 100644 index b0440a8d6a5..00000000000 --- a/tests/value/oracle_equality/non_natural.res.oracle +++ /dev/null @@ -1,52 +0,0 @@ -57a58,59 -> [kernel:approximation] non_natural.i:30: -> more than 200(12500) elements to enumerate. Approximating. -63a66,69 -> [kernel:approximation] non_natural.i:23: -> more than 200(12500) elements to enumerate. Approximating. -> [kernel:approximation] non_natural.i:23: -> more than 200(12501) elements to enumerate. Approximating. -68a75,78 -> [kernel:approximation] non_natural.i:24: -> more than 200(12500) elements to enumerate. Approximating. -> [kernel:approximation] non_natural.i:24: -> more than 200(12501) elements to enumerate. Approximating. -76a87,88 -> [kernel:approximation] non_natural.i:25: -> more than 200(12500) elements to enumerate. Approximating. -84a97,98 -> [kernel:approximation] non_natural.i:26: -> more than 200(12500) elements to enumerate. Approximating. -92a107,108 -> [kernel:approximation] non_natural.i:27: -> more than 200(12500) elements to enumerate. Approximating. -100a117,118 -> [kernel:approximation] non_natural.i:28: -> more than 200(12500) elements to enumerate. Approximating. -108a127,128 -> [kernel:approximation] non_natural.i:29: -> more than 200(12500) elements to enumerate. Approximating. -124,143d143 -< [kernel:approximation] non_natural.i:23: -< more than 200(12501) elements to enumerate. Approximating. -< [kernel:approximation] non_natural.i:23: -< more than 200(12500) elements to enumerate. Approximating. -< [kernel:approximation] non_natural.i:24: -< more than 200(12501) elements to enumerate. Approximating. -< [kernel:approximation] non_natural.i:24: -< more than 200(12500) elements to enumerate. Approximating. -< [kernel:approximation] non_natural.i:25: -< more than 200(12500) elements to enumerate. Approximating. -< [kernel:approximation] non_natural.i:26: -< more than 200(12500) elements to enumerate. Approximating. -< [kernel:approximation] non_natural.i:27: -< more than 200(12500) elements to enumerate. Approximating. -< [kernel:approximation] non_natural.i:28: -< more than 200(12500) elements to enumerate. Approximating. -< [kernel:approximation] non_natural.i:29: -< more than 200(12500) elements to enumerate. Approximating. -< [kernel:approximation] non_natural.i:30: -< more than 200(12500) elements to enumerate. Approximating. -194a195,196 -> [kernel:approximation] non_natural.i:39: -> more than 200(12500) elements to enumerate. Approximating. diff --git a/tests/value/oracle_equality/offsetmap.0.res.oracle b/tests/value/oracle_equality/offsetmap.0.res.oracle deleted file mode 100644 index 6bebb89e738..00000000000 --- a/tests/value/oracle_equality/offsetmap.0.res.oracle +++ /dev/null @@ -1,4 +0,0 @@ -40d39 -< [eva] Recording results for g -42a42 -> [eva] Recording results for g diff --git a/tests/value/oracle_equality/offsetmap.1.res.oracle b/tests/value/oracle_equality/offsetmap.1.res.oracle deleted file mode 100644 index 6bebb89e738..00000000000 --- a/tests/value/oracle_equality/offsetmap.1.res.oracle +++ /dev/null @@ -1,4 +0,0 @@ -40d39 -< [eva] Recording results for g -42a42 -> [eva] Recording results for g diff --git a/tests/value/oracle_equality/offsetmap.2.res.oracle b/tests/value/oracle_equality/offsetmap.2.res.oracle deleted file mode 100644 index 6bebb89e738..00000000000 --- a/tests/value/oracle_equality/offsetmap.2.res.oracle +++ /dev/null @@ -1,4 +0,0 @@ -40d39 -< [eva] Recording results for g -42a42 -> [eva] Recording results for g diff --git a/tests/value/oracle_equality/plevel.res.oracle b/tests/value/oracle_equality/plevel.res.oracle deleted file mode 100644 index d19a038f2cb..00000000000 --- a/tests/value/oracle_equality/plevel.res.oracle +++ /dev/null @@ -1,4 +0,0 @@ -12d11 -< [eva] Recording results for main -14a14 -> [eva] Recording results for main diff --git a/tests/value/oracle_gauges/non_natural.res.oracle b/tests/value/oracle_gauges/non_natural.res.oracle index 54c2059a1fb..2757e23b58d 100644 --- a/tests/value/oracle_gauges/non_natural.res.oracle +++ b/tests/value/oracle_gauges/non_natural.res.oracle @@ -59,59 +59,53 @@ < out of bounds read. assert \valid_read(tmp_2); < (tmp_2 from from++) < [eva] non_natural.i:22: Frama_C_show_each: {{ &p2 + [0..--],0%32 }} -125,126d74 -< more than 200(12501) elements to enumerate. Approximating. -< [kernel:approximation] non_natural.i:23: -129,130d76 -< more than 200(12501) elements to enumerate. Approximating. -< [kernel:approximation] non_natural.i:24: -189,192c135 +169,172c119 < [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++) --- > [eva] non_natural.i:38: Frama_C_show_each: {{ &p2 + [0..399968],0%32 }} -195,197d137 +175,177d121 < [eva:alarm] non_natural.i:40: Warning: < out of bounds write. assert \valid(tmp_1); < (tmp_1 from to++) -200,205d139 +180,185d123 < [eva:alarm] non_natural.i:41: Warning: < out of bounds write. assert \valid(tmp_3); < (tmp_3 from to++) < [eva:alarm] non_natural.i:41: Warning: < out of bounds read. assert \valid_read(tmp_4); < (tmp_4 from from++) -208,213d141 +188,193d125 < [eva:alarm] non_natural.i:42: Warning: < out of bounds write. assert \valid(tmp_5); < (tmp_5 from to++) < [eva:alarm] non_natural.i:42: Warning: < out of bounds read. assert \valid_read(tmp_6); < (tmp_6 from from++) -216,221d143 +196,201d127 < [eva:alarm] non_natural.i:43: Warning: < out of bounds write. assert \valid(tmp_7); < (tmp_7 from to++) < [eva:alarm] non_natural.i:43: Warning: < out of bounds read. assert \valid_read(tmp_8); < (tmp_8 from from++) -224,229d145 +204,209d129 < [eva:alarm] non_natural.i:44: Warning: < out of bounds write. assert \valid(tmp_9); < (tmp_9 from to++) < [eva:alarm] non_natural.i:44: Warning: < out of bounds read. assert \valid_read(tmp_10); < (tmp_10 from from++) -232,237d147 +212,217d131 < [eva:alarm] non_natural.i:45: Warning: < out of bounds write. assert \valid(tmp_11); < (tmp_11 from to++) < [eva:alarm] non_natural.i:45: Warning: < out of bounds read. assert \valid_read(tmp_12); < (tmp_12 from from++) -240,253d149 +220,233d133 < [eva:alarm] non_natural.i:46: Warning: < out of bounds write. assert \valid(tmp_13); < (tmp_13 from to++) @@ -126,19 +120,19 @@ < out of bounds read. assert \valid_read(tmp_2); < (tmp_2 from from++) < [eva] non_natural.i:38: Frama_C_show_each: {{ &p2 + [0..--],0%32 }} -262,263c158,159 +242,243c142,143 < to ∈ {{ &p2 + [32..--],0%32 }} < from ∈ {{ &p1 + [32..--],0%32 }} --- > to ∈ {{ &p2 + [32..400000],0%32 }} > from ∈ {{ &p1 + [32..400000],0%32 }} -267,268c163,164 +247,248c147,148 < to ∈ {{ &p2 + [32..--],0%32 }} < from ∈ {{ &p1 + [32..--],0%32 }} --- > to ∈ {{ &p2 + [32..400000],0%32 }} > from ∈ {{ &p1 + [32..400000],0%32 }} -324,326c220,228 +272,274c172,180 < 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) @@ -152,7 +146,7 @@ > [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) -334,336c236,244 +282,284c188,196 < 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) @@ -166,11 +160,11 @@ > [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) -354c262 +302c214 < p1[0..100001] --- > p1[0..99999] -359c267 +307c219 < p1[0..100001] --- > p1[0..99999] diff --git a/tests/value/oracle_octagon/assigns.res.oracle b/tests/value/oracle_octagon/assigns.res.oracle deleted file mode 100644 index d72e7dacacb..00000000000 --- a/tests/value/oracle_octagon/assigns.res.oracle +++ /dev/null @@ -1,6 +0,0 @@ -154,155d153 -< more than 200(1000) locations to update in array. Approximating. -< [kernel:approximation] assigns.i:104: -156a155,156 -> [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 deleted file mode 100644 index 925ce57878a..00000000000 --- a/tests/value/oracle_octagon/multidim-relations.res.oracle +++ /dev/null @@ -1,18 +0,0 @@ -15,19d14 -< [kernel:approximation] multidim-relations.c:20: -< more than 1(350) locations to update in array. Approximating. -< [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:approximation] multidim-relations.c:20: -24a22,23 -> more than 1(175) locations to update in array. Approximating. -> [kernel:approximation] multidim-relations.c:21: -25a25 -> [eva] Recording results for init_array -45d44 -< [eva] Recording results for use_array -47a47 -> [eva] Recording results for use_array diff --git a/tests/value/oracle_octagon/multidim.res.oracle b/tests/value/oracle_octagon/multidim.res.oracle deleted file mode 100644 index 135ef2c480c..00000000000 --- a/tests/value/oracle_octagon/multidim.res.oracle +++ /dev/null @@ -1,28 +0,0 @@ -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 deleted file mode 100644 index 510ad3e0141..00000000000 --- a/tests/value/oracle_octagon/non_natural.res.oracle +++ /dev/null @@ -1,45 +0,0 @@ -57a58,59 -> [kernel:approximation] non_natural.i:30: -> more than 200(12500) elements to enumerate. Approximating. -63a66,67 -> [kernel:approximation] non_natural.i:23: -> more than 200(12500) elements to enumerate. Approximating. -68a73,74 -> [kernel:approximation] non_natural.i:24: -> more than 200(12500) elements to enumerate. Approximating. -76a83,84 -> [kernel:approximation] non_natural.i:25: -> more than 200(12500) elements to enumerate. Approximating. -84a93,94 -> [kernel:approximation] non_natural.i:26: -> more than 200(12500) elements to enumerate. Approximating. -92a103,104 -> [kernel:approximation] non_natural.i:27: -> more than 200(12500) elements to enumerate. Approximating. -100a113,114 -> [kernel:approximation] non_natural.i:28: -> more than 200(12500) elements to enumerate. Approximating. -108a123,124 -> [kernel:approximation] non_natural.i:29: -> more than 200(12500) elements to enumerate. Approximating. -126,127d141 -< [kernel:approximation] non_natural.i:23: -< more than 200(12500) elements to enumerate. Approximating. -130,143d143 -< [kernel:approximation] non_natural.i:24: -< more than 200(12500) elements to enumerate. Approximating. -< [kernel:approximation] non_natural.i:25: -< more than 200(12500) elements to enumerate. Approximating. -< [kernel:approximation] non_natural.i:26: -< more than 200(12500) elements to enumerate. Approximating. -< [kernel:approximation] non_natural.i:27: -< more than 200(12500) elements to enumerate. Approximating. -< [kernel:approximation] non_natural.i:28: -< more than 200(12500) elements to enumerate. Approximating. -< [kernel:approximation] non_natural.i:29: -< more than 200(12500) elements to enumerate. Approximating. -< [kernel:approximation] non_natural.i:30: -< more than 200(12500) elements to enumerate. Approximating. -194a195,196 -> [kernel:approximation] non_natural.i:39: -> more than 200(12500) elements to enumerate. Approximating. diff --git a/tests/value/oracle_octagon/offsetmap.0.res.oracle b/tests/value/oracle_octagon/offsetmap.0.res.oracle deleted file mode 100644 index 6bebb89e738..00000000000 --- a/tests/value/oracle_octagon/offsetmap.0.res.oracle +++ /dev/null @@ -1,4 +0,0 @@ -40d39 -< [eva] Recording results for g -42a42 -> [eva] Recording results for g diff --git a/tests/value/oracle_octagon/offsetmap.1.res.oracle b/tests/value/oracle_octagon/offsetmap.1.res.oracle deleted file mode 100644 index 6bebb89e738..00000000000 --- a/tests/value/oracle_octagon/offsetmap.1.res.oracle +++ /dev/null @@ -1,4 +0,0 @@ -40d39 -< [eva] Recording results for g -42a42 -> [eva] Recording results for g diff --git a/tests/value/oracle_octagon/offsetmap.2.res.oracle b/tests/value/oracle_octagon/offsetmap.2.res.oracle deleted file mode 100644 index 6bebb89e738..00000000000 --- a/tests/value/oracle_octagon/offsetmap.2.res.oracle +++ /dev/null @@ -1,4 +0,0 @@ -40d39 -< [eva] Recording results for g -42a42 -> [eva] Recording results for g diff --git a/tests/value/oracle_octagon/plevel.res.oracle b/tests/value/oracle_octagon/plevel.res.oracle deleted file mode 100644 index d19a038f2cb..00000000000 --- a/tests/value/oracle_octagon/plevel.res.oracle +++ /dev/null @@ -1,4 +0,0 @@ -12d11 -< [eva] Recording results for main -14a14 -> [eva] Recording results for main diff --git a/tests/value/oracle_symblocs/assigns.res.oracle b/tests/value/oracle_symblocs/assigns.res.oracle deleted file mode 100644 index d72e7dacacb..00000000000 --- a/tests/value/oracle_symblocs/assigns.res.oracle +++ /dev/null @@ -1,6 +0,0 @@ -154,155d153 -< more than 200(1000) locations to update in array. Approximating. -< [kernel:approximation] assigns.i:104: -156a155,156 -> [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 deleted file mode 100644 index 925ce57878a..00000000000 --- a/tests/value/oracle_symblocs/multidim-relations.res.oracle +++ /dev/null @@ -1,18 +0,0 @@ -15,19d14 -< [kernel:approximation] multidim-relations.c:20: -< more than 1(350) locations to update in array. Approximating. -< [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:approximation] multidim-relations.c:20: -24a22,23 -> more than 1(175) locations to update in array. Approximating. -> [kernel:approximation] multidim-relations.c:21: -25a25 -> [eva] Recording results for init_array -45d44 -< [eva] Recording results for use_array -47a47 -> [eva] Recording results for use_array diff --git a/tests/value/oracle_symblocs/multidim.res.oracle b/tests/value/oracle_symblocs/multidim.res.oracle deleted file mode 100644 index 135ef2c480c..00000000000 --- a/tests/value/oracle_symblocs/multidim.res.oracle +++ /dev/null @@ -1,28 +0,0 @@ -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 deleted file mode 100644 index 9ac7a8268f4..00000000000 --- a/tests/value/oracle_symblocs/non_natural.res.oracle +++ /dev/null @@ -1,52 +0,0 @@ -57a58,59 -> [kernel:approximation] non_natural.i:30: -> more than 200(12500) elements to enumerate. Approximating. -63a66,69 -> [kernel:approximation] non_natural.i:23: -> more than 200(12501) elements to enumerate. Approximating. -> [kernel:approximation] non_natural.i:23: -> more than 200(12500) elements to enumerate. Approximating. -68a75,78 -> [kernel:approximation] non_natural.i:24: -> more than 200(12501) elements to enumerate. Approximating. -> [kernel:approximation] non_natural.i:24: -> more than 200(12500) elements to enumerate. Approximating. -76a87,88 -> [kernel:approximation] non_natural.i:25: -> more than 200(12500) elements to enumerate. Approximating. -84a97,98 -> [kernel:approximation] non_natural.i:26: -> more than 200(12500) elements to enumerate. Approximating. -92a107,108 -> [kernel:approximation] non_natural.i:27: -> more than 200(12500) elements to enumerate. Approximating. -100a117,118 -> [kernel:approximation] non_natural.i:28: -> more than 200(12500) elements to enumerate. Approximating. -108a127,128 -> [kernel:approximation] non_natural.i:29: -> more than 200(12500) elements to enumerate. Approximating. -124,143d143 -< [kernel:approximation] non_natural.i:23: -< more than 200(12501) elements to enumerate. Approximating. -< [kernel:approximation] non_natural.i:23: -< more than 200(12500) elements to enumerate. Approximating. -< [kernel:approximation] non_natural.i:24: -< more than 200(12501) elements to enumerate. Approximating. -< [kernel:approximation] non_natural.i:24: -< more than 200(12500) elements to enumerate. Approximating. -< [kernel:approximation] non_natural.i:25: -< more than 200(12500) elements to enumerate. Approximating. -< [kernel:approximation] non_natural.i:26: -< more than 200(12500) elements to enumerate. Approximating. -< [kernel:approximation] non_natural.i:27: -< more than 200(12500) elements to enumerate. Approximating. -< [kernel:approximation] non_natural.i:28: -< more than 200(12500) elements to enumerate. Approximating. -< [kernel:approximation] non_natural.i:29: -< more than 200(12500) elements to enumerate. Approximating. -< [kernel:approximation] non_natural.i:30: -< more than 200(12500) elements to enumerate. Approximating. -194a195,196 -> [kernel:approximation] 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 deleted file mode 100644 index 6bebb89e738..00000000000 --- a/tests/value/oracle_symblocs/offsetmap.0.res.oracle +++ /dev/null @@ -1,4 +0,0 @@ -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 deleted file mode 100644 index 6bebb89e738..00000000000 --- a/tests/value/oracle_symblocs/offsetmap.1.res.oracle +++ /dev/null @@ -1,4 +0,0 @@ -40d39 -< [eva] Recording results for g -42a42 -> [eva] Recording results for g diff --git a/tests/value/oracle_symblocs/offsetmap.2.res.oracle b/tests/value/oracle_symblocs/offsetmap.2.res.oracle deleted file mode 100644 index 6bebb89e738..00000000000 --- a/tests/value/oracle_symblocs/offsetmap.2.res.oracle +++ /dev/null @@ -1,4 +0,0 @@ -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 deleted file mode 100644 index d19a038f2cb..00000000000 --- a/tests/value/oracle_symblocs/plevel.res.oracle +++ /dev/null @@ -1,4 +0,0 @@ -12d11 -< [eva] Recording results for main -14a14 -> [eva] Recording results for main -- GitLab