ACM Home Page
Please provide us with feedback. Feedback
Abstract description of pointer data structures: an approach for improving the analysis and optimization of imperative programs
Full text PdfPdf (1.23 MB)
Source ACM Letters on Programming Languages and Systems (LOPLAS) archive
Volume 1 ,  Issue 3  (September 1992) table of contents
Pages: 243 - 260  
Year of Publication: 1992
ISSN:1057-4514
Authors
Joseph Hummel  Univ. of California, Irvine
Laurie J. Hendren  McGill Univ., Montreal, P.Q., Canada
Alexandru Nicolau  Univ. of California, Irvine
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 3,   Downloads (12 Months): 31,   Citation Count: 3
Additional Information:

abstract   references   cited by   index terms   review   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/151640.151644
What is a DOI?

ABSTRACT

Even though impressive progress has been made in the area of optimizing and parallelizing array-based programs, the application of similar techniques to programs using pointer data structures has remained difficult. Unlike arrays which have a small number of well-defined properties, pointers can be used to implement a wide variety of structures which exhibit a much larger set of properties. The diversity of these structures implies that programs with pointer data structures cannot be effectively analyzed by traditional optimizing and parallelizing compilers. In this paper we present a new approach that leads to the improved analysis and transformation of programs with recursively defined pointer data structures. Our approach is based on a mechanism for the Abstract Description of Data Structures (ADDS). ADDS is a simple extension to existing imperative languages that allows the programmer to explicitly describe the important properties of a large class of data structures. These abstract descriptions may be used by the compiler to achieve more accurate program analysis in the presence of pointers, which in turn enables and improves the application of numerous optimizing and parallelizing transformations. We present ADDS by describing various data structures; we discuss how such descriptions can be used to improve analysis and debugging; and we supply three important transformations enabled by ADDS.


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
2
 
3
 
4
5
 
6
APPEL, A.W. All efficient program for many-body simulation. SIAM J. Sci. Stat. Comput. 6, 1 (1985), 85-103.
7
 
8
 
9
 
10
BARNES, J., AND HUT, P. A hierarchical O(N log N) force-calculation algorithm. Nature 324 (Dec. 4, 1986), 446-449. Can be obtained from J. Barnes at the University of Hawaii.
11
12
 
13
CONVEX COMPUTER CORPORATION. CONVEX C and FORTRAN Language Reference Manuals. Convex Computer Corp., 1990.
 
14
DEUTSCH, A. A storeless model of aliasing and its abstractions using finite representations of right-regular equivalence relations. In Proceedings of the IEEE '92 International Conference on Computer Languages (Apr. 1992). IEEE, New York.
15
 
16
DONGARRA, J. J., AND HINDS, A. R. Unrolling loops in FORTRAN. Softw.-Pract. Exper. 9 (1979), 219-226.
 
17
18
 
19
 
20
HARRISON, W. a., III The interprocedural analysis and automatic parallelization of Scheme programs. Lisp Symb. Comput. 2, 3/4 (1989), 179-396.
 
21
 
22
 
23
HENDREN, L. J., AND GAO, G.R. Designing programming languages for analyzability: A fresh look at pointer data structures. In Proceedings of the 4th IEEE International Conference on Computer Languages (Apr. 1992). IEEE, New York.
 
24
25
26
27
 
28
HUMMEL, J., HENDREN, L. J., AND NICOLAU, A. Applying an abstract data structure description approach to parallelizing scientific pointer programs. In Proceedings of the 21st Annual International Conference on Parallel Processing, Volume H (Aug. 1992). 100-104.
29
 
30
 
31
I~NNEDY, K. Foreword. In Supercompilers for Parallel and Vector Computers, ACM Press, New York, 1990.
 
32
 
33
KUCK, D., BUDNIK, P., CHEN, S., LAWRIE, D., TOWLE, R., STREBENDT, R., DAVIS, E., HAN, J., KRASKA, P., AND MURAOKA, Y. Measurements of parallelism in ordinary FORTRAN programs. Computer 7, 1 (Jan. 1974), 37-46.
34
35
 
36
37
38
39
40
41
42
 
43
 
44
 
45
46
 
47
48
 
49
ZIMA, H., BAST, H-J., AND GERNDT, M. Superb: A tool for semi-automatic MIMD/SIMD parallelization. Parall. Comput. 6 (1988), 1-18.



REVIEW

"Benjamin Rayborn Seyfarth : Reviewer"

The authors discuss the inherent difficulties in optimizing programs with pointer data structures and present a mechanism for augmenting the syntax for pointer variable declarations with useful descriptive information. The primary   more...

Collaborative Colleagues:
Joseph Hummel: colleagues
Laurie J. Hendren: colleagues
Alexandru Nicolau: colleagues