Abstract
Dynamic class loading is an important feature of the Java virtual machine. It is the underlying mechanism that supports installing software components at runtime. However, it is also complex. Improperly written class loaders could undermine the type safety of the Java virtual machine. Given the importance of security, the current description provided by the Java virtual machine is deficient. It is ambiguous, imprecise and hard to reason about. In this paper, we suggest a model for the Java virtual machine, which includes the main features of dynamic class loading and linking. We formalize the model and prove its soundness in the HOL system. The soundness theorem demonstrates that our model can preserve types indeed. Based on the model, we can analyze the behaviors of loading in the virtual machine.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have