The Wp API is dynamically registered.
Main entry points:
The WP plugin is dedicated to compute Weakest-Preconditions using different memory models. It is organised as follow :
First of all, the C program elements and the ACSL properties have to be
translated into a common formalism. Because the final goal is to generate
files for the WHY tool, the Fol
module provide a representation for
First-Order-Logic compatible with WHY. The module Why_output
provide
functions to export this representation into WHY files.
The translation modules are :
Types
: everything needed to handle C and logic types,Why_ops
:WpFol
:Translate
: translation of Cil expressions knowing basic operations
from the memory model,
Cil2cfg
: build the CFG keeping information about the structure,WpAnnot
: build a table indexed by CFG nodes and store annotations
either to prove or to use as hypotheses,Calculus
: compute WP