Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Amme, W., Zehendner, E.: A/D Graphs - a Data Structure for Data Dependence Analysis in Programs with Pointers. In: Böszörme’nyi, L. (ed.) ACPC 1996. LNCS, vol. 1127, pp. 229–230. Springer, Heidelberg (1996)
Barpanda, S.S., Mohapatra, D.P.: Dynamic slicing of distributed object-oriented programs. IET Software 5(5), 425–433 (2011)
Cazorla, D., Cuartero, F., Ruiz, V.V., Pelayo, F.L.: A denotational model for probabilistic and nondeterministic processes. In: Lai, T.-H. (ed.) ICDCS Workshop on Distributed System Validation and Verification, pp. E41–E48 (2000)
Chen, P.-S., Hwang, Y.-S., Ju, R.D.-C., Lee, J.K.: Interprocedural probabilistic pointer analysis. IEEE Trans. Parallel Distrib. Syst. 15(10), 893–907 (2004)
Chiu, Y.-C., Shieh, C.-K., Huang, T.-C., Liang, T.-Y., Chu, K.-C.: Data race avoidance and replay scheme for developing and debugging parallel programs on distributed shared memory systems. Parallel Computing 37(1), 11–25 (2011)
El-Zawawy, M., Daoud, N.: New error-recovery techniques for faulty-calls of functions. Computer and Information Science 4(3) (May 2012)
El-Zawawy, M.A.: Semantic spaces in Priestley form. PhD thesis, University of Birmingham, UK (January 2007)
El-Zawawy, M.A.: Flow Sensitive-Insensitive Pointer Analysis Based Memory Safety for Multithreaded Programs. In: Murgante, B., Gervasi, O., Iglesias, A., Taniar, D., Apduhan, B.O. (eds.) ICCSA 2011, Part V. LNCS, vol. 6786, pp. 355–369. Springer, Heidelberg (2011)
El-Zawawy, M.A.: Probabilistic pointer analysis for multithreaded programs. ScienceAsia 37(4) (December 2011)
El-Zawawy, M.A.: Program optimization based pointer analysis and live stack-heap analysis. International Journal of Computer Science Issues 8(2) (March 2011)
El-Zawawy, M.A.: Dead code elimination based pointer analysis for multithreaded programs. Journal of the Egyptian Mathematical Society (January 2012), doi:10.1016/j.joems.2011.12.011
El-Zawawy, M.A., Jung, A.: Priestley duality for strong proximity lattices. Electr. Notes Theor. Comput. Sci. 158, 199–217 (2006)
El-Zawawy, M.A., Nayel, H.A.: Partial redundancy elimination for multi-threaded programs. IJCSNS International Journal of Computer Science and Network Security 11(10) (October 2011)
Guo, M.: Denotational semantics of an hpf-like data-parallel langguage model. Parallel Processing Letters 11(2/3), 363–374 (2001)
Hicks, J.: Experiences with compiler-directed storage reclamation. In: FPCA, pp. 95–105 (1993)
Seragiotto Jr., C., Fahringer, T.: Performance analysis for distributed and parallel java programs with aksum. In: CCGRID, pp. 1024–1031. IEEE Computer Society (2005)
Kamil, A., Yelick, K.A.: Hierarchical Pointer Analysis for Distributed Programs. In: Riis Nielson, H., Filé, G. (eds.) SAS 2007. LNCS, vol. 4634, pp. 281–297. Springer, Heidelberg (2007)
Liblit, B., Aiken, A.: Type systems for distributed data structures. In: POPL, pp. 199–213 (2000)
Liblit, B., Aiken, A., Yelick, K.A.: Type Systems for Distributed Data Sharing. In: Cousot, R. (ed.) SAS 2003. LNCS, vol. 2694, pp. 273–294. Springer, Heidelberg (2003)
Lindberg, P., Leingang, J., Lysaker, D., Khan, S.U., Li, J.: Comparison and analysis of eight scheduling heuristics for the optimization of energy consumption and makespan in large-scale distributed systems. The Journal of Supercomputing 59(1), 323–360 (2012)
Onbay, T.U., Kantarci, A.: Design and implementation of a distributed teleradiaography system: Dipacs. Computer Methods and Programs in Biomedicine 104(2), 235–242 (2011)
Park, C.-S., Sen, K., Hargrove, P., Iancu, C.: Efficient data race detection for distributed memory parallel programs. In: Lathrop, S., Costa, J., Kramer, W. (eds.) SC, p. 51. ACM (2011)
Rugina, R., Rinard, M.C.: Pointer analysis for multithreaded programs. In: PLDI, pp. 77–90 (1999)
Schwartz, J.S.: Denotational Semantics of Parallelism. In: Kahn, G. (ed.) Semantics of Concurrent Computation. LNCS, vol. 70, pp. 191–202. Springer, Heidelberg (1979)
Simmons, S., Edwards, D., Kearns, P.: Communication analysis of distributed programs. Scientific Programming 14(2), 151–170 (2006)
Toporkov, V.V.: Dataflow analysis of distributed programs using generalized marked nets. In: DepCoS-RELCOMEX, pp. 73–80. IEEE Computer Society (2007)
Truong, H.L., Fahringer, T.: Soft Computing Approach to Performance Analysis of Parallel and Distributed Programs. In: Cunha, J.C., Medeiros, P.D. (eds.) Euro-Par 2005. LNCS, vol. 3648, pp. 50–60. Springer, Heidelberg (2005)
Zhu, Y., Hendren, L.J.: Communication optimizations for parallel c programs. J. Parallel Distrib. Comput. 58(2), 301–332 (1999)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
El-Zawawy, M.A. (2012). Abstraction Analysis and Certified Flow and Context Sensitive Points-to Relation for Distributed Programs. In: Murgante, B., et al. Computational Science and Its Applications – ICCSA 2012. ICCSA 2012. Lecture Notes in Computer Science, vol 7336. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-31128-4_7
Download citation
DOI: https://doi.org/10.1007/978-3-642-31128-4_7
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-31127-7
Online ISBN: 978-3-642-31128-4
eBook Packages: Computer ScienceComputer Science (R0)