package mopsa
Install
dune-project
Dependency
Authors
Maintainers
Sources
md5=37966e98ffeebcedc09bd6e9b2b81f69
sha512=40d4d826c25f680766c07eccbabdf5e8a4fa023016e8a164e4e4f6b3781c8484dc4df437055721dfd19b9db8fb7fe3b61236c4833186d346fc7204a68d01eaaa
doc/mopsa.mopsa_analyzer/Mopsa_analyzer/Framework/Sig/Abstraction/Simplified/index.html
Module Abstraction.Simplified
Simplified 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.
Simplified manager
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.
Signature
module type SIMPLIFIED = sig ... end
Registration
val register_simplified_domain : (module SIMPLIFIED) -> unit
Register a new simplified domain
val find_simplified_domain : string -> (module SIMPLIFIED)
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