Want to write your own analysis? You probably want the Absint library. Backend is in charge of orchestrating the various analyses on a collection of procedures.

Some of the simplest analyses can be found in the Checkers library.


The frontends translate the source code to analyze into Infer's intermediate representation (see IR) to be analyzed by the backend.

There are two frontends:

See also AST Language, and TestDeterminators, which operate right after the frontends.


IStdlib groups non-Infer-specific modules, and IBase contains more Infer-specific modules that other Infer libraries need, usually depending on the IBase.Config module. Some datatypes and their accompanying utilities are defined in the ATDGenerated library.

Integrations and Infer executables

Integration ties the frontends and backend together, and deals with build system integrations.

You'll find the source code for the infer command-line interface and others in the infer/src/ directory.


List of all libraries.