Index of values


A
actual_alloca [Functions.Libc]
The name of an actual alloca function used at link-time.
add [State_builder.Hashtbl]
Add a new binding.
add [Env.Logic_binding]
add [Interval.Env]
add [Lscope]
add [Literal_strings]
add_assert [Env]
add_assert env s p associates the assertion p to the statement s in the environment env.
add_binding [Env.Logic_binding]
add_cast [Rational]
Assumes that the given exp is of real type and casts it into the given typ
add_e_acsl_library [Main]
add_generated_functions [Logic_functions]
add_loop_invariant [Env]
add_stmt [Env]
add_stmt env s extends env with the new statement s.
affect [Gmp]
affect x_as_lv x_as_exp e builds stmt x = e or mpz_set*(e) or mpq_set*(e) with the good function 'set' according to the type of e
annotation_kind [Env]
apply_after_transformation [Loops]
apply_on_e_acsl_ast [Main]

B
before_translation [Keep_status]
to be called just before the main translation
binop [Rational]
Applies binop to the given expressions.

C
c_int [Typing]
call [Mmodel_translate]
call_valid [Mmodel_translate]
call_with_size [Mmodel_translate]
cast_to_z [Rational]
Assumes that the given exp is of real type and casts it into Z
change_printer [Main]
check [Main]
check [Functions]
clear [State_builder.Hashtbl]
Clear the table.
clear [Gmp]
build stmt mpz_clear(v) or mpq_clear(v) depending on typ of v
clear [Keep_status]
to be called before any program transformation
clear [Typing]
Remove all the previously computed types.
clear [Interval.Env]
clear [Exit_points]
Clear all gathered data
clear_locals [Varname]
Reset the generator for variables that are local to a block or a function.
cmp [Rational]
Compares two expressions according to the given binop.
compute_quantif_guards_ref [Typing]
Forward reference.
copy [Datatype.S]
Deep copy: no possible sharing between x and copy x.
create [Rational]
Create a real
cty [Misc]
Assume that the logic type is indeed a C type.
current_kf [Env]
Kernel function currently visited in the new project.

D
delete_vars [Exit_points]
Given a statement which potentially leads to an early scope exit (such as goto, break or continue) return the list of local variables which need to be removed from tracking before that statement is executed.
dkey_analysis [Options]
dkey_dup [Options]
dkey_translation [Options]
dkey_typing [Options]
do_visit [Visit]
dummy [Env]
dup [Dup_functions]

E
empty [Env]
empty [Lscope]
enable [Temporal]
Enable/disable temporal transformations
exists [Parameter_sig.Set]
Is there some element satisfying the given predicate?
exp [Rte]
RTEs of a given exp, as a list of code annotations.
extend [Env.Logic_scope]
Add a new logic variable with its associated information in the logic scope of the environment.
extend_ast [Main]
extend_stmt_in_place [Env]
extend_stmt_in_place env stmt ~label b modifies stmt in place in order to add the given block.
extended_ast_project [Main]
extract_ival [Interval]
assume Ival _ as argument

F
find [State_builder.Hashtbl]
Return the current binding of the given key.
find [Literal_strings]
find [Builtins]
Get the varinfo corresponding to the given E-ACSL built-in name.
find_all [State_builder.Hashtbl]
Return the list of all data associated with the given key.
find_all [At_with_lscope.Free]
find_all [At_with_lscope.Malloc]
finite_min_and_max [Misc]
finite_min_and_max i takes the finite ival i and returns its bounds
fkind [Typing]
fold [State_builder.Hashtbl]
fold [Literal_strings]
fold_sorted [State_builder.Hashtbl]

G
generate [Exit_points]
Visit a function and populate data structures used to compute exit points
generate_code [Main]
generate_global_init [Temporal]
Generate Some s, where s is a statement tracking global initializer or None if there is no need to track it
generate_rte [Env]
generic_handle [Error]
Run the closure with the given argument and handle potential errors.
get [Env.Logic_scope]
Return the logic scope associated to the environment.
get [Env.Logic_binding]
get [Varname]
get_all [Lscope]
get_behavior [Env]
get_cast [Typing]
Get the type which the given term must be converted to (if any).
get_cast_of_predicate [Typing]
Like Typing.get_cast, but for predicates.
get_function_name [Parameter_sig.String]
returns the given argument only if it is a valid function name (see Parameter_customize.get_c_ified_functions for more information), and abort otherwise.
get_generated_variables [Env]
All the new variables local to the visited function.
get_integer_op [Typing]
get_integer_op_of_predicate [Typing]
get_lib_fun_vi [Misc]
Return varinfo corresponding to a name of a given library function
get_number_ty [Typing]
get_op [Typing]
Get the type which the operation on top of the given term must be generated to.
get_original_name [Functions.RTL]
Retrieve the name of the kernel function and strip prefix that indicates that it has been generated by the instrumentation.
get_plain_string [Parameter_sig.String]
always return the argument, even if the argument is not a function name.
get_possible_values [Parameter_sig.String]
What are the acceptable values for this parameter.
get_printf_argument_str [Functions.Libc]
Given the name of a printf-like function and the list of its variadic arguments return a literal string expression where each character describes the type of an argument from a list.
get_reset [Env.Logic_scope]
Getter of the information indicating whether the logic scope should be reset at next call to reset.
get_rtl_replacement_name [Functions.RTL]
Given the name of C library function return the name of the RTL function that potentially replaces it.
get_stmt [Label]
get_typ [Typing]
Get the type which the given term must be generated to.
get_visitor [Env]
gmpz [Typing]

H
handle [Error]
Run the closure with the given argument and handle potential errors.
handle_function_parameters [Temporal]
handle_function_parameters kf env updates the local environment env, according to the parameters of kf, with statements allowing to track referent numbers across function calls.
handle_stmt [Temporal]
Update local environment (Env.t) with statements tracking temporal properties of memory blocks
has_fundef [Functions]
has_no_new_stmt [Env]
Assume that a local context has been previously pushed.
has_rtl_replacement [Functions.RTL]
Given the name of C library function return true if there is a drop-in replacement function for it in the RTL.

I
ikind [Typing]
ikind_of_ival [Interval]
infer [Interval]
infer t infers the smallest possible integer interval which the values of the term can fit in.
init [Gmp]
build stmt mpz_init(v) or mpq_init(v) depending on typ of v
init [Gmp_types]
Must be called before any use of GMP
init_set [Rational]
init_set lval lval_as_exp exp sets lval to exp while guranteeing that lval is properly initialized wrt the underlying real library.
init_set [Gmp]
init_set x_as_lv x_as_exp e builds stmt x = e or mpz_init_set*(v, e) or mpq_init_set*(v, e) with the good function 'set' according to the type of e
instrument [Functions]
interv_of_typ [Interval]
is_alloca [Functions.Libc]
Return true if exp captures a function name that matches a function that allocates memory on stack.
is_alloca_name [Functions.Libc]
Same as is_alloca but for strings
is_bitfield_pointers [Misc]
Returns true iff the given logic type is a bitfield pointer or a set of bitfield pointers.
is_dyn_alloc [Functions.Libc]
Return true if exp captures a function name that matches a function that dynamically allocates memory such as malloc or calloc
is_dyn_alloc_name [Functions.Libc]
Same as is_dyn_alloc but for strings
is_dyn_free [Functions.Libc]
Return true if exp captures a function name that matches a function that dynamically deallocates memory (e.g., free)
is_dyn_free_name [Functions.Libc]
Same as is_dyn_free but for strings
is_empty [Lscope]
is_empty [Literal_strings]
is_enabled [Temporal]
Return a boolean value indicating whether temporal analysis is enabled
is_generated_kf [Functions.RTL]
Same as is_generated_name but for kernel functions
is_generated_literal_string_name [Functions.RTL]
Same as is_generated_name but indicates that the name represents a local variable that replaced a literal string.
is_generated_name [Functions.RTL]
is_included [Interval]
is_library_loc [Misc]
is_memcpy [Functions.Libc]
Return true if exp captures a function name that matches memcpy or an equivalent function
is_memcpy_name [Functions.Libc]
Same as is_memcpy but for strings
is_memset [Functions.Libc]
Return true if exp captures a function name that matches memset or an equivalent function
is_memset_name [Functions.Libc]
Same as is_memset but for strings
is_now_referenced [Gmp_types.S]
Call this function when using this type for the first time.
is_printf [Functions.Libc]
Return true if exp captures a function name that matches a printf-like function such as printf, fprintf, dprintf etc.
is_printf_name [Functions.Libc]
Same as is_printf but for strings
is_range_free [Misc]
Returns true iff the given term does not contain any range.
is_rtl_name [Functions.RTL]
is_set_of_ptr_or_array [Misc]
Checks whether the given logic type is a set of pointers.
is_t [Gmp_types.S]
is_used [Lscope]
is_vla_alloc [Functions.Libc]
Return true if exp captures a function name that matches a function that deallocates memory for a variable-size array.
is_vla_alloc_name [Functions.Libc]
Same as is_dyn_alloc but for strings
is_vla_free [Functions.Libc]
Return true if exp captures a function name that matches a function that allocates memory for a variable-size array.
is_vla_free_name [Functions.Libc]
Return true if string captures a function name that matches a function that deallocates memory for a variable-size array.
iter [State_builder.Hashtbl]
iter_sorted [State_builder.Hashtbl]
ival [Interval]

J
join [Typing]
Typing.number_ty is a join-semi-lattice if you do not consider Other.
join [Interval]

L
length [State_builder.Hashtbl]
Length of the table.
library_files [Misc]

M
main [Main]
make_type [Datatype.Hashtbl]
mem [State_builder.Hashtbl]
mem [Builtins]
mem [Parameter_sig.Set]
Does the given element belong to the set?
memo [State_builder.Hashtbl]
Memoization.
mk_api_name [Functions.RTL]
Prefix a name (of a variable or a function) with a string that identifies it as belonging to the public API of E-ACSL runtime library
mk_block [Misc]
mk_call [Misc]
Call an E-ACSL library function or an E-ACSL built-in.
mk_delete_stmt [Misc]
mk_deref [Misc]
Make a dereference of an expression
mk_duplicate_store_stmt [Misc]
mk_e_acsl_guard [Misc]
mk_full_init_stmt [Misc]
mk_gen_name [Functions.RTL]
Prefix a name (of a variable or a function) with a string indicating that this name has been generated during instrumentation phase.
mk_initialize [Misc]
mk_mark_readonly [Misc]
mk_nested_loops [Loops]
mk_nested_loops ~loc mk_innermost_block kf env lvars creates nested loops (with the proper statements for initializing the loop counters) from the list of logic variables lvars.
mk_ptr_sizeof [Misc]
mk_ptr_sizeof ptr_typ loc takes the pointer typ ptr_typ that points to a typ typ and returns sizeof(typ).
mk_store_stmt [Misc]
mk_temporal_name [Functions.RTL]
Prefix a name (of a variable or a function) with a string that identifies it as belonging to the public API of E-ACSL runtime library dealing with temporal analysis.
move [Label]
Move all labels of the old stmt onto the new stmt.
must_model_exp [Mmodel_analysis]
Same as Mmodel_analysis.must_model_vi, for expressions
must_model_lval [Mmodel_analysis]
Same as Mmodel_analysis.must_model_vi, for left-values
must_model_vi [Mmodel_analysis]
must_model_vi ?kf ?stmt vi returns true if the varinfo vi at the given stmt in the given function kf must be tracked by the memory model library.
must_translate [Keep_status]
To be called just before transforming a property of the given kind for the given function.
must_visit [Options]
mv_invariants [Loops]
Transfer the loop invariants from the old loop to the new one.

N
name_of_binop [Misc]
Returns the name of the given binop as a string
named_predicate_ref [Loops]
named_predicate_to_exp_ref [Logic_functions]
nan [Typing]
nb_not_yet [Error]
Number of not-yet-supported annotations.
nb_untypable [Error]
Number of untypable annotations.
new_labeled_stmt [Label]
new_var [Env]
new_var env t ty mk_stmts extends env with a fresh variable of type ty corresponding to t.
new_var_and_mpz_init [Env]
Same as new_var, but dedicated to mpz_t variables initialized by Mpz.init.
normalize_str [Rational]
Normalize the string so that it fits the representation used by the underlying real library.
not_yet [Error]
Not_yet_implemented error built from the given argument.
number_ty_of_typ [Typing]
Reverse of typ_of_number_ty

O
off [Parameter_sig.Bool]
Set the boolean to false.
on [Parameter_sig.Bool]
Set the boolean to true.

P
parameter_states [Options]
pop [Env]
Pop the last local context (ignore the corresponding new block if any
pop_and_get [Env]
Pop the last local context and get back the corresponding new block containing the given stmt at the given place (Before is before the code corresponding to annotations, After is after this code and Middle is between the stmt corresponding to annotations and the ones for freeing the memory.
pop_loop [Env]
predicate_to_exp [Main]
predicate_to_exp [Translate]
predicate_to_exp_ref [Mmodel_translate]
predicate_to_exp_ref [At_with_lscope]
predicate_to_exp_ref [Quantif]
prepare [Prepare_ast]
preserve_invariant [Loops]
modify the given stmt loop to insert the code which preserves its loop invariants.
pretty [Env]
printf_fmt_position [Functions.Libc]
Given the name of a printf-like function (as determined by is_printf_name) return the number of arguments preceding its variadic arguments.
ptr_index [Misc]
Split pointer-arithmetic expression of the type `p + i` into its pointer and integer parts.
push [Env]
Push a new local context in the environment
push [Keep_status]
store the given property of the given kind for the given function
push_loop [Env]

Q
quantif_to_exp [Quantif]
The given predicate must be a quantification.

R
rational [Typing]
register_library_function [Misc]
remove [State_builder.Hashtbl]
remove [Env.Logic_binding]
remove [Interval.Env]
remove_all [At_with_lscope.Free]
remove_all [At_with_lscope.Malloc]
reorder_ast [Misc]
replace [State_builder.Hashtbl]
Add a new binding.
replace [Interval.Env]
reset [Logic_functions]
reset [Env.Logic_scope]
Return a new environment in which the logic scope is reset iff set_reset _ true has been called beforehand.
reset [Mmodel_analysis]
Must be called to redo the analysis
reset [Literal_strings]
Must be called to redo the analysis
reset [Misc]
restore [Env.Context]
result_lhost [Misc]
result_vi [Misc]
rte [Env]

S
save [Env.Context]
self [Label]
Internal state
set_annotation_kind [Env]
set_current_kf [Env]
set_possible_values [Parameter_sig.String]
Set what are the acceptable values for this parameter.
set_reset [Env.Logic_scope]
Setter of the information indicating whether the logic scope should be reset at next call to reset.
stmt [Rte]
RTEs of a given stmt, as a list of code annotations.
store_vars [Exit_points]
Compute variables that should be re-recorded before a labelled statement to which some goto jumps

T
t [Gmp_types.S]
t_as_ptr [Gmp_types.S]
type equivalent to t but seen as a pointer
tapp_to_exp [Logic_functions]
term_addr_of [Misc]
term_has_lv_from_vi [Misc]
Return true iff the given term contains a variables that originates from a C varinfo, that is a non-purely logic variable.
term_of_li [Misc]
term_of_li li assumes that li.l_body matches LBterm t and returns t.
term_to_exp [Translate]
term_to_exp [E_ACSL.Translate]
term_to_exp_ref [Logic_functions]
term_to_exp_ref [Mmodel_translate]
term_to_exp_ref [At_with_lscope]
term_to_exp_ref [Loops]
to_exp [At_with_lscope]
top_ival [Interval]
transfer [Env]
Pop the last local context of from and push it into the other env.
translate_named_predicate [Translate]
translate_named_predicate_ref [Loops]
translate_post_code_annotation [Translate]
translate_post_spec [Translate]
translate_pre_code_annotation [Translate]
translate_pre_spec [Translate]
translate_rte_annots [Translate]
ty_of_interv [Typing]
Coercion rules
typ_of_lty [Typing]
typ_of_number_ty [Typing]
type_named_predicate [Typing]
Compute the type of each term of the given predicate.
type_term [Typing]
Compute the type of each subterm of the given term in the given context.

U
unmemoized_extend_ast [Main]
unsafe_set [Typing]
Register that the given term has the given type in the given context (if any).
untypable [Error]
Type error built from the given argument.
update [Builtins]
If the given name is an E-ACSL built-in, change its old varinfo by the given new one.
use_model [Mmodel_analysis]
Is one variable monitored (at least)?

V
version [Local_config]