|
ABSTRACT
Traditional optimization techniques for sequential programs are not directly applicable to parallel programs where concurrent activities may interfere with each other through shared variables. New compiler techniques must be developed to accommodate features found in parallel languages. In this paper, we use abstract interpretation to obtain useful properties of programs, e.g., side effects, data dependences, object lifetime and concurrent expressions, for a language that supports first-class functions, pointers, dynamic allocations and explicit parallelism through cobegin. These analyses may facilitate many applications, such as program optimization, parallelization, restructuring, memory management, and detecting access anomalies.
Our semantics is based on a labeled transition system and is instrumented with procedure strings to record the procedural/concurrency movement along the program interpretation. We develop analyses in both concrete domains and abstract domains, and prove the correctness and termination of the abstract interpretation.
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.
| |
BHA86
|
|
| |
Bur87
|
G. L. Burn. Abstract Interpretation and the Parallel Evaluation of Functional Languages. PhD thesis, University of London, 1987.
|
 |
CC77
|
|
| |
Cyt86
|
Ron Cytron. On the implications of Parallel Languages for Compilers. Technical Report RC- 11723, IBM T.J. Watson Research Center, April 1986.
|
 |
Deu90
|
|
| |
HA89
|
|
| |
Har89
|
Williams Ludwell Harrison IIi. The Interprocodural Analysis and Automatic Parallelization of Scheme Programs. Lisp and Symbolic Computation: an International Journal, 2(3/4):179-396, 1989.
|
| |
Har91
|
Williams Ludwell Harrison III. Semantic Analysis of Symbolic Programs for Automatic Parallelization. book in preparation, 1991.
|
 |
HPR89
|
S. Horwitz , P. Pfeiffer , T. Reps, Dependence analysis for pointer variables, Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation, p.28-40, June 19-23, 1989, Portland, Oregon, United States
|
| |
Hud87
|
Paul Hudak. A Semantic Model of Reference Counting and its Abstraction. In S. Abramsky and C. Hankin, editors, Abstract Interpretation of Declarative Languages. Ellis Horwood Limited, 1987.
|
| |
McD89
|
|
| |
Mer91
|
|
 |
MH89
|
|
| |
MP90
|
S.P. Midkiff and D.A. Padua. Issues in the Optimization of Parallel Programs. In International Conference on Parallel Processing. Vol H Software, pages 105-113, 1990.
|
| |
MPC90
|
|
 |
Nie87
|
|
 |
NPD87
|
|
| |
Rat90
|
C. Rattray, editor. Specification and Verification of Concurrent Systems, Workshops in Computing. Springer-Voting, 1990.
|
 |
Ros89
|
|
| |
RS90
|
|
 |
SS88
|
|
 |
Tay83
|
|
| |
Val89
|
|
CITED BY 12
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
M. C. Rinard , D. J. Scales , M. S. Lam, Heterogeneous parallel programming in Jade, Proceedings of the 1992 ACM/IEEE conference on Supercomputing, p.245-256, November 16-20, 1992, Minneapolis, Minnesota, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|