In computer science, abstract interpretation is a theory of sound approximation of the semantics of computer programs, based on monotonic functions over ordered sets, especially lattices. It can be viewed as a partial execution of a computer program which gains information about its semantics (e.g. control-flow, data-flow) without performing all the calculations.
Its main concrete application is formal static analysis, the automatic extraction of information about the possible executions of computer programs; such analyses have two main usages:
- inside compilers, to analyse programs in order to decide whether certain optimizations or transformations are applicable;
- for debugging or even the certification of programs against classes of bugs.
Abstract interpretation was formalized by Patrick Cousot and Radhia Cousot in the late 70s.
Read more about Abstract Interpretation: Intuition, Abstract Interpretation of Computer Programs, Formalization, Examples of Abstract Domains, Tools
Famous quotes containing the word abstract:
“What persuades men and women to mistake each other from time to time for gods or vermin is ideology. One can understand well enough how human beings may struggle and murder for good material reasonsreasons connected, for instance, with their physical survival. It is much harder to grasp how they may come to do so in the name of something as apparently abstract as ideas. Yet ideas are what men and women live by, and will occasionally die for.”
—Terry Eagleton (b. 1943)