Module Metrics_base

module Metrics_base: sig .. end

Tag functions handling html tags for Format


val html_stag_functions : Transitioning.Format.formatter_stag_functions
val mk_hdr : int -> Stdlib.Format.formatter -> string -> unit

mk_hdr level ppf hdr_strg produces a title from hdr_strg with an underline of the same length. The character of the underline is set according to level:

module OptionKf: Datatype.S_with_collections  with type t = Kernel_function.t option
module BasicMetrics: sig .. end

Defining base metrics and operations on those

module VInfoMap: FCMap.S  with type key = Cil_types.varinfo

Local varinfo map and set where the comparison function is the lexicographic one on their respective names.

module VInfoSet: FCSet.S  with type elt = Cil_types.varinfo
val pretty_set : Stdlib.Format.formatter -> int VInfoMap.t -> unit

Pretty print a varinfo set, with some additional information about the varinfo.

Other pretty-printing and formatting utilities

val pretty_extern_vars : Stdlib.Format.formatter -> VInfoSet.t -> unit
val number_entry_points : int VInfoMap.t -> int

Handling entry points informations

val pretty_entry_points : Stdlib.Format.formatter -> int VInfoMap.t -> unit
val file_of_vinfodef : Cil_types.varinfo -> Datatype.Filepath.t

Get the filename where the definition of a varinfo occurs

val file_of_fundef : Cil_types.fundec -> Datatype.Filepath.t

Get the filename containing the function definition

val extract_fundef_name : Cabs.single_name -> string
val kf_of_cabs_name : Cabs.single_name -> Kernel_function.t
val get_filename : Cabs.definition -> Datatype.Filepath.t
type output_type = 
| Html
| Text

Type of the generated report file. Automatically set according to the file extension.

val get_file_type : string -> output_type

get_file_type extension sets the output type according to extension. Raises an error if extension is not among supported extensions or is empty.

val consider_function : libc:bool -> Cil_types.varinfo -> bool

consider_function vinfo returns false if the varinfo is not a function we are interested in. For example, builtins should not be part of the analysis and return false. If libc is false, do not consider functions from the Frama-C libc. Skip them using this auxiliary function.

val consider_variable : libc:bool -> Cil_types.varinfo -> bool

consider_variable vinfo returns false if the varinfo is not an object variable we are interested in. Currently excluded variables are those declared with attribute __FRAMA_C_MODEL__. If libc is false, do not consider variables from the Frama-C libc.

val float_to_string : float -> string

Convert float to string with the following convention: