Module IBase

module AnalysisRequest : sig ... end
module BuckMode : sig ... end
module Checker : sig ... end
module CommandDoc : sig ... end
module CommandLineOption : sig ... end

Definition and parsing of command line arguments

module Concurrent : sig ... end
module Config : sig ... end

Configuration values: either constant, determined at compile time, or set at startup time by system calls, environment variables, or command line options

module CostIssues : sig ... end
module CostIssuesTestField : sig ... end
module CostKind : sig ... end
module DB : sig ... end

Database of analysis results

module DBWriter : sig ... end
module DBWriterCommand : sig ... end
module DBWriterDomain : sig ... end
module DBWriterProcess : sig ... end
module DBWriterS : sig ... end
module Database : sig ... end
module Die : sig ... end
module DomainPool : sig ... end

Pool of domain workers that can both receive tasks from the orchestrator process and start doing tasks on their own. A shared concurrent queue is used for updates from workers and a concurrent queue per worker is used for sending commands to the worker.

module Epilogues : sig ... end
module Exception : sig ... end

The restart scheduler uses exceptions for control flow (restarts/timeouts respectively). Functions here abstract away the semantics of when an exception can be ignored.

module ExecutionDuration : sig ... end
module FileDiff : sig ... end
module ForkUtils : sig ... end
module IssueType : sig ... end
module IssuesTestField : sig ... end
module Language : sig ... end
module LineReader : sig ... end

Module to read specific lines from files. The data from any file will stay in memory until the handle is collected by the gc

module Location : sig ... end
module LogEntry : sig ... end

Log entry data model.

module Logging : sig ... end

log messages at different levels of verbosity

module MarkupFormatter : sig ... end
module MissingDependencyException : sig ... end
module PayloadId : sig ... end
module PerfEvent : sig ... end
module Process : sig ... end
module ProcessPool : sig ... end

Pool of parallel workers that can both receive tasks from the orchestrator process and start doing tasks on their own. Unix pipes are used for communication, all while refreshing a task bar periodically.

module RestartSchedulerException : sig ... end
module ResultsDir : sig ... end
module ResultsDirEntryName : sig ... end

Entries in the results directory (infer-out/).

module SourceFile : sig ... end
module SqliteUtils : sig ... end
module Stats : sig ... end

collect statistics about backend/analysis operations

module StatsLogging : sig ... end

The two most important fields are "event" and "value". Other fields in the table correspond to things common for this particular run of Infer.

module StatsSample : sig ... end
module TaskBar : sig ... end
module TaskGenerator : sig ... end
module Timeable : sig ... end
module Timer : sig ... end

Time long-running operations listed in Timeable under a timeout

module Timings : sig ... end
module ToplAst : sig ... end
module ToplLexer : sig ... end
module ToplParser : sig ... end
module Utils : sig ... end
module Version : sig ... end
module WorkerPoolState : sig ... end