Module Absint

module AbstractDomain : sig ... end
module AbstractInterpreter : sig ... end
module AccessPath : sig ... end

Module for naming heap locations via the path used to access them (e.g., x.f.g, ya.b)

module AccessTree : sig ... end
module AnalysisCallbacks : sig ... end
module AnalysisState : sig ... end

State of symbolic execution

module AndroidFramework : sig ... end

Android lifecycle types and their lifecycle methods that are called by the framework

module Annotations : sig ... end

Annotations.

module Bindings : sig ... end
module CallSite : sig ... end
module ConcurrencyModels : sig ... end
module Decompile : sig ... end
module Errlog : sig ... end

Module for error logs.

module Exe_env : sig ... end

Execution environments are a means to get a function's type environment and integer widths and cache those

module ExplicitTrace : sig ... end
module FormalMap : sig ... end
module HilExp : sig ... end
module HilInstr : sig ... end
module IdAccessPathMapDomain : sig ... end

mapping of ids to raw access paths. useful for id-normalizing access paths

module InterproceduralAnalysis : sig ... end
module IntraproceduralAnalysis : sig ... end
module IssueLog : sig ... end
module IssueToReport : sig ... end
module Localise : sig ... end

Support for localisation

module LowerHil : sig ... end
module MemoryAccess : sig ... end
module MethodMatcher : sig ... end
module Mleak_buckets : sig ... end

This module handles buckets of memory leaks

module NoReturnModels : sig ... end
module NullsafeMode : sig ... end
module Passthrough : sig ... end
module PatternMatch : sig ... end

Module for Pattern matching.

module ProcCfg : sig ... end

Control-flow graph for a single procedure (as opposed to cfg.ml, which represents a cfg for a file). Defines useful wrappers that allows us to do tricks like turn a forward cfg to into a backward one, or view a cfg as having a single instruction per block

module ProcnameDispatcher : sig ... end
module Reporting : sig ... end

Type of functions to report issues to the error_log in a spec.

module Sanitizer : sig ... end
module Scheduler : sig ... end
module Sink : sig ... end
module SinkTrace : sig ... end
module Source : sig ... end
module SubtypingCheck : sig ... end
module TaintTrace : sig ... end
module TaintTraceElem : sig ... end
module TaskSchedulerTypes : sig ... end
module TransferFunctions : sig ... end

Transfer functions that push abstract states across instructions. A typical client should implement the Make signature to allow the transfer functions to be used with any kind of CFG.