Create a taint analysis from a specification

### Parameters

`TaintSpecification : InferModules.TaintSpec.S`

### Signature

`module TraceDomain = TaintSpecification.Trace`
`module TaintDomain = TaintSpecification.AccessTree`
`module Payload : sig ... end`
`module Domain = TaintDomain`
`type extras````=` `{`

`formal_map : InferModules.FormalMap.t;`
`summary : InferModules.Summary.t;`

`}```
`module TransferFunctions : functor (CFG : InferModules.ProcCfg.S) -> sig ... end`
`module HilConfig : InferModules.LowerHil.HilConfig`
`module Analyzer : sig ... end`
`val check_invariants : TaintDomain.t ‑> unit`
`val make_summary : extras InferModules.ProcData.t ‑> TaintDomain.t ‑> InferModules.QuandarySummary.AccessTree.t`
`val checker : InferModules.Callbacks.proc_callback_args ‑> InferModules.Summary.t`