B | |
Behav [Wp_parameters] | |
Bottom [Wp_parameters] | |
BuiltinWhyFile [Wp_parameters] | |
C | |
CFG [WpAnnot] | |
CFG [Cil2cfg] |
the CFG is an ocamlgraph
|
CFG [Calculus] | |
Calculus |
Wp computation using the CFG
|
Call |
Build a module that handles calls from the basic operations defined
by the memory model.
|
Cfg [Wp_parameters] | |
Cfg [Calculus] | |
Cfg0 [Register] | |
Cfg1 [Register] | |
Cfg2 [Register] | |
Cfg3 [Register] | |
Cil2cfg |
Build a CFG of a function keeping some information of the initial structure.
|
D | |
Dot [Wp_parameters] | |
E | |
E [Cil2cfg.Printer] | |
EL [Cil2cfg] |
the CFG edges
|
F | |
Fol |
apply do_exp on each sub expression of the predicate.
|
Functions [Wp_parameters] | |
H | |
HE [Cil2cfg] | |
HE [Calculus.Cfg] |
to store de results of the computations
|
Hannots [WpAnnot] |
This is an Hashtbl where some predicates are stored on CFG edges.
|
Hfol [Cil2cfg] | |
Hpred [Cil2cfg] | |
L | |
LoopInfo [Cil2cfg] |
To use WeiMaoZouChen algorithm,
we need to define how to interact with our CFG graph
|
Lowlevel_model |
Transform this one into M3 ie memory access using address, offset
and type/size
|
M | |
M [Mvar.MO_sig] | |
M [Model2] | |
M [Model1] | |
M [Model0] | |
M [Lowlevel_model] | |
M0 [Register] | |
M0_call [Register] | |
M0_no_call [Register] | |
M0_simple [Register] | |
M1 [Why_ops] |
for model M1 only
|
M1 [Register] | |
M1_call [Register] | |
M1_no_call [Register] | |
M1_simple [Register] | |
M2 [Why_ops] |
for model M2 only
|
M2 [Register] | |
M2_call [Register] | |
M2_no_call [Register] | |
M3 [Why_ops] |
for model M3 only
|
M3 [Register] | |
M3_call [Register] | |
M3_no_call [Register] | |
MC [Mvar] | |
MM [Mmem] | |
MT [Mvar] |
From
Mv_sig , defines everything needed for translation
|
MT [Model1] | |
MT [Model0] | |
MT [Mvar.MV] | |
MT [Mmem] | |
MV [Mvar.MC] | |
MV [Mvar] |
from
Mv_sig , we can define operations shared by every memory model
based on variables such as substitution, quantification, let, etc...
|
MV [Model1] | |
MV [Model0] | |
MV [Mmem.MM] | |
Macros |
TODO : put this somewhere else
|
Mloop [Cil2cfg] | |
Mmem |
Factorisation of functions for load/store memory models
|
Moblig [Calculus] | |
Model [Wp_parameters] | |
Model0 |
Model0 is a memory model that only handle direct access to the data
(it means no
* neither in the statements, nor in the property)
|
Model1 |
Model1 is a memory model that is close to caveat's one,
but it should add guards to check is the are no problem with aliases.
|
Model2 |
This model is a load/store model but still only consider typed data only
(ie not cast in address computation)
|
Msimple [Calculus] |
This module takes a module that defines everything for
T_with_call
and build the simplest module in order to propagate predicates using the CFG.
|
Mvar |
Shared between M0 and M1 ie variable based memory model.
|
N | |
NormAtLabels |
push the Tat and Told down to the 'data' operations.
|
P | |
Printer [Cil2cfg] | |
Proof [Wp_parameters] | |
ProverTimeout [Wp_parameters] | |
R | |
Register |
Process exceptions for all external functions.
|
T | |
T [Mvar.MV] | |
T [Mmem.MM] | |
ToGfol [Translate] |
The exported translation functions may raise
AbortTranslation ,
and normally no other exception...
|
Toprop |
Signature for a module that defines basic things on the memory model
|
Translate |
This module provides translations function from C expressions
and ACSL annotations to the memory model internal representation.
|
Types |
This file handles everything related to types :
ctype are types from Cil,
ie.
|
V | |
V [Wp_gui] | |
V [Cil2cfg.Printer] | |
VL [Cil2cfg] |
the CFG nodes
|
W | |
WeiMaoZouChen [Cil2cfg] |
Implementation of
"A New Algorithm for Identifying Loops in Decompilation"
|
Why_ops |
This file should group all the function names used in why files,
with some hints about where there are defined, etc.
|
Why_output |
Why interface
|
WithPrePost [Call] | |
WpAnnot |
This file groups functions that extract some annotations
and associates them with CFG edges.
|
WpFol |
This file manage tables of global things that have to be exported in WHY
file like variable declarations, axioms, etc.
|
Wp_gui | |
Wp_parameters |