Abstraction.SimplifiedSourceSimplified domains
The signature SIMPLIFIED provides a minimal interface to implement abstract domains that don't require communication with other domains. This is particularly useful for abstractions that are at the leaves of the abstraction DAG.
Lattice operations and transfer functions operate on the abstract element of the domain without being able to access to the top-level abstraction. The manager is therefore not accessible, only a simplified version is provided that can be used to perform queries on the pre-state.
type ('a, 't) simplified_man = {exec : Core.All.stmt -> 't;execute a statement on the pre-state
*)ask : 'r. ('a, 'r) Core.All.query -> 'r;ask a query on the pre-state
*)}Simplified managers provide access to the pre-state and can be used to perform queries or execute statements.
Register a new simplified domain
Find a simplified domain by its name. Raise Not_found if no domain is found
mem_simplified_domain name checks whether a simplified domain with name name is registered
Return the names of registered simplified domains