Library
Module
Module type
Parameter
Class
Class type
This module provides support for the Daikon tool.
Daikon (available at http://groups.csail.mit.edu/pag/daikon/) is an invariant detector that works by analyzing the traces produced by an instrumented program.
Bolt can produce Daikon-comptabile traces by using statements like:
LOG Daikon.t WITH Daikon.point "pt" [Daikon.int "i" i];
more information can be found in the Bolt manual.
type 'a variable_builder = string -> 'a -> variable
The type of function building variables, taking two parameters:
val bool : bool variable_builder
Defines a variable from name and value.
val bool_option : bool option variable_builder
Defines a variable from name and value (translated to a Daikon array).
val bool_list : bool list variable_builder
Defines a variable from name and value (translated to a Daikon array).
val bool_array : bool array variable_builder
Defines a variable from name and value.
val int : int variable_builder
Defines a variable from name and value.
val int_option : int option variable_builder
Defines a variable from name and value (translated to a Daikon array).
val int_list : int list variable_builder
Defines a variable from name and value (translated to a Daikon array).
val int_array : int array variable_builder
Defines a variable from name and value.
val float : float variable_builder
Defines a variable from name and value.
val float_option : float option variable_builder
Defines a variable from name and value (translated to a Daikon array).
val float_list : float list variable_builder
Defines a variable from name and value (translated to a Daikon array).
val float_array : float array variable_builder
Defines a variable from name and value.
val string : string variable_builder
Defines a variable from name and value.
val string_option : string option variable_builder
Defines a variable from name and value (translated to a Daikon array).
val string_list : string list variable_builder
Defines a variable from name and value (translated to a Daikon array).
val string_array : string array variable_builder
Defines a variable from name and value.
val make_variable_builder : ('a -> variable list) -> 'a variable_builder
Constructs a variable builder function, by projecting a given value to a list of variables.
val tuple2 :
'a variable_builder ->
'b variable_builder ->
('a * 'b) variable_builder
tuple2 t1 t2
returns a variable builder for couple of type t1 * t2
.
val tuple3 :
'a variable_builder ->
'b variable_builder ->
'c variable_builder ->
('a * 'b * 'c) variable_builder
tuple3 t1 t2 t3
returns a variable builder for triple of type t1 * t2 * t3
.
val tuple4 :
'a variable_builder ->
'b variable_builder ->
'c variable_builder ->
'd variable_builder ->
('a * 'b * 'c * 'd) variable_builder
tuple4 t1 t2 t3 t4
returns a variable builder for quadruple of type t1 * t2 * t3 * t4
.
val tuple5 :
'a variable_builder ->
'b variable_builder ->
'c variable_builder ->
'd variable_builder ->
'e variable_builder ->
('a * 'b * 'c * 'd * 'e) variable_builder
tuple5 t1 t2 t3 t4 t5
returns a variable builder for quintuple of type t1 * t2 * t3 * t4 * t5
.
val point : string -> variable list -> properties
point id vars
defines the properties for a given point in code, id
being the identifier for the point and vars
the variable list.
val enter : string -> variable list -> properties
enter id pars
Defines the properties for a entry point in code (typically function begin), id
being the identifier for the function and pars
the parameter list.
val exit : string -> variable -> variable list -> properties
exit id ret pars
Defines the properties for a exit point in code (typically function end), id
being the identifier for the function, ret
the returned value and pars
the parameter list.
val decls_render : Event.t -> string
The rendering function for Daikon format (declaration part).
val dtrace_render : Event.t -> string
The rendering function for Daikon format (trace part).
val layout_decls : Layout.t
The layout supporting the "Daikon" format (declaration part).
val layout_dtrace : Layout.t
The layout supporting the "Daikon" format (trace part).