Inout.Cumulative_analysisSourceImplementation of a simple meta-analysis on top of the results of the value analysis. This implementation correctly handles memoization and apparent recursive calls during the value analysis.
The underlying analysis is supposed to be cumulative at the level of a kernel_function (its results are derived from the results on all its statements), and mostly non-contextual (all the informations can be gathered using a Cil visitor).
Should implicit zero-initializers for typ be folded? False for big arrays to avoid a performance issue.
val specialize_state_on_call :
?stmt:Frama_c_kernel.Cil_types.stmt ->
Frama_c_kernel.Cil_types.kernel_function ->
Frama_c_kernel.Cvalue.Model.tIf the given statement is a call to the given function, enrich the superposed memory state at this statement with the formal arguments of this function. This is usually more precise than the superposition of all initial states of the function
Frama-C visitor for cumulative analyses: we add a few useful methods. The method compute_kf must be used to add the effects of a call to the given kernel function to the pool of results