{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,18]],"date-time":"2026-07-18T02:41:40Z","timestamp":1784342500322,"version":"3.55.0"},"reference-count":29,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2017,3,1]],"date-time":"2017-03-01T00:00:00Z","timestamp":1488326400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"Fondation de l'Universit\u00e9 du Qu\u00e9bec \u00e0 Chicoutimi"},{"DOI":"10.13039\/501100000038","name":"Natural Sciences and Engineering Research Council of Canada","doi-asserted-by":"crossref","id":[{"id":"10.13039\/501100000038","id-type":"DOI","asserted-by":"crossref"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["Comput. Entertain."],"published-print":{"date-parts":[[2017,3]]},"abstract":"<jats:p>Runtime verification is the process of observing a sequence of events generated by a running system and comparing it to some formal specification for potential violations. We show how the use of a runtime monitor can greatly speed up the testing phase of a video game under development by automating the detection of bugs when the game is being played. We take advantage of the fact that a video game, contrarily to generic software, follows a special structure that contains a \u201cgame loop.\u201d This game loop can be used to centralize the instrumentation and generate events based on the game's internal state. We report on experiments made on a sample of six real-world video games of various genres and sizes by successfully instrumenting and efficiently monitoring various temporal properties over their execution, including actual bugs reported in the games' bug tracking database in the course of their development.<\/jats:p>","DOI":"10.1145\/2700529","type":"journal-article","created":{"date-parts":[[2017,3,1]],"date-time":"2017-03-01T19:23:10Z","timestamp":1488396190000},"page":"1-28","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":32,"title":["Automated Bug Finding in Video Games"],"prefix":"10.1145","volume":"15","author":[{"given":"Simon","family":"Varvaressos","sequence":"first","affiliation":[{"name":"Universit\u00e9 du Qu\u00e9bec \u00e0 Chicoutimi, Chicoutimi, Canada"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Kim","family":"Lavoie","sequence":"additional","affiliation":[{"name":"Universit\u00e9 du Qu\u00e9bec \u00e0 Chicoutimi, Chicoutimi, Canada"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"S\u00e9bastien","family":"Gaboury","sequence":"additional","affiliation":[{"name":"Universit\u00e9 du Qu\u00e9bec \u00e0 Chicoutimi, Chicoutimi, Canada"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Sylvain","family":"Hall\u00e9","sequence":"additional","affiliation":[{"name":"Universit\u00e9 du Qu\u00e9bec \u00e0 Chicoutimi, Chicoutimi, Canada"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2017,3]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"Lee Anderson. 2000. Top 10 Linux Games for the Holidays. Available at http:\/\/www.cnn.com.  Lee Anderson. 2000. Top 10 Linux Games for the Holidays. Available at http:\/\/www.cnn.com."},{"key":"e_1_2_1_2_1","series-title":"Lecture Notes in Computer Science","volume-title":"FM 2011: Formal Methods","author":"Barringer Howard","unstructured":"Howard Barringer and Klaus Havelund . 2011. TraceContract: A scala DSL for trace analysis . In FM 2011: Formal Methods . Lecture Notes in Computer Science , Vol. 6664 . Springer , 57--72. Howard Barringer and Klaus Havelund. 2011. TraceContract: A scala DSL for trace analysis. In FM 2011: Formal Methods. Lecture Notes in Computer Science, Vol. 6664. Springer, 57--72."},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.5555\/1648529.1648726"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1093\/logcom\/exn077"},{"key":"e_1_2_1_5_1","volume-title":"Retrieved","author":"Bros Bucket","year":"2007","unstructured":"Bucket Bros . 2007 . Worst Videogame Bugs of All Time: From Game-Ending Glitches to Data-Destroying Nightmares . Retrieved December 28, 2016, from http:\/\/www.bucketbros.com\/text\/worst-videogame-bugs.html. Bucket Bros. 2007. Worst Videogame Bugs of All Time: From Game-Ending Glitches to Data-Destroying Nightmares. Retrieved December 28, 2016, from http:\/\/www.bucketbros.com\/text\/worst-videogame-bugs.html."},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICST.2012.135"},{"key":"e_1_2_1_7_1","volume-title":"Retrieved","author":"Clark James","year":"1999","unstructured":"James Clark and Steve DeRose . 1999 . XML Path Language (XPath) Version 1.0, W3C Recommendation . Retrieved December 28, 2016, from http:\/\/www.w3.org\/TR\/xpath James Clark and Steve DeRose. 1999. XML Path Language (XPath) Version 1.0, W3C Recommendation. Retrieved December 28, 2016, from http:\/\/www.w3.org\/TR\/xpath"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1109\/SEFM.2009.13"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2004.91"},{"key":"e_1_2_1_10_1","volume-title":"Retrieved","author":"Games Epic","year":"2012","unstructured":"Epic Games . 2012 . UnrealScript Language Reference . Retrieved December 28, 2016, from http:\/\/udn.epicgames.com\/Three\/UnrealScriptReference.html. Epic Games. 2012. UnrealScript Language Reference. Retrieved December 28, 2016, from http:\/\/udn.epicgames.com\/Three\/UnrealScriptReference.html."},{"key":"e_1_2_1_11_1","volume-title":"In Proceedings of the 2008 Workshop on Programming Languages and Analysis for Security (PLAS'08)","author":"Erlingsson \u00dalfar","year":"2008","unstructured":"\u00dalfar Erlingsson and Marco Pistoia ( Eds .). 2008 . In Proceedings of the 2008 Workshop on Programming Languages and Analysis for Security (PLAS'08) . ACM, New York, NY. \u00dalfar Erlingsson and Marco Pistoia (Eds.). 2008. In Proceedings of the 2008 Workshop on Programming Languages and Analysis for Security (PLAS'08). ACM, New York, NY."},{"key":"e_1_2_1_12_1","volume-title":"Proceedings of the IEEE Symposium on Security and Privacy. 246--255","author":"Erlingsson \u00dalfar","unstructured":"\u00dalfar Erlingsson and Fred B. Schneider . 2000. IRM enforcement of Java stack inspection . In Proceedings of the IEEE Symposium on Security and Privacy. 246--255 . \u00dalfar Erlingsson and Fred B. Schneider. 2000. IRM enforcement of Java stack inspection. In Proceedings of the IEEE Symposium on Security and Privacy. 246--255."},{"key":"e_1_2_1_13_1","first-page":"3030","volume-title":"Retrieved","author":"Bomb Giant","year":"2013","unstructured":"Giant Bomb . 2013 . NBA Elite 11 . Retrieved December 28, 2016, from http:\/\/www.giantbomb.com\/nba-elite-11\/ 3030 - 31438 . Giant Bomb. 2013. NBA Elite 11. Retrieved December 28, 2016, from http:\/\/www.giantbomb.com\/nba-elite-11\/3030-31438."},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/1094811.1094841"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSC.2011.10"},{"key":"e_1_2_1_16_1","first-page":"1","article-title":"OCL-based runtime monitoring of JVM hosted applications","volume":"44","author":"Hamann Lars","year":"2011","unstructured":"Lars Hamann , Martin Gogolla , and Mirco Kuhlmann . 2011 . OCL-based runtime monitoring of JVM hosted applications . Electronic Communications of the EASST 44 , 1 -- 20 . Lars Hamann, Martin Gogolla, and Mirco Kuhlmann. 2011. OCL-based runtime monitoring of JVM hosted applications. Electronic Communications of the EASST 44, 1--20.","journal-title":"Electronic Communications of the EASST"},{"key":"e_1_2_1_18_1","volume-title":"Glitch. Retrieved","author":"IGN.","year":"2011","unstructured":"IGN. 2011 . Bugs and Glitches. Game-Breaking \u2018Song of the Hero \u2019 Glitch. Retrieved December 28, 2016, from http:\/\/ca.ign.com\/wikis\/the-legend-of-zelda-skyward-sword\/Bugs_and_Glitches. IGN. 2011. Bugs and Glitches. Game-Breaking \u2018Song of the Hero\u2019 Glitch. Retrieved December 28, 2016, from http:\/\/ca.ign.com\/wikis\/the-legend-of-zelda-skyward-sword\/Bugs_and_Glitches."},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/383845.383858"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.5555\/2835658.2835660"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.5555\/645532.656332"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jlap.2008.08.004"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1109\/MS.2011.87"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/1822348.1822363"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/1094811.1094840"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10009-011-0198-6"},{"key":"e_1_2_1_29_1","volume-title":"Game Testing All in One. Mercury Learning & Information","author":"Schultz Charles","unstructured":"Charles Schultz and Robert Bryant . 2011. Game Testing All in One. Mercury Learning & Information , Herndon, VA . Charles Schultz and Robert Bryant. 2011. Game Testing All in One. Mercury Learning & Information, Herndon, VA."},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.entcs.2006.02.007"},{"key":"e_1_2_1_31_1","series-title":"Lecture Notes in Computer Science","volume-title":"TestCom\/Fates","author":"Ural Hasan","unstructured":"Hasan Ural and Zhi Xu. 2007. An EFSM-based passive fault detection approach . In TestCom\/Fates . Lecture Notes in Computer Science , Vol. 4581 . Springer , 335--350. Hasan Ural and Zhi Xu. 2007. An EFSM-based passive fault detection approach. In TestCom\/Fates. Lecture Notes in Computer Science, Vol. 4581. Springer, 335--350."},{"key":"e_1_2_1_32_1","volume-title":"Retrieved","author":"World Wide Web Consortium","year":"2005","unstructured":"World Wide Web Consortium . 2005 . XML Binary Characterization Working Group Public Page . Retrieved December 28, 2016, from http:\/\/www.w3.org\/XML\/Binary\/. World Wide Web Consortium. 2005. XML Binary Characterization Working Group Public Page. Retrieved December 28, 2016, from http:\/\/www.w3.org\/XML\/Binary\/."}],"container-title":["Computers in Entertainment"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2700529","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2700529","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T06:13:34Z","timestamp":1750227214000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2700529"}},"subtitle":["A Case Study for Runtime Monitoring"],"short-title":[],"issued":{"date-parts":[[2017,3]]},"references-count":29,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2017,3]]}},"alternative-id":["10.1145\/2700529"],"URL":"https:\/\/doi.org\/10.1145\/2700529","relation":{},"ISSN":["1544-3574"],"issn-type":[{"value":"1544-3574","type":"electronic"}],"subject":[],"published":{"date-parts":[[2017,3]]},"assertion":[{"value":"2014-05-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2014-09-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2017-03-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}