skip to main content
10.1145/379605.379668acmconferencesArticle/Chapter ViewAbstractPublication PagespasteConference Proceedingsconference-collections
Article

Program analysis for safety guarantees in a Java virtual machine written in Java

Published:01 June 2001Publication History

ABSTRACT

In this paper, we report on our experiences with guaranteeing GC-pointer safety when using unsafe low-level language extensions to implement a JVM in Java. We give an overview of the original unsafe language extensions that were defined for use by Jalapeño implementers, and introduce sanitized replacements that capture common idioms while also guaranteeing GC-pointer safety. We also outline some simple static and dynamic checks for correct usage of low-level operations, and examine how code containing low-level operations can be optimized correctly and effectively.

References

  1. 1.B. Alpern, C. R. Attanasio, J. J. Barton, M. G. Burke, P. Cheng, J.-D. Choi, A. Cocchi, S. J. Fink, D. Grove, M. Hind, S. F. Hummel, D. Lieber, V. Litvinov, M. F. Mergen, T. Ngo, J. R. Russell, V. Sarkar, M. J. Serrano, J. C. Shepherd, S. E. Smith, V. C. Sreedhar, H. Srinivasan, and J. Whaley. The Jalapeno virtual machine. IBM Systems Journal, 39(1), 2000.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 2.B. Alpern, D. Attanasio, J. J. Barton, A. Cocchi, D. Lieber, S. Smith, and T. Ngo. Implementing Jalapeno in Java. In ACM Conference on Object-Oriented Programming Systems, Languages, and Applications, pages 314-324, 1999.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3.M. Arnold, S. Fink, D. Grove, M. Hind, and P. Sweeney. Adaptive optimization in the Jalapeno JVM. In ACM Conference on Object-Oriented Programming Systems, Languages, and Applications, Oct. 2000.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 4.M. G. Burke, J.-D. Choi, S. Fink, D. Grove, M. Hind, V. Sarkar, M. J. Serrano, V. C. Sreedhar, H. Srinivasan, and J. Whaley. The Jalapeno dynamic optimizing compiler for Java. In ACM 1999 Java Grande Conference, pages 129-141, June 1999.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 5.C. Chambers, I. Pechtchanski, V. Sarkar, M. J. Serrano, and H. Srinivasan. Dependence analysis for Java. In 12th International Workshop on Languages and Compilers for Parallel Computing, Aug. 1999.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 6.C.-C. Chang and T. von Eicken. Javia: A java interface to the virtual interface architecture. Concurrency: Practice and Experience, Special Issue on Java for High-Performance Applications, Dec. 1999.]]Google ScholarGoogle Scholar
  7. 7.J.-D. Choi, D. Grove, M. Hind, and V. Sarkar. Efficient and precise modeling of exceptions for the analysis of Java programs. In ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering, pages 21-31, Sept. 1999.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 8.J. Launchbury and S. L. Peyton Jones. Lazy Functional State Threads. In Proceedings of the ACM SIGPLAN'94 Conference onProgramming Language Design and Implementation (PLDI), pages 24-35, June 1994.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 9.S. L. Peyton Jones and J. Launchbury. State in haskell. Lisp and Symbolic Computation, 8(4):293-341, Dec. 1995.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 10.D. Tarditi, G. Morrisett, P. Cheng, C. Stone, R. Harper, and P. Lee. TIL: a type-directed optimizing compiler for ML. In Proceedings of the ACM SIGPLAN '96 Conference on Programming Language Design and Implementation, pages 181-192, May 1996.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. 11.M. Welsh and D. Culler. Jaguar: Enabling Efficient Communication and I/O from Java. Concurrency: Practice and Experience, Special Issue on Java for High-Performance Applications, Dec. 1999.]]Google ScholarGoogle Scholar

Index Terms

  1. Program analysis for safety guarantees in a Java virtual machine written in Java

            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
              PASTE '01: Proceedings of the 2001 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
              June 2001
              103 pages
              ISBN:1581134134
              DOI:10.1145/379605

              Copyright © 2001 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: 1 June 2001

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • Article

              Acceptance Rates

              PASTE '01 Paper Acceptance Rate13of24submissions,54%Overall Acceptance Rate57of159submissions,36%

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader