Modeling class loaders in Java PathFinder version 7
- 27 November 2012
- journal article
- Published by Association for Computing Machinery (ACM) in ACM SIGSOFT Software Engineering Notes
- Vol. 37 (6), 1-5
- https://doi.org/10.1145/2382756.2382800
Abstract
The class loading mechanism is one of the essential components of the Java runtime environment. Java class loading is performed on-demand, allows multiple, user extensible class loaders, and can associate a separate type namespace with each class loader. Previous versions of the Java Pathfinder (JPF) model checker only provided a single, hardcoded class loading mechanism. As one of the cornerstones of the upcoming JPF version 7 (JPF v7), we have implemented a standard Java conforming class loader infrastructure. Our implementation does not only support different class loaders and type namespaces, but also allows explicit instantiation of multiple bootstrap class loaders which is essential for model checking of distributed applications - the primary motivation for our work. With the new class loading mechanism, such applications can be mapped to threads using different bootstrap class loaders, thus effectively separating all static fields between application threads. In addition, the JPF v7 class loading is considered to be the basis for future verification of Java security properties.Keywords
This publication has 5 references indexed in Scilit:
- Model checking distributed systems by combining caching and process checkpointingPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2011
- Cache-Based Model Checking of Networked Applications: From Linear to Branching TimePublished by Institute of Electrical and Electronics Engineers (IEEE) ,2009
- An Incremental Heap Canonicalization AlgorithmLecture Notes in Computer Science, 2005
- Java SecurityEDPACS, 1999
- Dynamic class loading in the Java virtual machinePublished by Association for Computing Machinery (ACM) ,1998