Frama-C API - Function_calls
val save_results : Frama_c_kernel.Cil_types.fundec -> boolTrue if the results should be saved for the given function.
True if some results are not stored due to options -eva-no-results or -eva-no-results-function.
type analysis_target = [ | `Builtin of string * Builtins.builtin * Eval.cacheable * Frama_c_kernel.Cil_types.funspec| `Spec of Frama_c_kernel.Cil_types.funspec| `Body of Frama_c_kernel.Cil_types.fundec * bool
]What is used for the analysis of a given function:
- a Cvalue builtin (and other domains use the specification)
- the function specification
- the function body. The boolean indicates whether the resulting states must be recorded at each statement of this function.
val analysis_target : ?recursion_depth:int -> Frama_c_kernel.Cil_types.kernel_function -> Frama_c_kernel.Cil_types.kinstr -> analysis_targetReturns the analysis target of a given function at a given callsite according to Eva parameters.
val use_spec_instead_of_definition : ?recursion_depth:int -> Frama_c_kernel.Cil_types.kernel_function -> boolReturns true if the Eva analysis use the specification of the given function instead of its body to interpret its calls.
val register_analysis_target : ('l, 'v) Eval.call -> analysis_target -> unitRegisters the analysis of a call with a given target for functions below.
val is_called : Frama_c_kernel.Cil_types.kernel_function -> boolReturns true if the function has been analyzed.
val callers : Frama_c_kernel.Cil_types.kernel_function -> Frama_c_kernel.Cil_types.kernel_function listReturns the list of inferred callers of the given function.
val callsites : Frama_c_kernel.Cil_types.kernel_function -> (Frama_c_kernel.Cil_types.kernel_function * Frama_c_kernel.Cil_types.stmt list) listReturns the list of inferred callers, and for each of them, the list of callsites (the call statements) inside.
val analysis_status : Frama_c_kernel.Cil_types.kernel_function -> analysis_statusReturns the current analysis status of a given function.
The functions below are used by Eva_results.ml to save, merge and load the results of multiple Eva analyses.
val get_results : unit -> tval set_results : t -> unit