{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,27]],"date-time":"2026-02-27T03:47:45Z","timestamp":1772164065576,"version":"3.50.1"},"publisher-location":"New York, NY, USA","reference-count":34,"publisher":"ACM","license":[{"start":{"date-parts":[[2015,10,23]],"date-time":"2015-10-23T00:00:00Z","timestamp":1445558400000},"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":[],"published-print":{"date-parts":[[2015,10,23]]},"DOI":"10.1145\/2814270.2814272","type":"proceedings-article","created":{"date-parts":[[2015,11,2]],"date-time":"2015-11-02T16:04:33Z","timestamp":1446480273000},"page":"505-519","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":44,"title":["Static analysis of event-driven Node.js JavaScript applications"],"prefix":"10.1145","author":[{"given":"Magnus","family":"Madsen","sequence":"first","affiliation":[{"name":"University of Waterloo, Canada"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Frank","family":"Tip","sequence":"additional","affiliation":[{"name":"Samsung Research, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Ond\u0159ej","family":"Lhot\u00e1k","sequence":"additional","affiliation":[{"name":"University of Waterloo, Canada"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2015,10,23]]},"reference":[{"key":"e_1_3_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/2660193.2660214"},{"key":"e_1_3_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/1985793.1985871"},{"key":"e_1_3_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2011.76"},{"key":"e_1_3_2_1_4_1","volume-title":"Node.js in Action","author":"Cantelon M.","year":"2014","unstructured":"M. Cantelon , M. Harter , T. Holowaychuk , and N. Rajlich . Node.js in Action . Manning Publications , 2014 . M. Cantelon, M. Harter, T. Holowaychuk, and N. Rajlich. Node.js in Action. Manning Publications, 2014."},{"key":"e_1_3_2_1_5_1","unstructured":"R. Dahl. Node.js online documentation 2014.  R. Dahl. Node.js online documentation 2014."},{"key":"e_1_3_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/2509136.2509520"},{"key":"e_1_3_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/2048066.2048078"},{"key":"e_1_3_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.5555\/1795772"},{"key":"e_1_3_2_1_9_1","volume-title":"Proceedings of the Usenix Security Symposium","author":"Guarnieri S.","year":"2009","unstructured":"S. Guarnieri and B. Livshits . GateKeeper: Mostly Static Enforcement of Security and Reliability Policies for JavaScript Code . In Proceedings of the Usenix Security Symposium , 2009 . S. Guarnieri and B. Livshits. GateKeeper: Mostly Static Enforcement of Security and Reliability Policies for JavaScript Code. In Proceedings of the Usenix Security Symposium, 2009."},{"key":"e_1_3_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.5555\/1883978.1883988"},{"key":"e_1_3_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICST.2014.17"},{"key":"e_1_3_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-03237-0_17"},{"key":"e_1_3_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/2025113.2025125"},{"key":"e_1_3_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/2338965.2336758"},{"key":"e_1_3_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/1190216.1190266"},{"key":"e_1_3_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF00290339"},{"key":"e_1_3_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/2508168.2508175"},{"key":"e_1_3_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/2635868.2635904"},{"key":"e_1_3_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.5555\/2342863.2342864"},{"key":"e_1_3_2_1_20_1","volume-title":"Learning Python. O\u2019Reilly, 5 edition","author":"Lutz M.","year":"2013","unstructured":"M. Lutz . Learning Python. O\u2019Reilly, 5 edition , 2013 . M. Lutz. Learning Python. O\u2019Reilly, 5 edition, 2013."},{"key":"e_1_3_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-54807-9_12"},{"key":"e_1_3_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-10936-7_13"},{"key":"e_1_3_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/2491411.2491417"},{"key":"e_1_3_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-31987-0_2"},{"key":"e_1_3_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/2384616.2384660"},{"key":"e_1_3_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/2531921"},{"key":"e_1_3_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/2617548.2617549"},{"key":"e_1_3_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/2254064.2254095"},{"key":"e_1_3_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/2509136.2509538"},{"key":"e_1_3_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/199448.199462"},{"key":"e_1_3_2_1_32_1","volume-title":"Programming Ruby 1.9 & 2.0: The Pragmatic Programmer\u2019\u2019s Guide. Pragmatic Bookshelf, 4 edition","author":"Thomas D.","year":"2013","unstructured":"D. Thomas , A. Hunt , and C. Fowler . Programming Ruby 1.9 & 2.0: The Pragmatic Programmer\u2019\u2019s Guide. Pragmatic Bookshelf, 4 edition , 2013 . D. Thomas, A. Hunt, and C. Fowler. Programming Ruby 1.9 & 2.0: The Pragmatic Programmer\u2019\u2019s Guide. Pragmatic Bookshelf, 4 edition, 2013."},{"key":"e_1_3_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-37057-1_15"},{"key":"e_1_3_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/1963405.1963517"},{"key":"e_1_3_2_1_35_1","unstructured":"Introduction Motivating Examples StackOverflow Question 19167407 StackOverflow Question 19081270 Limitations of Current Static Analyses Language Design Choices Syntax of _ Runtime of _ Semantics of _ Other Event Features Beyond Call Graphs Event-Based Call Graphs Bug Finding Analysis Framework Evaluation Implementation Research Questions Q1: Finding and Understanding Bugs Q2: Precision and Performance Discussion JavaScript in the Browser Environment Other Languages Related Work Conclusion  Introduction Motivating Examples StackOverflow Question 19167407 StackOverflow Question 19081270 Limitations of Current Static Analyses Language Design Choices Syntax of _ Runtime of _ Semantics of _ Other Event Features Beyond Call Graphs Event-Based Call Graphs Bug Finding Analysis Framework Evaluation Implementation Research Questions Q1: Finding and Understanding Bugs Q2: Precision and Performance Discussion JavaScript in the Browser Environment Other Languages Related Work Conclusion"}],"event":{"name":"SPLASH '15: Conference on Systems, Programming, Languages, and Applications: Software for Humanity","location":"Pittsburgh PA USA","acronym":"SPLASH '15","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages"]},"container-title":["Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2814270.2814272","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2814270.2814272","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T01:48:41Z","timestamp":1750211321000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2814270.2814272"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2015,10,23]]},"references-count":34,"alternative-id":["10.1145\/2814270.2814272","10.1145\/2814270"],"URL":"https:\/\/doi.org\/10.1145\/2814270.2814272","relation":{"is-identical-to":[{"id-type":"doi","id":"10.1145\/2858965.2814272","asserted-by":"object"}]},"subject":[],"published":{"date-parts":[[2015,10,23]]},"assertion":[{"value":"2015-10-23","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}