Frama-C Kernel

Index of types
Index of exceptions
Index of values
Index of class attributes
Index of class methods
Index of classes
Index of class types
Index of modules
Index of module types

Chapter 1. Frama-C

Section Ai (in src/ai)


Abstract_interp
Base
Base for uninitialized variables
Base_Set_Lattice
Int_Base
Ival
inject creates an abstract float interval.
Map_Lattice
find_exclusive k m returns v if m contains only the binding k -> v
My_bigint
Origin

Section Buckx (in src/buckx)


Buckx

Section Gui (in src/gui)


Analyses_manager
Automatic registration.
Debug_manager
Automatic registration.
Design
The extensible GUI.
File_manager
Automatic registration.
Filetree
The tree containing the list of modules and functions together with dynamic columns
Gtk_form
Gtk_helper
Generic Gtk helpers.
Gui_parameters
Help_manager
Automatic registration.
Launcher
The Frama-C launcher.
Menu_manager
Handle the menubar and the toolbar.
Pretty_source
Utilities to pretty print source with located elements in a Gtk TextBuffer.
Project_manager
Extension of the GUI in order to support project switching.
Property_navigator
Extension of the GUI in order to navigate in ACSL properties.
Source_manager
This file contains the source viewer multi-tabs widget window
Source_viewer
The Frama-C source viewer.
Warning_manager
Handle Frama-C warnings in the GUI.

Section Kernel (in src/kernel)


Alarms
Alarm Database.
Annotations
Annotations associated with a statement.
Ast
Access to the Cil AST which must be used from Frama-C.
Ast_info
AST manipulation utilities.
Ast_printer
Default printers of Frama-C.
CilE
Cil Extension for Frama-C.
Cmdline
Command line parsing.
Command
File Utilities
Config
Information about version of Frama-C.
Db
Database in which static plugins are registered.
Db_types
Type definitions for Db module.
Dynamic
Dynamic plug-ins: registration and use.
File
Frama-c preprocessing and Cil AST initialization.
Globals
Operations on globals.
Gui_init
Very early initialisation step requiered by any GUI.
Journal
Journalization of functions
Kernel
Provided services for kernel developers.
Kernel_datatype
Datatypes of some useful kernel types.
Kernel_function
Operations on kernel function.
Log
Logging Services for Frama-C Kernel and Plugins.
Loop
Operations on (natural) loops.
Messages
Do collect messages
Parameters
Kernel parameters and generic access to plug-in parameters.
Plugin
Provided plug-general services for plug-ins.
Printer
This pretty printer prints the annotations from Db but not the one in the code.
Special_hooks
Nothing is export: just register some special hooks for Frama-C.
Stmts_graph
Statements graph.
Task
High Level Interface to Command.
Unicode
Handling unicode string.
Unroll_loops
Visitor
Frama-C visitors dealing with projects.

Section Lib (in src/lib)


Bag
List with constant-time concat operation.
Bitvector
Bitvector naive implementation.
Dynlink_common_interface
Wrapper for Dynlink compatible with all OCaml versions.
Extlib
Useful operations.
Hook
Hook builder.
Pretty_utils
pretty-printing to a string
Printexc_common_interface
Wrapper for Printexc compatible with all OCaml versions.
Qstack
Mutable stack in which it is possible to add data at the end (like a queue) and to manage non top elements.
Rangemap
Association tables over ordered types.

Section Logic (in src/logic)


Infer_annotations
This is empty on purpose.
Logic_interp
returns a copy of the spec in which all formals in an ensures clause are guarded by an \at(x,Old).
Properties_status
Status of properties.
Property
ACSL comparable property.
Translate_lightweight

Section Memory_state (in src/memory_state)


Abstract_value
Binary_cache
Bit_model_access
Cvalue_type
Function_Froms
same as pretty, but uses the type of the function to output more precise informations.
Hptset
Sets over ordered types.
Int_Interv
Locates (b2, e2) with respect to (b1, e1).
Int_Interv_Map
Lmap
Functors making map indexed by locations.
Lmap_bitwise
Functors making map indexed by zone.
Lmap_whole
Functor making map for whole values with locations as keys
Locations
Memory locations.
New_offsetmap
Common folding and iteration operations
Offsetmap
May be raised by update_ival when the add is completely out of bounds.
Offsetmap_bitwise
Path_lattice
Relations_type
Internal state representation of the value analysis.
Shifted_Location
State_imp
State_set
Widen
Widen_type
Key for the first map : from Base.t to Ival.Widen_Hints.t

Section Misc (in src/misc)


Bit_utils
Some bit manipulations.
Filter
Filter helps to build a new cilfile from an old one by removing some of its elements.
Service_graph
assume is >= 0 and unique for each vertices of the graph
Subst
Substitution of varinfos by exps.

Section Project (in src/project)


Dashtbl
Dashtbl.
Project
Projects management.
Project_skeleton
This module should not be used outside of the Project library.
State
A state is a meta-representation of a project-compliant mutable value.
State_builder
State builders.
State_dependency_graph
State Dependency Graph.
State_selection
A state selection is a set of states with operations for easy handling of state dependencies.
State_topological
Topological order.

Section Type (in src/type)


Datatype
A datatype provides useful values for types.
Descr
Type descriptor for safe unmarshalling.
Structural_descr
Internal representations of OCaml type as first class values.
Type
Type value.

Chapter 2. C & ACSL

Section Ext (in cil/ext)


Availexpslv
Callgraph
Compute a static call graph.
Cfg
Code to compute the control-flow graph of a function or file.
Ciltools
START OF deepHasAttribute ***********************************************
Dataflow
A framework for data flow analysis for CIL code.
Deadcodeelim
Dominators
Compute dominators using data flow analysis
Expcompare
Liveness
Obfuscate
Oneret
Make sure that there is only one Return statement in the whole body.
Reachingdefs
Rmciltmps
Usedef
compute use/def information

Section Frontc (in cil/frontc)


Cabs
This file was originally part of Hugues Casee's frontc 2.0, and has been extensively changed since.
Cabs2cil
Registers a new hook that will be applied each time a side-effect free expression whose result is unused is dropped.
Cabscond
Interface to be used during Cabs2cil
Cabshelper
Try do do the job.
Cabsvisit
Variable or function prototype name
Clexer
Cparser
Cprint
Errorloc
high-level position
Frontc
add a syntactic transformation that will be applied to all freshly parsed C files.
Lexerhack
Patch
Whitetrack

Section Logic (in cil/logic)


Logic_builtin
Logic_const
Smart constructors for the logic.
Logic_env
Global Logic Environment
Logic_lexer
Logic_parser
Logic_preprocess
adds another pre-processing step in order to expand macros in annotations.
Logic_print
Pretty-printing of a parsed logic tree.
Logic_ptree
logic constants.
Logic_typing
Logic typing and logic environment.
Logic_utils
basic utilities for logic terms and predicates.
Utf8_logic
UTF-8 string for logic symbols.

Section Ocamlutil (in cil/ocamlutil)


Alpha
ALPHA conversion
Cilutil
A bunch of generally useful functions.
Clist
Utilities for managing "concatenable lists" (clists).
GrowArray
Array operations.
Inthash
Hashtable with integer keys.
SetWithNearest
Output signature of the functor SetWithNearest.Make.

Section Src (in cil/src)


Cil
CIL original API documentation is available as an html version at http://manju.cs.berkeley.edu/cil.
Cil_const
smart constructors for some data types
Cil_datatype
Datatypes of some useful Cil types.
Cil_state_builder
Functors for building computations which use kernel datatypes.
Cil_types
The Abstract Syntax of CIL.
Cilglobopt
Cilmsg
Same as: if had_errors () then abort ... ;
Escape
OCaml types used to represent wide characters and strings
Machdep
Apply this funtor to set all the above references at once.
Machdep_ppc_32
Machdep_ppc_32_diab
Machdep_x86_16
Machdep_x86_32
Machdep_x86_64
Mergecil
Set this to true to ignore the merge conflicts
Rmtmps
removes unused labels for which is_removable is true.
Zrapp

Directory Carbon-20101202-beta2

Section External (in Carbon-20101202-beta2/external)


Hptmap
Unmarshal
This module provides a function input_val, similar in functionality to the standard library function Marshal.from_channel.
Unmarshal_nums
This module extends Unmarshal to deal with the data types of the Nums library.