skip to main content
10.1145/2426890.2426915acmconferencesArticle/Chapter ViewAbstractPublication PagespepmConference Proceedingsconference-collections
research-article

Constraint-based locality analysis for X10 programs

Published:21 January 2013Publication History

ABSTRACT

X10 is a HPC (High Performance Computing) programming language proposed by IBM for supporting a PGAS (Partitioned Global Address Space) programming model offering a shared address space. The address space can be further partitioned into several logical locations where objects and activities (or threads) will be dynamically created. An analysis of locations can help to check the safety of object accesses through exploring which objects and activities may reside in which locations, while in practice the objects and activities are usually designated at runtime and their locations may also vary under different environments. In this paper, we propose a constraint-based locality analysis method called Leopard for X10. Leopard calculates the points-to relations for analyzing the objects and activities in a program and uses a place constraint graph to analyze their locations.We have developed a tool to support Leopard, and conducted an experiment to evaluate its effectiveness and efficiency. The experimental results show that Leopard can calculate the locations of objects and activities precisely.

References

  1. S. Agarwal, R. Barik, V. K. Nandivada, R. K. Shyamasundar, and P. Varma. Static detection of place locality and elimination of runtime checks. In Programming Languages and Systems, 6th Asian Symposium, APLAS 2008, pages 53--74, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. S. Agarwal, R. Barik, V. Sarkar, and R. K. Shyamasundar. Mayhappen-in-parallel analysis of X10 programs. In Proceedings of the 12th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP 2007, pages 183--193, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. L. Andersen. Program analysis and specialization for the C programming language. DIKU report 94-19, University of Copenhagen, 1994.Google ScholarGoogle Scholar
  4. S. Chandra, V. A. Saraswat, V. Sarkar, and R. Bodík. Type inference for locality analysis of distributed data structures. In Proceedings of the 13th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP 2008, pages 11--22, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. J.-D. Choi, M. Burke, and P. Carini. Efficient flow-sensitive interprocedural computation of pointer-induced aliases and side effects. In Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, pages 232--245, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. M. Emami, R. Ghiya, and L. J. Hendren. Context-sensitive interprocedural points-to analysis in the presence of function pointers. In Proceedings of the ACM SIGPLAN 1994 Conference on Programming Language Design and Implementation, pages 242--256, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. J. S. Foster, M. Fähndrich, and A. Aiken. Polymorphic versus monomorphic flow-insensitive points-to analysis for C. In Proceedings of the 7th International Symposium on Static Analysis, pages 175--198, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. B. Hardekopf and C. Lin. Semi-sparse flow-sensitive pointer analysis. In Proceedings of the 36th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 226--238, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. M. Hind. Pointer analysis: haven't we solved this problem yet? In Proceedings of the 2001 ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering, pages 54--61, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. M. Hind, M. Burke, P. Carini, and J. deok Choi. Interprocedural pointer alias analysis. ACM Transactions on Programming Languages and Systems, 21(4):848--894, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. V. Kahlon. Bootstrapping: a technique for scalable flow and contextsensitive pointer alias analysis. In Proceedings of the ACM SIGPLAN 2008 conference on Programming Language Design and Implementation, pages 249--259, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. W. Landi, B. G. Ryder, and S. Zhang. Interprocedural modification side effect analysis with pointer aliasing. In Proceedings of the ACM SIGPLAN 1993 Conference on Programming Language Design and Implementation, pages 56--67, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. O. Lhoták and L. J. Hendren. Scaling java points-to analysis using SPARK. In Proceedings of the 12th International Conference on Compiler Construction, pages 153--169, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. O. Lhotak and L. J. Hendren. Context-sensitive points-to analysis: is it worth it? In Proceedings of the 15th International Conference on Compiler Construction, pages 47--64, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. A. Milanova, A. Rountev, and B. G. Ryder. Parameterized object sensitivity for points-to analysis for Java. ACM Transactions on Software Engineering and Methodology, 14:1--41, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. T. W. Reps. Program analysis via graph reachability. Information & Software Technology, 40(11-12):701--726, 1998.Google ScholarGoogle ScholarCross RefCross Ref
  17. B. Steensgaard. Points-to analysis in almost linear time. In Proceedings of the 23rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 32--41, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. WALA. http://wala.sourceforge.net/wiki/index.php/Main Pagev.Google ScholarGoogle Scholar
  19. J. Whaley and M. S. Lam. Cloning-based context-sensitive pointer alias analysis using binary decision diagrams. In Proceedings of the ACM SIGPLAN 2004 Conference on Programming Language Design and Implementation, pages 131--144, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. J. Whaley and M. Rinard. Compositional pointer and escape analysis for Java programs. In Proceedings of the 14th Annual ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications, pages 187--206, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. R. Wilson and M. S. Lam. Efficient context-sensitive pointer analysis for C programs. In Proceedings of the ACM SIGPLAN 1995 Conference on Programming Language Design and Implementation, pages 1--12, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. X10. http://x10.codehaus.org/.Google ScholarGoogle Scholar
  23. K. A. Yelick, D. Bonachea, W.-Y. Chen, P. Colella, K. Datta, J. Duell, S. L. Graham, P. Hargrove, P. N. Hilfinger, P. Husbands, C. Iancu, A. Kamil, R. Nishtala, J. Su,M. L.Welcome, and T.Wen. Productivity and performance using partitioned global address space languages. In Proceedings of the International Workshop on Parallel Symbolic Computation, pages 24--32, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. H. Yu, J. Xue,W. Huo, X. Feng, and Z. Zhang. Level by level: making flow- and context-sensitive pointer analysis scalable for millions of lines of code. In Proceedings of the 8th International Symposium on Code Generation and Optimization, pages 218--229, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Constraint-based locality analysis for X10 programs

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in
            • Published in

              cover image ACM Conferences
              PEPM '13: Proceedings of the ACM SIGPLAN 2013 workshop on Partial evaluation and program manipulation
              January 2013
              162 pages
              ISBN:9781450318426
              DOI:10.1145/2426890

              Copyright © 2013 ACM

              Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 21 January 2013

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • research-article

              Acceptance Rates

              PEPM '13 Paper Acceptance Rate13of29submissions,45%Overall Acceptance Rate66of120submissions,55%
            • Article Metrics

              • Downloads (Last 12 months)0
              • Downloads (Last 6 weeks)0

              Other Metrics

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader