Java bytecode as a typed term calculus

  • Authors:
  • Tomoyuki Higuchi;Atsushi Ohori

  • Affiliations:
  • Japan Advanced Institute of Science and Technology, Tasunokuchi Ishikawa, Japan;Japan Advanced Institute of Science and Technology, Tasunokuchi Ishikawa, Japan

  • Venue:
  • Proceedings of the 4th ACM SIGPLAN international conference on Principles and practice of declarative programming
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

We propose a type system for the Java bytecode language, prove the type soundness, and develop a type inference algorithm. In contrast to the existing proposals, our type system yields a typed term calculus similar to type systems of lambda calculi. This enables us to transfer existing techniques and results of type theory to a JVM-style bytecode language. We show that ML-style let polymorphism and recursive types can be used to type JVM subroutines, and that there is an ML-style type inference algorithm.The type inference algorithm has been implemented. The ability to verify type soundness is a simple corollary of the existence of type inference algorithm. Moreover, our type theoretical approach opens up various type safe extensions including higher-order methods, flexible polymorphic typing through polymorphic type inference, and type-preserving compilation.