Fixing the Java bytecode verifier by a suitable type domain

  • Authors:
  • Roberto Barbuti;Luca Tesei;Cinzia Bernardeschi;Nicoletta De Francesco

  • Affiliations:
  • Università di Pisa, Corso Italia 40, 56100 Pisa, Italy;Università di Pisa, Corso Italia 40, 56100 Pisa, Italy;Università di Pisa, Via Diotisalvi 2, 56100 Pisa, Italy;Università di Pisa, Via Diotisalvi 2, 56100 Pisa, Italy

  • Venue:
  • SEKE '02 Proceedings of the 14th international conference on Software engineering and knowledge engineering
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

The Java Virtual Machine embodies a verifier which performs a set of checks on bytecode programs before their execution. The verifier performs a data-flow analysis applied to a type-level abstract interpretation of the code. The current implementations of the bytecode verifier present a significant problem: there are legal Java programs which are correctly compiled into a bytecode that is rejected by the verifier. Also the more powerful verification techniques proposed in several papers suffer from the same problem. In this paper we propose to enhance the bytecode verifier to accept such programs, maintaining the efficiency of current implementations. The enhanced version is based on a domain of types which is more expressive than the one used in standard verification.