From 429837b66e4e2d4b1afabaad9e4481256e745877 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20B=C3=BChler?= <david.buhler@cea.fr> Date: Tue, 1 Sep 2020 08:51:40 +0200 Subject: [PATCH] [Eva] Optionally prints the correctness parameters of an analysis. --- src/plugins/value/engine/analysis.ml | 1 + src/plugins/value/value_parameters.ml | 11 +++++++++++ src/plugins/value/value_parameters.mli | 2 ++ 3 files changed, 14 insertions(+) diff --git a/src/plugins/value/engine/analysis.ml b/src/plugins/value/engine/analysis.ml index 5cb98e37e08..e27e529fc79 100644 --- a/src/plugins/value/engine/analysis.ml +++ b/src/plugins/value/engine/analysis.ml @@ -173,6 +173,7 @@ let reset_analyzer () = let force_compute () = Ast.compute (); Value_parameters.configure_precision (); + Value_parameters.print_correctness_parameters (); let kf, lib_entry = Globals.entry_point () in reset_analyzer (); let module Analyzer = (val snd !ref_analyzer) in diff --git a/src/plugins/value/value_parameters.ml b/src/plugins/value/value_parameters.ml index 7714801f87b..c382bbeb4fa 100644 --- a/src/plugins/value/value_parameters.ml +++ b/src/plugins/value/value_parameters.ml @@ -82,6 +82,7 @@ let dkey_incompatible_states = register_category "incompatible-states" let dkey_iterator = register_category "iterator" let dkey_callbacks = register_category "callbacks" let dkey_widening = register_category "widening" +let dkey_correctness = register_category "correctness" let () = let activate dkey = add_debug_keys dkey in @@ -1424,6 +1425,16 @@ let parameters_correctness = let parameters_tuning = Typed_parameter.Set.elements !parameters_tuning +let print_correctness_parameters () = + feedback ~dkey:dkey_correctness + "Parameters affecting the correctness of the analysis:"; + let print param = + let name = param.Typed_parameter.name in + let value = Typed_parameter.get_value param in + printf " %s: %s" name value + in + if is_debug_key_enabled dkey_correctness + then List.iter print parameters_correctness (* diff --git a/src/plugins/value/value_parameters.mli b/src/plugins/value/value_parameters.mli index 0a294b1e8c1..80ce2bc8ae7 100644 --- a/src/plugins/value/value_parameters.mli +++ b/src/plugins/value/value_parameters.mli @@ -153,6 +153,8 @@ val configure_precision: unit -> unit val parameters_correctness: Typed_parameter.t list val parameters_tuning: Typed_parameter.t list +val print_correctness_parameters: unit -> unit + (** Debug categories responsible for printing initial and final states of Value. Enabled by default, but can be disabled via the command-line: -value-msg-key="-initial_state,-final_state" *) -- GitLab