package bap-std

  1. Overview
  2. Docs
The Binary Analysis Platform Standard Library

Install

Dune Dependency

Authors

Maintainers

Sources

v2.4.0.tar.gz
sha256=63ada71fa4f602bd679174dc6bf780d54aeded40ad4ec20d256df15886e3d2d5
md5=b8b1aff8c6846f2213eafc54de07b304

doc/bap/Bap/Std/Disasm/Subroutines/index.html

Module Disasm.Subroutines

A set of subroutines.

A partition of a whole program control-flow graph into a quotient set of subroutines.

The algorithm builds the minimal partion, i.e., it guarantees that no other partition exists that has fewer elements.

The number of elements heavily depends on the number of function starts that were provided as the input (e.g., if the function start identification procedure has a lot of false positives, expect a lot of subroutines).

  • since made public since 2.2.0
type t
include Core_kernel.Bin_prot.Binable.S with type t := t
val bin_size_t : t Bin_prot.Size.sizer
val bin_write_t : t Bin_prot.Write.writer
val bin_read_t : t Bin_prot.Read.reader
val __bin_read_t__ : (int -> t) Bin_prot.Read.reader
val bin_shape_t : Bin_prot.Shape.t
val bin_writer_t : t Bin_prot.Type_class.writer
val bin_reader_t : t Bin_prot.Type_class.reader
val bin_t : t Bin_prot.Type_class.t
val empty : t

empty is the empty partition.

val equal : t -> t -> bool

equal p1 p2 is true if p1 is structurally equal p2.

update p s updates the partitioning with the newly disassembled blocks.

val belongs : t -> entry:addr -> addr -> bool

belongs part ~entry addr is true if addr belongs to a basic block of subroutine with the given entry.

val entries : t -> Core_kernel.Set.M(Addr).t

entries part is the set of entry points of all subroutines in the partition.

Set.length (entries part) is the cardinality of the partition.

val siblings : t -> addr -> addr -> bool

siblings part x y is true if x and y belong to the same subroutine.

OCaml

Innovation. Community. Security.