Using abstract interpretation to add type checking for interfaces in Java bytecode verification |
| |
Authors: | Nicoletta De Francesco Giuseppe Lettieri Luca Martini |
| |
Affiliation: | Dipartimento di Ingegneria dell’Informazione, Università di Pisa, Largo L. Lazzarino 2, 56122 Pisa, Italy |
| |
Abstract: | Java interface types support multiple inheritance. Because of this, the standard bytecode verifier ignores them, since it is not able to model the class hierarchy as a lattice. Thus, type checks on interfaces are performed at run time. We propose a verification methodology that removes the need for run-time checks. The methodology consists of: (1) an augmented verifier that is very similar to the standard one, but is also able to check for interface types in most cases; (2) for all other cases, a set of additional simpler verifiers, each one specialized for a single interface type. We obtain these verifiers in a systematic way by using abstract interpretation techniques. Finally, we describe an implementation of the methodology and evaluate it on a large set of benchmarks. |
| |
Keywords: | |
本文献已被 ScienceDirect 等数据库收录! |
|