{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:25:02Z","timestamp":1750307102685,"version":"3.41.0"},"reference-count":9,"publisher":"Association for Computing Machinery (ACM)","issue":"6","license":[{"start":{"date-parts":[[2012,11,27]],"date-time":"2012-11-27T00:00:00Z","timestamp":1353974400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["SIGSOFT Softw. Eng. Notes"],"published-print":{"date-parts":[[2012,11,27]]},"abstract":"<jats:p>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.<\/jats:p>","DOI":"10.1145\/2382756.2382800","type":"journal-article","created":{"date-parts":[[2012,11,29]],"date-time":"2012-11-29T15:02:27Z","timestamp":1354201347000},"page":"1-5","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":2,"title":["Modeling class loaders in Java PathFinder version 7"],"prefix":"10.1145","volume":"37","author":[{"given":"Nastaran","family":"Shafiei","sequence":"first","affiliation":[{"name":"NASA Ames Research Center, Moffett Field, California"}]},{"given":"Peter","family":"Mehlitz","sequence":"additional","affiliation":[{"name":"NASA Ames Research Center, Moffett Field, California"}]}],"member":"320","published-online":{"date-parts":[[2012,11,27]]},"reference":[{"key":"e_1_2_1_1_1","first-page":"22","volume-title":"Models and Patterns","author":"Artho C.","year":"2008","unstructured":"C. Artho , W. Leungwattanakit , M. Hagiya , and Y. Tanabe . Efficient Model Checking of Networked Applications. Objects, Components , Models and Patterns , pages 22 -- 40 , 2008 . C. Artho, W. Leungwattanakit, M. Hagiya, and Y. Tanabe. Efficient Model Checking of Networked Applications. Objects, Components, Models and Patterns, pages 22--40, 2008."},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2009.43"},{"key":"e_1_2_1_3_1","volume-title":"Distributed Systems: Concepts and Design","author":"Coulouris G.","year":"2011","unstructured":"G. Coulouris , J. Dollimore , T. Kindberg , and G. Blair . Distributed Systems: Concepts and Design . Addison Wesley , 5 th edition, 2011 . G. Coulouris, J. Dollimore, T. Kindberg, and G. Blair. Distributed Systems: Concepts and Design. Addison Wesley, 5th edition, 2011.","edition":"5"},{"key":"e_1_2_1_4_1","volume-title":"The Java Language Specification","author":"Gosling J.","year":"2005","unstructured":"J. Gosling , B. Joy , G. Steele , G. Bracha , and A. Buckley . The Java Language Specification . Addison-Wesley Professional , Java SE 7 edition, 2005 . J. Gosling, B. Joy, G. Steele, G. Bracha, and A. Buckley. The Java Language Specification. Addison-Wesley Professional, Java SE 7 edition, 2005."},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2011.6100043"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/286936.286945"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1007\/11537328_6"},{"key":"e_1_2_1_8_1","volume-title":"O'Reilly","author":"Oaks S.","year":"2001","unstructured":"S. Oaks . Java Security . O'Reilly , 2 nd edition, 2001 . S. Oaks. Java Security. O'Reilly, 2nd edition, 2001.","edition":"2"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.5555\/380921.380938"}],"container-title":["ACM SIGSOFT Software Engineering Notes"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2382756.2382800","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2382756.2382800","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T09:34:54Z","timestamp":1750239294000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2382756.2382800"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2012,11,27]]},"references-count":9,"journal-issue":{"issue":"6","published-print":{"date-parts":[[2012,11,27]]}},"alternative-id":["10.1145\/2382756.2382800"],"URL":"https:\/\/doi.org\/10.1145\/2382756.2382800","relation":{},"ISSN":["0163-5948"],"issn-type":[{"type":"print","value":"0163-5948"}],"subject":[],"published":{"date-parts":[[2012,11,27]]},"assertion":[{"value":"2012-11-27","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}