You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2 lines
3.4 KiB

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>InferModules__TransferFunctions (infer.InferModules__TransferFunctions)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc %%VERSION%%"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../index.html">infer</a> &#x00BB; InferModules__TransferFunctions</nav><h1>Module <code>InferModules__TransferFunctions</code></h1><p>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.</p></header><div class="spec module-type" id="module-type-S"><a href="#module-type-S" class="anchor"></a><code><span class="keyword">module</span> <span class="keyword">type</span> <a href="module-type-S/index.html">S</a> = <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><div class="spec module-type" id="module-type-SIL"><a href="#module-type-SIL" class="anchor"></a><code><span class="keyword">module</span> <span class="keyword">type</span> <a href="module-type-SIL/index.html">SIL</a> = <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><div class="spec module-type" id="module-type-HIL"><a href="#module-type-HIL" class="anchor"></a><code><span class="keyword">module</span> <span class="keyword">type</span> <a href="module-type-HIL/index.html">HIL</a> = <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><div class="spec module-type" id="module-type-DisjunctiveConfig"><a href="#module-type-DisjunctiveConfig" class="anchor"></a><code><span class="keyword">module</span> <span class="keyword">type</span> <a href="module-type-DisjunctiveConfig/index.html">DisjunctiveConfig</a> = <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><div class="spec module-type" id="module-type-DisjReady"><a href="#module-type-DisjReady" class="anchor"></a><code><span class="keyword">module</span> <span class="keyword">type</span> <a href="module-type-DisjReady/index.html">DisjReady</a> = <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><dl><dt class="spec module" id="module-MakeDisjunctive"><a href="#module-MakeDisjunctive" class="anchor"></a><code><span class="keyword">module</span> <a href="MakeDisjunctive/index.html">MakeDisjunctive</a> : <span class="keyword">functor</span> (<a href="MakeDisjunctive/argument-1-TransferFunctions/index.html">TransferFunctions</a> : <a href="index.html#module-type-DisjReady">DisjReady</a>) <span>&#45;&gt;</span> <span class="keyword">functor</span> (<a href="MakeDisjunctive/argument-2-DConfig/index.html">DConfig</a> : <a href="index.html#module-type-DisjunctiveConfig">DisjunctiveConfig</a>) <span>&#45;&gt;</span> <span class="keyword">sig</span> ... <span class="keyword">end</span></code></dt><dd><p>In the disjunctive interpreter, the domain is a set of abstract states representing a disjunction between these states. The transfer functions are executed on each state in the disjunct independently. The join on the disjunctive state is governed by the policy described in <code>DConfig</code>.</p></dd></dl></div></body></html>