{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,18]],"date-time":"2026-06-18T15:45:31Z","timestamp":1781797531092,"version":"3.54.5"},"publisher-location":"New York, NY, USA","reference-count":32,"publisher":"ACM","license":[{"start":{"date-parts":[[2022,5,21]],"date-time":"2022-05-21T00:00:00Z","timestamp":1653091200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"funder":[{"DOI":"10.13039\/100000001","name":"National Science Foundation","doi-asserted-by":"publisher","award":["1907727"],"award-info":[{"award-number":["1907727"]}],"id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100000038","name":"Natural Sciences and Engineering Research Council of Canada","doi-asserted-by":"publisher","award":["518834"],"award-info":[{"award-number":["518834"]}],"id":[{"id":"10.13039\/501100000038","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2022,5,21]]},"DOI":"10.1145\/3510003.3510097","type":"proceedings-article","created":{"date-parts":[[2022,7,5]],"date-time":"2022-07-05T22:42:59Z","timestamp":1657060979000},"page":"774-785","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":6,"title":["DrAsync"],"prefix":"10.1145","author":[{"given":"Alexi","family":"Turcotte","sequence":"first","affiliation":[{"name":"Northeastern University"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Michael D.","family":"Shah","sequence":"additional","affiliation":[{"name":"Northeastern University"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Mark W.","family":"Aldrich","sequence":"additional","affiliation":[{"name":"Tufts University"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Frank","family":"Tip","sequence":"additional","affiliation":[{"name":"Northeastern University"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2022,7,5]]},"reference":[{"key":"e_1_3_2_1_1_1","unstructured":"2017. Concurrency Visualizer - Visual Studio (Windows) | Microsoft Docs. https:\/\/docs.microsoft.com\/en-us\/visualstudio\/profiling\/concurrency-visualizer?view=vs-2019. (Accessed on 08\/20\/2021)."},{"key":"e_1_3_2_1_2_1","unstructured":"2019. JSHint: A Static Code Analysis Tool for JavaScript. See https:\/\/jshint.com\/."},{"key":"e_1_3_2_1_3_1","unstructured":"2020. Async hooks | Node.js v16.6.0 Documentation. https:\/\/nodejs.org\/api\/async_hooks.html. (Accessed on 08\/02\/2021)."},{"key":"e_1_3_2_1_4_1","unstructured":"2021. CodeQL for research | GitHub Security Lab. https:\/\/securitylab.github.com\/tools\/codeql\/. (Accessed on 08\/10\/2021)."},{"key":"e_1_3_2_1_5_1","unstructured":"2021. ESLint: Find and fix problems in your JavaScript code. See https:\/\/eslint.org\/."},{"key":"e_1_3_2_1_6_1","unstructured":"2021. JSLint. See https:\/\/www.jslint.com\/."},{"key":"e_1_3_2_1_7_1","unstructured":"2021. Thread Concurrency Visualization | PyCharm. https:\/\/www.jetbrains.com\/help\/pycharm\/thread-concurrency-visualization.html. (Accessed on 08\/20\/2021)."},{"key":"e_1_3_2_1_8_1","unstructured":"2021. Threading Analysis. https:\/\/software.intel.com\/content\/www\/us\/en\/develop\/documentation\/vtune-help\/top\/analyze-performance\/parallelism-analysis-group\/threading-analysis.html. (Accessed on 08\/20\/2021)."},{"key":"e_1_3_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/3276532"},{"key":"e_1_3_2_1_10_1","volume-title":"Learning How to Listen: Automatically Finding Bug Patterns in Event-Driven JavaScript APIs","author":"Arteca Ellen","year":"2022","unstructured":"Ellen Arteca, Max Sch\u00e4fer, and Frank Tip. 2022. Learning How to Listen: Automatically Finding Bug Patterns in Event-Driven JavaScript APIs. IEEE Trans. Software Eng. (2022). To appear."},{"key":"e_1_3_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.4230\/LIPIcs.ECOOP.2021.7"},{"key":"e_1_3_2_1_12_1","volume-title":"npm-filter: Automating the mining of dynamic information from npm packages. arXiv preprint arXiv:2201.08452","author":"Arteca Ellen","year":"2022","unstructured":"Ellen Arteca and Alexi Turcotte. 2022. npm-filter: Automating the mining of dynamic information from npm packages. arXiv preprint arXiv:2201.08452 (2022)."},{"key":"e_1_3_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.4230\/LIPIcs.ECOOP.2016.2"},{"key":"e_1_3_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1109\/MCSoC.2014.55"},{"key":"e_1_3_2_1_15_1","unstructured":"ECMA. 2021. ECMAScript 2021 Language Specification. Available from https:\/\/www.ecma-international.org\/publications-and-standards\/standards\/ecma-262\/."},{"key":"e_1_3_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1109\/SCAM.2013.6648192"},{"key":"e_1_3_2_1_17_1","volume-title":"Refactoring: Improving the Design of Existing Code","author":"Fowler Martin","year":"1999","unstructured":"Martin Fowler. 1999. Refactoring: Improving the Design of Existing Code. Addison-Wesley."},{"key":"e_1_3_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/3485537"},{"key":"e_1_3_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/2771783.2771809"},{"key":"e_1_3_2_1_20_1","volume-title":"Which chart or graph is right for you? Tell Impactful Stories with Data. Tableau Software","author":"Hardin Maila","year":"2012","unstructured":"Maila Hardin, Daniel Hom, Ross Perez, and Lori Williams. 2012. Which chart or graph is right for you? Tell Impactful Stories with Data. Tableau Software (2012)."},{"key":"e_1_3_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/2150976.2151001"},{"key":"e_1_3_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1007\/s11219-019-09442-9"},{"key":"e_1_3_2_1_23_1","volume-title":"Proceedings of the SIGMETRICS symposium on Parallel and distributed tools (SPDT'96)","author":"Jr Wagner Meira","year":"1996","unstructured":"Wagner Meira Jr., Thomas J. LeBlanc, and Alexandros Poulos. 1996. Waiting Time Analysis and Performance Visualization in Carnival. In Proceedings of the SIGMETRICS symposium on Parallel and distributed tools (SPDT'96). 1--10."},{"key":"e_1_3_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/3133910"},{"key":"e_1_3_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/2814270.2814272"},{"key":"e_1_3_2_1_26_1","volume-title":"Getting started with P5. js: Making interactive graphics in JavaScript and processing. Maker Media","author":"McCarthy Lauren","unstructured":"Lauren McCarthy, Casey Reas, and Ben Fry. 2015. Getting started with P5. js: Making interactive graphics in JavaScript and processing. Maker Media, Inc."},{"key":"e_1_3_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1109\/2.471178"},{"key":"e_1_3_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/2351676.2351724"},{"key":"e_1_3_2_1_29_1","volume-title":"The craft of information visualization","author":"Shneiderman Ben","unstructured":"Ben Shneiderman. 2003. The eyes have it: A task by data type taxonomy for information visualizations. In The craft of information visualization. Elsevier, 364--371."},{"key":"e_1_3_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.5555\/3314872.3314882"},{"key":"e_1_3_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/3297280.3297528"},{"key":"e_1_3_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1109\/VISUAL.1993.398866"}],"event":{"name":"ICSE '22: 44th International Conference on Software Engineering","location":"Pittsburgh Pennsylvania","acronym":"ICSE '22","sponsor":["SIGSOFT ACM Special Interest Group on Software Engineering","IEEE CS"]},"container-title":["Proceedings of the 44th International Conference on Software Engineering"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3510003.3510097","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3510003.3510097","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3510003.3510097","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T18:10:23Z","timestamp":1750183823000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3510003.3510097"}},"subtitle":["identifying and visualizing anti-patterns in asynchronous JavaScript"],"short-title":[],"issued":{"date-parts":[[2022,5,21]]},"references-count":32,"alternative-id":["10.1145\/3510003.3510097","10.1145\/3510003"],"URL":"https:\/\/doi.org\/10.1145\/3510003.3510097","relation":{},"subject":[],"published":{"date-parts":[[2022,5,21]]},"assertion":[{"value":"2022-07-05","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}