package frama-c
Platform dedicated to the analysis of source code written in C
Install
Dune Dependency
Authors
-
MMichele Alberti
-
TThibaud Antignac
-
GGergö Barany
-
PPatrick Baudin
-
NNicolas Bellec
-
TThibaut Benjamin
-
AAllan Blanchard
-
LLionel Blatter
-
FFrançois Bobot
-
RRichard Bonichon
-
VVincent Botbol
-
QQuentin Bouillaguet
-
DDavid Bühler
-
ZZakaria Chihani
-
SSylvain Chiron
-
LLoïc Correnson
-
JJulien Crétin
-
PPascal Cuoq
-
ZZaynah Dargaye
-
BBasile Desloges
-
JJean-Christophe Filliâtre
-
PPhilippe Herrmann
-
MMaxime Jacquemin
-
BBenjamin Jorge
-
FFlorent Kirchner
-
AAlexander Kogtenkov
-
RRemi Lazarini
-
TTristan Le Gall
-
KKilyan Le Gallic
-
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
-
CCécile Ruet-Cros
-
JJulien Signoles
-
NNicolas Stouls
-
KKostyantyn Vorobyov
-
BBoris Yakobowski
Maintainers
Sources
frama-c-31.0-Gallium.tar.gz
sha256=a94384f00d53791cbb4b4d83ab41607bc71962d42461f02d71116c4ff6dca567
doc/frama-c-slicing.core/Slicing/SlicingSelect/index.html
Module Slicing.SlicingSelect
Source
Source
val get_select_kf :
(Frama_c_kernel.Cil_types.varinfo * 'a) ->
Frama_c_kernel.Cil_types.kernel_function
Source
val check_db_select :
Frama_c_kernel.Cil_datatype.Varinfo.t ->
SlicingTypes.sl_select ->
SlicingTypes.sl_select
Source
val empty_db_select :
Frama_c_kernel.Kernel_function.t ->
Frama_c_kernel.Cil_types.varinfo * SlicingInternals.fct_user_crit
Source
val check_kf_db_select :
Frama_c_kernel.Kernel_function.t ->
SlicingTypes.sl_select ->
SlicingTypes.sl_select
Source
val check_ff_db_select :
SlicingInternals.fct_slice ->
SlicingTypes.sl_select ->
SlicingTypes.sl_select
Source
val basic_add_select :
Frama_c_kernel.Kernel_function.t ->
SlicingTypes.sl_select ->
Pdg_types.PdgTypes.Node.t list ->
?undef:(Frama_c_kernel.Locations.Zone.t option * SlicingTypes.sl_mark) ->
SlicingActions.n_or_d_marks ->
SlicingTypes.sl_select
Source
val select_pdg_nodes :
Frama_c_kernel.Kernel_function.t ->
?select:SlicingTypes.sl_select ->
Pdg_types.PdgTypes.Node.t list ->
SlicingTypes.sl_mark ->
SlicingTypes.sl_select
Source
val mk_select :
Pdg.Api.t ->
SlicingActions.select ->
(Pdg_types.PdgTypes.Node.t * Frama_c_kernel.Locations.Zone.t option) list ->
Frama_c_kernel.Locations.Zone.t option ->
SlicingTypes.sl_mark ->
SlicingInternals.fct_user_crit
Source
val select_stmt_zone :
Frama_c_kernel.Kernel_function.t ->
?select:SlicingTypes.sl_select ->
Frama_c_kernel.Cil_types.stmt ->
before:bool ->
Frama_c_kernel.Locations.Zone.t ->
SlicingTypes.sl_mark ->
SlicingTypes.sl_select
Source
val select_in_out_zone :
at_end:bool ->
use_undef:bool ->
Frama_c_kernel.Kernel_function.t ->
SlicingTypes.sl_select ->
Frama_c_kernel.Locations.Zone.t ->
SlicingTypes.sl_mark ->
SlicingTypes.sl_select
this one is similar to select_stmt_zone
with the return statement when the function is defined, but it can also be used for undefined functions.
Source
val select_zone_at_end :
Frama_c_kernel.Kernel_function.t ->
?select:SlicingTypes.sl_select ->
Frama_c_kernel.Locations.Zone.t ->
SlicingTypes.sl_mark ->
SlicingTypes.sl_select
Source
val select_modified_output_zone :
Frama_c_kernel.Kernel_function.t ->
?select:SlicingTypes.sl_select ->
Frama_c_kernel.Locations.Zone.t ->
SlicingTypes.sl_mark ->
SlicingTypes.sl_select
Source
val select_zone_at_entry :
Frama_c_kernel.Kernel_function.t ->
?select:SlicingTypes.sl_select ->
Frama_c_kernel.Locations.Zone.t ->
SlicingTypes.sl_mark ->
SlicingTypes.sl_select
Source
val stmt_nodes_to_select :
Pdg.Api.t ->
Frama_c_kernel.Cil_types.stmt ->
Pdg_types.PdgTypes.Node.t list
Source
val select_stmt_computation :
Frama_c_kernel.Kernel_function.t ->
?select:SlicingTypes.sl_select ->
Frama_c_kernel.Cil_types.stmt ->
SlicingTypes.sl_mark ->
SlicingTypes.sl_select
Source
val select_label :
Frama_c_kernel.Kernel_function.t ->
?select:SlicingTypes.sl_select ->
Frama_c_kernel.Cil_types.logic_label ->
SlicingTypes.sl_mark ->
SlicingTypes.sl_select
Source
val select_minimal_call :
Frama_c_kernel.Kernel_function.t ->
?select:SlicingTypes.sl_select ->
Frama_c_kernel.Cil_types.stmt ->
SlicingTypes.sl_mark ->
SlicingTypes.sl_select
marking a call node means that a choose_call
will have to decide that to call according to the slicing-level, but anyway, the call will be visible.
Source
val select_stmt_ctrl :
Frama_c_kernel.Kernel_function.t ->
?select:SlicingTypes.sl_select ->
Frama_c_kernel.Cil_types.stmt ->
SlicingTypes.sl_select
Source
val select_entry_point :
Frama_c_kernel.Kernel_function.t ->
?select:SlicingTypes.sl_select ->
SlicingTypes.sl_mark ->
SlicingTypes.sl_select
Source
val select_return :
Frama_c_kernel.Kernel_function.t ->
?select:SlicingTypes.sl_select ->
SlicingTypes.sl_mark ->
SlicingTypes.sl_select
Source
val select_decl_var :
Frama_c_kernel.Kernel_function.t ->
?select:SlicingTypes.sl_select ->
Frama_c_kernel.Cil_types.varinfo ->
SlicingTypes.sl_mark ->
SlicingTypes.sl_select
Source
val merge_select :
SlicingInternals.fct_user_crit ->
SlicingInternals.fct_user_crit ->
SlicingInternals.fct_user_crit
Source
val merge_db_select :
SlicingTypes.sl_select ->
SlicingTypes.sl_select ->
SlicingTypes.sl_select
Source
val add_crit_ff_change_call :
SlicingInternals.fct_slice ->
Frama_c_kernel.Cil_types.stmt ->
SlicingInternals.called_fct ->
unit
Source
val call_ff_in_caller :
caller:SlicingInternals.fct_slice ->
to_call:SlicingInternals.fct_slice ->
unit
change the call to call the given slice. This is a user request, so it might be the case that the new function doesn't compute enough outputs : in that case, add outputs first.
Source
val call_fsrc_in_caller :
caller:SlicingInternals.fct_slice ->
to_call:Frama_c_kernel.Kernel_function.t ->
unit
Source
val call_min_f_in_caller :
caller:SlicingInternals.fct_slice ->
to_call:Frama_c_kernel.Cil_types.kernel_function ->
unit
add a persistent selection to the function. This might change its slicing level in order to call slices later on.
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>