10.5555/370049.370456acmconferencesArticle/Chapter ViewAbstractPublication PagesscConference Proceedings
Article

A tool framework for static and dynamic analysis of object-oriented software with templates

ABSTRACT

The developers of high-performance scientific applications often work in complex computing environments that place heavy demands on program analysis tools. The developers need tools that interoperate, are portable across machine architectures, and provide source-level feedback. In this paper, we describe a tool framework, the Program Database Toolkit (PDT), that supports the development of program analysis tools meeting these requirements. PDT uses compile-time information to create a complete database of high-level program information that is structured for well-defined and uniform access by tools and applications. PDT's current applications make heavy use of advanced features of C++, in particular, templates. We describe the toolkit, focussing on its most important contribution-its handling of templates-as well as its use in existing applications.

References

  1. 1.J. S. Adamczyk and J. H. Spicer. Template Instantiation in the EDG C++ Front End. Edison Design Group Technical Report, 1995.Google ScholarGoogle Scholar
  2. 2.Advanced Computing Laboratory/LANL. ACL Research. http://www.acl.lanl.gov/research/, 1999.Google ScholarGoogle Scholar
  3. 3.Advanced Computing Laboratory/LANL. PDT: Program Database Toolkit. http:// www.acl.lanl.gov/pdtoolkit/, 1999.Google ScholarGoogle Scholar
  4. 4.Advanced Computing Laboratory/LANL. PDT: Program Database Toolkit. Supercomputing '99 flyer, Los Alamos National Laboratory Publication, LALP-99-204, November 1999.Google ScholarGoogle Scholar
  5. 5.Advanced Computing Laboratory/LANL. POOMA: Parallel Object-Oriented Methods and Applications. http://www.acl.lanl.gov/pooma/, 1999.Google ScholarGoogle Scholar
  6. 6.ASC X3. International Standard: Programming Languages - C++. ISO/IEC 14882. Information Technology Council (ITI), 1998.Google ScholarGoogle Scholar
  7. 7.J. S. Auerbach and J. R. Russell. The Concert Signature Representation: IDL as Intermediate Language. SIGPLAN Notices, vol. 29, no. 8, pp. 1-12, August 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 8.D. M. Beazley. SWIG: Simplified Wrapper and Interface Generator. http://www.swig.org/, 1998.Google ScholarGoogle Scholar
  9. 9.F. Bodin, P. Beckman, D. Gannon, S. Narayana, S. Srinivas, and B. Winnicka. Sage++: A Class Library for Building Fortran 90 and C++ Restructuring Tools. Proceedings OONSKI94, the Second Annual Object-Oriented Numerics Conference, pp. 122-138, April 1994.Google ScholarGoogle Scholar
  10. 10.R. E. Crew. ASTLOG: A Language for Examining Abstract Syntax Trees. Proceedings of the Conference on Domain-Specific Languages, pp. 229-242, October 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. 11.A. Duncan, B. Cocosel, C. Iancu, H. Kienle, R. Rugina, U. Hoelzle, and M. Rinard. OSUIF: SUIF 2.0 with Objects. Second SUIF Compiler Workshop, August 1997.Google ScholarGoogle Scholar
  12. 12.Edison Design Group. Compiler Front Ends for the OEM Market. http://www.edg.com/, 1998- 1999.Google ScholarGoogle Scholar
  13. 13.Kuck & Associates, Inc. KAI. http:// www.kai.com/, 1999.Google ScholarGoogle Scholar
  14. 14.K. Lindlan, J. Cuny, A. D. Malony, S. Shende, and P. Beckman. An IL Converter and Program Database for Analysis Tools. Proceedings of 2nd SIGMETRICS Symposium on Parallel and Distributed Tools, p. 153, August 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. 15.Mutek. Fortran 90 Front End Documentation. http://www.mutek.com/, 1999.Google ScholarGoogle Scholar
  16. 16.R. D. Rivenburgh, C. E. Rasmussen, K. A. Lindlan, B. Mohr, and P. H. Beckman. Automatic Generation of Perl Extensions to C++ and Fortran 90 Class Libraries. O'Reilly Open Source Software Convention, July 2000.Google ScholarGoogle Scholar
  17. 17.S. Shende, A.D. Malony, J. Cuny, K. Lindlan, P. Beckman, and S. Karmesin. Portable Profiling and Tracing for Parallel, Scientific Applications Using C++. Proceedings of 2nd SIGMETRICS Symposium on Parallel and Distributed Tools, pp. 134-145, August 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. 18.B. Stroustrup. The C++ Programming Language, Third Edition. Addison-Wesley, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. 19.M. A. Weiss. Data Structures and Algorithm Analysis in C++. Benjamin Cummings, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. 20.R. Wilson, R. French, C. Wilson, S. Amarasinghe, J. Anderson, S. Tjiang, S.-W. Liao, C.-W. Tseng, M. Hall, M. Lam, and J. Hennessey. SUIF: An Infrastructure for Research on Parallelizing and Optimizing Compilers. ACM SIG- PLAN Notices, vol. 29. no. 12, pp. 31-37, December 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A tool framework for static and dynamic analysis of object-oriented software with templates

                  Comments

                  Login options

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

                  Sign in

                  PDF Format

                  View or Download as a PDF file.

                  PDF

                  eReader

                  View online with eReader.

                  eReader
                  About Cookies On This Site

                  We use cookies to ensure that we give you the best experience on our website.

                  Learn more

                  Got it!