This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.
<!DOCTYPE html>
<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>infer (infer.infer)</title><linkrel="stylesheet"href="../odoc.css"/><metacharset="utf-8"/><metaname="generator"content="odoc 1.5.0"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><scriptsrc="../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><divclass="content"><header><nav><ahref="index.html">Up</a>–<ahref="index.html">infer</a>» infer</nav><h1id="infer"><ahref="#infer"class="anchor"></a>Infer</h1><navclass="toc"><ul><li><ahref="#backend">Backend</a></li><li><ahref="#frontends">Frontends</a></li><li><ahref="#utilities">Utilities</a></li><li><ahref="#integrations-and-infer-executables">Integrations and Infer executables</a></li><li><ahref="#index">Index</a></li></ul></nav></header><h2id="backend"><ahref="#backend"class="anchor"></a>Backend</h2><p>Want to write your own analysis? You probably want the <ahref="Absint.html">Absint</a> library. <ahref="Backend.html">Backend</a> is in charge of orchestrating the various analyses on a collection of procedures.</p><p>Some of the simplest analyses can be found in the <ahref="Checkers.html">Checkers</a> library.</p><h2id="frontends"><ahref="#frontends"class="anchor"></a>Frontends</h2><p>The frontends translate the source code to analyze into Infer's intermediate representation (see <ahref="IR.html">IR</a>) to be analyzed by the backend.</p><p>There are two frontends:</p><ul><li><ahref="ClangFrontend.html">Clang</a></li><li><ahref="JavaFrontend.html">Java</a></li></ul><p>See also <ahref="ASTLanguage.html">AST Language</a>, and <ahref="TestDeterminators.html">TestDeterminators</a>, which operate right after the frontends.</p><h2id="utilities"><ahref="#utilities"class="anchor"></a>Utilities</h2><p><ahref="IStdlib.html">IStdlib</a> groups non-Infer-specific modules, and <ahref="IBase.html">IBase</a> contains more Infer-specific modules that other Infer libraries need, usually depending on the <ahref="IBase/Config/index.html"><code>IBase.Config</code></a> module. Some datatypes and their accompanying utilities are defined in the <ahref="ATDGenerated.html">ATDGenerated</a> library.</p><h2id="integrations-and-infer-executables"><ahref="#integrations-and-infer-executables"class="anchor"></a>Integrations and Infer executables</h2><p><ahref="Integration.html">Integration</a> ties the frontends and backend together, and deals with build system integrations.</p><p>You'll find the source code for the <code>infer</code> command-line interface and others in the <ahref="https://github.com/facebook/infer/blob/master/infer/src/">infer/src/</a> directory.</p><h2id="index"><ahref="#index"class="anchor"></a>Index</h2><p><ahref="index.html">List of all libraries.</a></p></div></body></html>