Module TOPLlib.Topl
val automaton : unit -> ToplAutomaton.t
Return the automaton representing all Topl properties.
val get_proc_attr : IR.Procname.t -> IR.ProcAttributes.t option
get_proc_attr proc_name
returns the attributes ofget_proc_desc proc_name
val get_proc_desc : IR.Procname.t -> IR.Procdesc.t option
Return a synthesized Procdesc.t, when it corresponds to instrumentation for a TOPL property.
val sourcefile : unit -> IBase.SourceFile.t
The (fake) sourcefile in which synthesized code resides. This function has a side-effect, because that's how
SourceFile
works, so do NOT call when Topl is inactive.
val cfg : unit -> IR.Cfg.t
The CFG of the synthesized code. This function has a side-effect, because that's how
Cfg
works, so do NOT call when Topl is inactive.
type 'summary analysis
= 'summary Absint.InterproceduralAnalysis.t -> 'summary option
type 'summary postprocess
= 'summary Absint.InterproceduralAnalysis.t -> 'summary -> unit
type 'summary analysis_transformer
= 'summary analysis -> 'summary analysis
val analyze_with : 'summary postprocess -> 'summary analysis_transformer
analyze_with analyze postprocess analysis_data
callsanalyze
and thenpostprocess
onanalysis_data
val analyze_with_biabduction : Biabduction.BiabductionSummary.t analysis_transformer
Run biabduction with Topl instrumentation if active. Inserts calls to the TOPL automaton. Mutates the arguments: it is the caller's responsibility to instrument procedures at most once.