{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T04:10:05Z","timestamp":1750219805903,"version":"3.41.0"},"reference-count":9,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2023,1,10]],"date-time":"2023-01-10T00:00:00Z","timestamp":1673308800000},"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":[[2023,1,10]]},"abstract":"<jats:p>We present jpf-logic, an extension of the model checker Java PathFinder (JPF). Our extension jpf-logic provides a framework to check properties expressed in temporal logics such as linear temporal logic (LTL) and computation tree logic (CTL). To support a logic in our framework, we (1) implement a parser for the logic, (2) develop a hierarchy of classes that represent the abstract syntax of the logic and implement a transformation from parse trees of formulas to the corresponding abstract syntax trees, and (3) implement a model checking algorithm that takes as input an abstract syntax tree of a formula and a partial transition system. The latter represents a model of the Java application. All three components have been implemented for CTL. The first two have been implemented for LTL.<\/jats:p>","DOI":"10.1145\/3573074.3573083","type":"journal-article","created":{"date-parts":[[2023,1,18]],"date-time":"2023-01-18T03:38:24Z","timestamp":1674013104000},"page":"32-36","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":2,"title":["jpf-logic"],"prefix":"10.1145","volume":"48","author":[{"given":"Matt","family":"Walker","sequence":"first","affiliation":[{"name":"York University, Toronto, Canada"}]},{"given":"Parssa","family":"Khazra","sequence":"additional","affiliation":[{"name":"York University, Toronto, Canada"}]},{"given":"Anto","family":"Nanah Ji","sequence":"additional","affiliation":[{"name":"York University, Toronto, Canada"}]},{"given":"Hongru","family":"Wang","sequence":"additional","affiliation":[{"name":"York University, Toronto, Canada"}]},{"given":"Franck","family":"van Breugel","sequence":"additional","affiliation":[{"name":"York University, Toronto, Canada"}]}],"member":"320","published-online":{"date-parts":[[2023,1,17]]},"reference":[{"key":"e_1_2_1_1_1","volume-title":"Principles of Model Checking","author":"Baier Christel","year":"2008","unstructured":"Christel Baier and Joost-Pieter Katoen . Principles of Model Checking . The MIT Press , Cambridge, MA, USA , 2008 . Christel Baier and Joost-Pieter Katoen. Principles of Model Checking. The MIT Press, Cambridge, MA, USA, 2008."},{"key":"e_1_2_1_2_1","volume-title":"Java PathFinder: a tool to detect bugs in Java code","author":"van Breugel Franck","year":"2020","unstructured":"Franck van Breugel . Java PathFinder: a tool to detect bugs in Java code . 2020 . Franck van Breugel. Java PathFinder: a tool to detect bugs in Java code. 2020."},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.5555\/647768.733795"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.5555\/648063.747438"},{"key":"e_1_2_1_5_1","volume-title":"Probabilistic model checking of randomized Java code. Master's thesis","author":"Fatmi Syyeda Zainab","year":"2020","unstructured":"Syyeda Zainab Fatmi . Probabilistic model checking of randomized Java code. Master's thesis , York University , Toronto, Canada , September 2020 . Syyeda Zainab Fatmi. Probabilistic model checking of randomized Java code. Master's thesis, York University, Toronto, Canada, September 2020."},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2013.49"},{"key":"e_1_2_1_7_1","volume-title":"The Pragmatic Bookshelf","author":"Parr Terence","year":"2013","unstructured":"Terence Parr . The Definitive ANTLR 4 Reference . The Pragmatic Bookshelf , Dallas, TX, USA , 2013 . Terence Parr. The Definitive ANTLR 4 Reference. The Pragmatic Bookshelf, Dallas, TX, USA, 2013."},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1109\/SFCS.1977.32"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1023\/A:1022920129859"}],"container-title":["ACM SIGSOFT Software Engineering Notes"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3573074.3573083","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3573074.3573083","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T16:45:37Z","timestamp":1750178737000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3573074.3573083"}},"subtitle":["a Framework for Checking Temporal Logic Properties of Java Code"],"short-title":[],"issued":{"date-parts":[[2023,1,10]]},"references-count":9,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2023,1,10]]}},"alternative-id":["10.1145\/3573074.3573083"],"URL":"https:\/\/doi.org\/10.1145\/3573074.3573083","relation":{},"ISSN":["0163-5948"],"issn-type":[{"type":"print","value":"0163-5948"}],"subject":[],"published":{"date-parts":[[2023,1,10]]},"assertion":[{"value":"2023-01-17","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}