package frama-c
Install
    
    dune-project
 Dependency
Authors
- 
  
    
    MMichele Alberti
- 
  
    
    TThibaud Antignac
- 
  
    
    GGergö Barany
- 
  
    
    PPatrick Baudin
- 
  
    
    TThibaut Benjamin
- 
  
    
    AAllan Blanchard
- 
  
    
    LLionel Blatter
- 
  
    
    FFrançois Bobot
- 
  
    
    RRichard Bonichon
- 
  
    
    QQuentin Bouillaguet
- 
  
    
    DDavid Bühler
- 
  
    
    ZZakaria Chihani
- 
  
    
    LLoïc Correnson
- 
  
    
    JJulien Crétin
- 
  
    
    PPascal Cuoq
- 
  
    
    ZZaynah Dargaye
- 
  
    
    BBasile Desloges
- 
  
    
    JJean-Christophe Filliâtre
- 
  
    
    PPhilippe Herrmann
- 
  
    
    MMaxime Jacquemin
- 
  
    
    FFlorent Kirchner
- 
  
    
    AAlexander Kogtenkov
- 
  
    
    TTristan Le Gall
- 
  
    
    JJean-Christophe Léchenet
- 
  
    
    MMatthieu Lemerre
- 
  
    
    DDara Ly
- 
  
    
    DDavid Maison
- 
  
    
    CClaude Marché
- 
  
    
    AAndré Maroneze
- 
  
    
    TThibault Martin
- 
  
    
    FFonenantsoa Maurica
- 
  
    
    MMelody Méaulle
- 
  
    
    BBenjamin Monate
- 
  
    
    YYannick Moy
- 
  
    
    PPierre Nigron
- 
  
    
    AAnne Pacalet
- 
  
    
    VValentin Perrelle
- 
  
    
    GGuillaume Petiot
- 
  
    
    DDario Pinto
- 
  
    
    VVirgile Prevosto
- 
  
    
    AArmand Puccetti
- 
  
    
    FFélix Ridoux
- 
  
    
    VVirgile Robles
- 
  
    
    JJan Rochel
- 
  
    
    MMuriel Roger
- 
  
    
    JJulien Signoles
- 
  
    
    NNicolas Stouls
- 
  
    
    KKostyantyn Vorobyov
- 
  
    
    BBoris Yakobowski
Maintainers
Sources
sha256=29612882330ecb6eddd0b4ca3afc0492b70d0feb3379a1b8e893194c6e173983
    
    
  doc/frama-c-wp.core/Wp/Sigs/index.html
Module Wp.SigsSource
Common Types and Signatures
General Definitions
type equation = - | Set of Lang.F.term * Lang.F.term(*
 *)- Set(a,b)is- a := b.
- | Assert of Lang.F.pred
Oriented equality or arbitrary relation
Access conditions
Abstract location or concrete value
type 'a rloc = - | Rloc of Ctypes.c_object * 'a
- | Rrange of 'a * Ctypes.c_object * Lang.F.term option * Lang.F.term option
Contiguous set of locations
type 'a sloc = - | Sloc of 'a
- | Sarray of 'a * Ctypes.c_object * int(*- full sized range (optimized assigns) *)
- | Srange of 'a * Ctypes.c_object * Lang.F.term option * Lang.F.term option
- | Sdescr of Lang.F.var list * 'a * Lang.F.pred
Structured set of locations
Typed set of locations
type 'a logic = - | Vexp of Lang.F.term
- | Vloc of 'a
- | Vset of Wp__.Vset.vset list
- | Lset of 'a sloc list
Logical values, locations, or sets of
Scope management for locals and formals
Container for the returned value of a function
Polarity of predicate compilation
Frame Conditions. Consider a function phi(m) over memory m, we want memories m1,m2 and condition p such that p(m1,m2) -> phi(m1) = phi(m2).
- nameused for generating lemma
- triggersfor the lemma
- conditionsfor the frame lemma to hold
- mem1,mem2to two memories for which the lemma holds
Reversing Models
It is sometimes possible to reverse memory models abstractions into ACSL left-values via the definitions below.
and s_host = - | Mvar of Frama_c_kernel.Cil_types.varinfo(*- Variable *)
- | Mmem of Lang.F.term(*- Pointed value *)
- | Mval of s_lval(*- Pointed value of another abstract left-value *)
type mval = - | Mterm(*- Not a state-related value *)
- | Maddr of s_lval(*- The value is the address of an l-value in current memory *)
- | Mlval of s_lval * Lang.datakind(*- The value is the value of an l-value in current memory *)
- | Mchunk of string * Lang.datakind(*- The value is an abstract memory chunk (description) *)
Reversed abstract value
type update = - | Mstore of s_lval * Lang.F.term(*- An update of the ACSL left-value with the given value *)
Reversed update
Memory Models
C and ACSL Compilers
Compiler for C expressions
Compiler for ACSL expressions
Compiler for Performing Assigns