package bap-std

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

Install

Dune Dependency

Authors

Maintainers

Sources

v2.1.0.tar.gz
sha256=631fc58628418e4856709a0cfc923a65e00c9494fbd28d444c633d11194831de
md5=3db9deac8d429b9b8a8ec9aec54987b1

doc/bap/Bap/Std/Graphs/index.html

Module Std.Graphs

BAP Common Graphs.

This module contains several graph structures, that are used across BAP.

The idiomatic use case is to bind the chosen graph to a shorter name and use it as a first class module with different functions in graphlib library, e.g.,

  module G = Graphs.Cfg

  let insns cfg =
    Graphlib.reverse_postorder_traverse (module G) cfg |>
    Seq.map ~f:Block.insns |>
    Seq.concat_map ~f:Seq.of_list
module Cfg : Graphlib.Std.Graph with type t = cfg and type node = block and type Edge.label = edge

Control Flow Graph with a machine basic block as a node.

module Callgraph : Graphlib.Std.Graph with type node = tid and type Node.label = tid and type Edge.label = jmp term list

A call graph representation. In this representations, nodes are identifiers of subroutine terms, and edges, representing calls, are marked with a list of callsites, where callsite is denoted by a jump term.

module Ir : sig ... end

Graph view over IR.

module Tid : sig ... end

Graph of Term identifiers.

OCaml

Innovation. Community. Security.