{0 Infer}

{1 Backend}

Want to write your own analysis? You probably want the
{{:Absint.html}Absint} library. {{:Backend.html}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.html} Checkers} library.

{1 Frontends}

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

There are two frontends:
- {{:ClangFrontend.html} Clang}
- {{:JavaFrontend.html} Java}

See also {{:ASTLanguage.html} AST Language}, and
{{:TestDeterminators.html} TestDeterminators}, which operate right
after the frontends.

{1 Utilities}

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

{1 Integrations and Infer executables}

{{:Integration.html} 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
{{:https://github.com/facebook/infer/blob/master/infer/src/}infer/src/}
directory.

{1 Index}

{{:index.html}List of all libraries.}