Abstract interpretation
abstract interpretation
theory
a partial execution of a program which gains information about its semantics (e.g. control structure, flow of information) without performing all the calculations. abstract interpretation is typically used by compilers to -n-lyse programs in order to decide whether certain optimisations or transformations are applicable.
the objects manipulated by the program (typically values and functions) are represented by points in some domain. each abstract domain point represents some set of real (“concrete”) values.
for example, we may take the abstract points “+”, “0” and “-” to represent positive, zero and negative numbers and then define an abstract version of the multiplication operator, -#, which operates on abstract values:
-# | + 0 – —|—— + | + 0 – 0 | 0 0 0 – | – 0 +
an interpretation is “safe” if the result of the abstract operation is a safe approximation to the abstraction of the concrete result. the meaning of “a safe approximation” depends on how we are using the results of the -n-lysis.
if, in our example, we -ssume that smaller values are safer then the “safety condition” for our interpretation (#) is
a# -# b# where a# is the abstract version of a etc.
in general an interpretation is characterised by the domains used to represent the basic types and the abstract values it -ssigns to constants (where the constants of a language include primitive functions such as -). the interpretation of constructed types (such as user defined functions, sum types and product types) and expressions can be derived systematically from these basic domains and values.
a common use of abstract interpretation is strictness -n-lysis.
see also standard interpretation.
(1994-11-08)
Read Also:
- Abstract machine
abstract machine 1. a processor design which is not intended to be implemented as hardware, but which is the notional executor of a particular intermediate language (abstract machine language) used in a compiler or interpreter. an abstract machine has an instruction set, a register set and a model of memory. it may provide instructions which […]
- Abstract music
. historical examples as a piece of abstract music, the movement appears long, but not if the dramatic situation be kept well in mind. the pianoforte sonata j.s. shedlock this is the only one of the sonatas which, as abstract music, would be satisfactory without any programme. the pianoforte sonata j.s. shedlock
- Abstract machine notation
abstract machine notation language (amn) a language for specifying abstract machines in the b-method, based on the mathematical theory of generalised subst-tutions. (1995-03-13)
- Abstract number
a number that does not designate the quant-ty of any particular kind of thing. historical examples and t must be, not a sum of concrete goods, but a sum of abstract numbers, and so itself an abstract number. the value of money benjamin m. anderson, jr.
- Abstract of title
an outline history of the t-tle to a parcel of real estate, showing the original grant, subsequent conveyances, mortgages, etc. noun (property law) a summary of the ownership of land, showing the original grant, conveyances, and any inc-mbrances