Abstract
Two high-level pointer operations, rotation and slide, reduce conceptual difficulties when writing pointer programs and increase the reliability of programs. We analyze theoretically as well as empirically why these operations are more convenient and introduce a mechanically checkable notion of the safety of rotations. Several examples show that safety is a good indication of program correctness. Examples of list marking and list copying programs demonstrate the utility of these operations.
- 1 Deutsch, L.P., and Bobrow, D.G. An efficient, incremental, automatic garbage collector. Comm. ACM 19, 9 (Sept. 1976), 522- 526. Google ScholarDigital Library
- 2 Dijkstra, E.W. A Discipline of Programming, Prentice-Hall, Engelwood Cliffs, N J, 1976. Google ScholarDigital Library
- 3 Gries, D. The multiple assignment statement. IEEE Trans. on Software Eng. SE-4, 2(March 1978), 89-93.Google ScholarDigital Library
- 4 Jensen, K., and Wirth, N. PASCAL User Manual and Report, Springer-Verlag, New York, 1978. Google ScholarDigital Library
- 5 Robson, J.M. A bounded storage algorithm for copying cyclic structures. Comm. A CM 20, 6 (June 1977), 431-433. Google ScholarDigital Library
- 6 Schorr, H., and Waite, W.M. An efficient machine-independent procedure for garbage collection in various list structures. Comm. ACM 10, 8 (Aug. 1967), 501-506. Google ScholarDigital Library
Index Terms
- Analysis of pointer “rotation”
Recommendations
Analysis of pointer rotation
POPL '80: Proceedings of the 7th ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPointer manipulation is one of the trickiest operations in programming and is a major source of programming errors. A great deal of research effort has been dedicated to making programs with pointers more reliable. In this paper we will present pointer ...
Interprocedural pointer alias analysis
We present practical approximation methods for computing and representing interprocedural aliases for a program written in a language that includes pointers, reference parameters, and recursion. We present the following contributions: (1) a framework ...
Comments