Abstraction Analysis and Certified Flow and Context Sensitive Points-to Relation for Distributed Programs

El-Zawawy, M. A., "Abstraction Analysis and Certified Flow and Context Sensitive Points-to Relation for Distributed Programs", 12th International Conference Computational Science and Its Applications, ICCSA 2012, Salvador de Bahia, Brazil, June 18-21, 2012, Proceedings, Part IV, ICCSA (4), Lecture Notes in Computer Science, vol. 7336: Springer, pp. 83-99, 2012.


This paper presents a new technique for pointer analysis of distributed programs executed on parallel machines with hierarchical memories. One motivation for this research is the languages whose global address space is partitioned. Examples of these languages are Fortress, X10, Titanium, Co-Array Fortran, UPC, and Chapel. These languages allow programmers to adjust threads and data layout and to write to and read from memories of other threads. The techniques presented in this paper have the form of type systems which are simply structured. The proposed technique is shown on a language which is the while langauge enriched with basic commands for pointer manipulations and also enriched with commands vital for distributed execution of programs. An abstraction analysis that for a given statement calculates the set of function abstractions that the statement may evaluate-to is introduced in this paper. The abstraction analysis is needed in the proposed pointer analysis. The mathematical soundness of all techniques presented in this paper are discussed. The soundness is proved against a new operational semantics presented in this paper. Our work has two advantages over related work. In our technique, each analysis result is associated with a correctness proof in the form of type derivation. The hierarchical memory model used in this paper is in line with the hierarchical character of concurrent parallel computers.