|
ABSTRACT
Traditionally, the theory of abstract interpretation has concentrated on the study of when one interpretation is sound (also safe or correct) with respect to another. We consider the dual notion of when one interpretation is complete with respect to another. Under the usual formulation of abstract interpretation, undecidability in general implies that a finitely computable sound abstraction of the standard interpretation is not complete. (For example, if we simplify 643 * (-192) to (+) * (-) using the “rule of signs” we cannot expect to retrieve -123456 from the resulting (1), even though we are certain that the result is negative.) Based on the idea that compilers can only depend on a finite number of program properties, we augment interpretations with predicate symbols specifying properties of interest (thereby replacing algebraic interpretations with logic interpretations). Interpretation J being sound (resp. complete) with respect to I is now phrased as “all questions (formulae) yielding true for J (resp. I) also yield true for I (resp. J)”.
The traditional “rule of signs” turns out to be sound and complete for multiplication but only sound for addition.
Sometimes abstract interpretations have spurious domain elements. The state minimisation algorithm for finite deterministic automata can be used to produce a canonical (simplest) abstract interpretation which is sound and complete with respect to any given finite abstract interpretation but possibly simpler to compute.
A homomorphism always yields a sound and complete abstraction. Moreover, we show that a sound and complete abstraction map is not necessarily a homomorphism, but its composition with the natural map to the canonical interpretation is a homomorphism,
One side-effect of our formulation of abstract interpretation is that it de-emphasises the ordering on the abstract domain which is relegated to an (optional) proof basis.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Abramsky, S. Abstract interpretation, logical relations and Kan extensions. Journal of logic and computation, vol. 1 (1), 1990.
|
| |
2
|
|
 |
3
|
Patrick Cousot , Radhia Cousot, Inductive definitions, semantics and abstract interpretations, Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.83-94, January 19-22, 1992, Albuquerque, New Mexico, United States
[doi> 10.1145/143165.143184]
|
| |
4
|
|
| |
5
|
Cousot, P. and Cousot, R. Abstract Interpretation Frameworks. Journal o} Logic and Computation, vol. 2:4, 1992.
|
| |
6
|
Ernoult, C. and Mycroft, A. Untyped strictness analysis, Journal of Functional Programming, to appear. Draft version appears as technical report 269, Cambridge University Computer Laboratory.
|
 |
7
|
|
| |
8
|
Hunt, L.S. P EI~s generalise projections for strictness analysis. Departmental report DOC 90/14, Dept. of Computing, Imperial College, London, 1990
|
| |
9
|
|
| |
10
|
|
| |
11
|
Nielson, F. Ab.,~tract interpretation using domain theory. Ph.D. thesis, Edinburgh University, 1984. Available as computer science report CST-31-84.
|
| |
12
|
|
| |
13
|
Reddy, U.S. and Kamin, S.N. On the power of abstract interpretation. Proc. IEEE International Conference on Computer Languages, IEEE press, 1992.
|
 |
14
|
R. C. Sekar , Prateek Mishra , I. V. Ramakrishnan, On the power and limitation of strictness analysis based on abstract interpretation, Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.37-48, January 21-23, 1991, Orlando, Florida, United States
[doi> 10.1145/99583.99591]
|
| |
15
|
|
| |
16
|
Steffen, B., Jay, C.B. and Mendler, M. Compositional characterisation of program properties. Informatique thgorique et Applications (AFCET), vol. 26, 1992.
|
| |
17
|
|
CITED BY 7
|
|
|
|
|
|
Agostino Cortesi , Baudouin Le Charlier , Pascal Van Hentenryck, Combinations of abstract domains for logic programming, Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.227-239, January 16-19, 1994, Portland, Oregon, United States
|
|
|
|
|
|
|
|
|
Peer to Peer - Readers of this Article have also read:
-
Data structures for quadtree approximation and compression
Communications of the ACM
28, 9
Hanan Samet
-
A hierarchical single-key-lock access control using the Chinese remainder theorem
Proceedings of the 1992 ACM/SIGAPP Symposium on Applied computing
Kim S. Lee
, Huizhu Lu
, D. D. Fisher
-
The GemStone object database management system
Communications of the ACM
34, 10
Paul Butterworth
, Allen Otis
, Jacob Stein
-
Putting innovation to work: adoption strategies for multimedia communication systems
Communications of the ACM
34, 12
Ellen Francik
, Susan Ehrlich Rudman
, Donna Cooper
, Stephen Levine
-
An intelligent component database for behavioral synthesis
Proceedings of the 27th ACM/IEEE Design Automation Conference on
Gwo-Dong Chen
, Daniel D. Gajski
|