{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,31]],"date-time":"2026-07-31T22:38:55Z","timestamp":1785537535403,"version":"3.56.0"},"reference-count":65,"publisher":"IEEE","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2017,10]]},"DOI":"10.1109\/ase.2017.8115663","type":"proceedings-article","created":{"date-parts":[[2017,11,23]],"date-time":"2017-11-23T17:03:57Z","timestamp":1511456637000},"page":"520-531","source":"Crossref","is-referenced-by-count":38,"title":["A comprehensive study on real world concurrency bugs in Node.js"],"prefix":"10.1109","author":[{"given":"Jie","family":"Wang","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Wensheng","family":"Dou","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Yu","family":"Gao","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Chushu","family":"Gao","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Feng","family":"Qin","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Kang","family":"Yin","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Jun","family":"Wei","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"263","reference":[{"key":"ref39","year":"0","journal-title":"strider\/issue#745 Strider crashes on new jobs started from a Pull Request that has been rebased"},{"key":"ref38","year":"0","journal-title":"js-ipfs\/issue#318 Uncaught Error no writecb in Transform class"},{"key":"ref33","year":"0","journal-title":"change-propagation\/pull#84 Fix race condition in commit logic"},{"key":"ref32","year":"0","journal-title":"asset-smasher\/issue#8 stop starving the event loop"},{"key":"ref31","year":"0","journal-title":"five-bells-shared\/issue#64 retry failed DB operations caused by concurrent updates"},{"key":"ref30","year":"0","journal-title":"browser-laptop\/pull#3273 guard against race condition"},{"key":"ref37","year":"0","journal-title":"mutex"},{"key":"ref36","year":"0","journal-title":"lock"},{"key":"ref35","year":"0","journal-title":"syncify"},{"key":"ref34","year":"0","journal-title":"ASYNC"},{"key":"ref60","doi-asserted-by":"publisher","DOI":"10.1145\/2384616.2384649"},{"key":"ref62","doi-asserted-by":"publisher","DOI":"10.1145\/1963405.1963517"},{"key":"ref61","doi-asserted-by":"publisher","DOI":"10.1145\/2786805.2786836"},{"key":"ref63","doi-asserted-by":"publisher","DOI":"10.1145\/2814270.2814272"},{"key":"ref28","year":"0","journal-title":"kue\/issues#154 Race between Job prototype save() and done()"},{"key":"ref64","author":"staicu","year":"2016","journal-title":"Understanding and Automatically Preventing Injection Attacks on Node js"},{"key":"ref27","year":"0","journal-title":"sequelize\/issue#1599 findOrCreate is not atomic"},{"key":"ref65","doi-asserted-by":"publisher","DOI":"10.1145\/2884781.2884864"},{"key":"ref29","year":"0","journal-title":"fiware-pep-steelskin\/issue#269 Race condition causes requests that will never be responsed-new race introduced in a fixed version"},{"key":"ref2","year":"0","journal-title":"New Node js Foundation Survey Reports New &#x2018;Full Stack&#x2019; In Demand Among Enterprise Developers"},{"key":"ref1","year":"0","journal-title":"Developer Survey Results 2016"},{"key":"ref20","doi-asserted-by":"publisher","DOI":"10.1145\/2851613.2851967"},{"key":"ref22","year":"0","journal-title":"porybox\/issue#157 when two boxes are added simultaneously one of the IDs get lost"},{"key":"ref21","year":"0","journal-title":"gp-js-client\/issue#4 document that calls are async"},{"key":"ref24","year":"0","journal-title":"hapi\/issue#3347 major performance issue with hapi js 15 x"},{"key":"ref23","year":"0","journal-title":"cordova-lib\/pull#7 extract plugin tgz files in unique directories"},{"key":"ref26","year":"0","journal-title":"xlsx-extract\/issue#7 Exception 'write after end"},{"key":"ref25","year":"0","journal-title":"ECMAScript 6"},{"key":"ref50","doi-asserted-by":"publisher","DOI":"10.1109\/ISSRE.2011.28"},{"key":"ref51","doi-asserted-by":"publisher","DOI":"10.1145\/3037697.3037708"},{"key":"ref59","doi-asserted-by":"publisher","DOI":"10.1145\/2483760.2483777"},{"key":"ref58","doi-asserted-by":"publisher","DOI":"10.1145\/2351676.2351717"},{"key":"ref57","doi-asserted-by":"publisher","DOI":"10.1145\/2393596.2393666"},{"key":"ref56","doi-asserted-by":"publisher","DOI":"10.1145\/73141.74844"},{"key":"ref55","doi-asserted-by":"publisher","DOI":"10.1007\/s11390-016-1669-8"},{"key":"ref54","doi-asserted-by":"publisher","DOI":"10.1145\/265924.265927"},{"key":"ref53","doi-asserted-by":"publisher","DOI":"10.1109\/TPDS.2011.254"},{"key":"ref52","doi-asserted-by":"publisher","DOI":"10.1145\/2635868.2635885"},{"key":"ref10","doi-asserted-by":"publisher","DOI":"10.1145\/2814270.2814303"},{"key":"ref11","doi-asserted-by":"crossref","first-page":"326","DOI":"10.1145\/2666356.2594330","article-title":"Race Detection for Event-driven Mobile Applications","volume":"49","author":"hsiao","year":"2014","journal-title":"ACM SIGPLAN Notices"},{"key":"ref40","year":"0","journal-title":"session\/issue#340 race condition between session touch and session save"},{"key":"ref12","doi-asserted-by":"publisher","DOI":"10.1145\/2509136.2509538"},{"key":"ref13","doi-asserted-by":"publisher","DOI":"10.1145\/2931037.2931069"},{"key":"ref14","doi-asserted-by":"publisher","DOI":"10.1145\/2931037.2931052"},{"key":"ref15","year":"0","journal-title":"libuv"},{"key":"ref16","year":"0","journal-title":"The Node js Event Loop"},{"key":"ref17","year":"0","journal-title":"CLUSTER"},{"key":"ref18","year":"0","journal-title":"Socket io"},{"key":"ref19","doi-asserted-by":"publisher","DOI":"10.1145\/2846680.2846687"},{"key":"ref4","year":"0","journal-title":"npm repository"},{"key":"ref3","year":"0","journal-title":"Chrome V8"},{"key":"ref6","doi-asserted-by":"publisher","DOI":"10.1145\/1346281.1346323"},{"key":"ref5","year":"0","journal-title":"State of the Union npm"},{"key":"ref8","doi-asserted-by":"publisher","DOI":"10.1145\/2254064.2254095"},{"key":"ref7","doi-asserted-by":"publisher","DOI":"10.1145\/2872362.2872374"},{"key":"ref49","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2016.2586066"},{"key":"ref9","doi-asserted-by":"publisher","DOI":"10.1145\/3037697.3037735"},{"key":"ref46","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2017.34"},{"key":"ref45","doi-asserted-by":"publisher","DOI":"10.1145\/2635868.2635881"},{"key":"ref48","doi-asserted-by":"publisher","DOI":"10.1109\/ESEM.2013.18"},{"key":"ref47","doi-asserted-by":"publisher","DOI":"10.1145\/949343.949340"},{"key":"ref42","year":"0","journal-title":"done-ssr\/issue#62 race condition between can-serve and live-reload"},{"key":"ref41","year":"0","journal-title":"fiware-pep-steelskin\/issue#279 when the PEP receive two or more simultaneous requests"},{"key":"ref44","first-page":"221","article-title":"Automated Concurrency-Bug Fixing","author":"jin","year":"2012","journal-title":"Proc 5th USENIX Conf Operating Syst Design Implementation"},{"key":"ref43","doi-asserted-by":"publisher","DOI":"10.1145\/3064176.3064188"}],"event":{"name":"2017 32nd IEEE\/ACM International Conference on Automated Software Engineering (ASE)","location":"Urbana, IL","start":{"date-parts":[[2017,10,30]]},"end":{"date-parts":[[2017,11,3]]}},"container-title":["2017 32nd IEEE\/ACM International Conference on Automated Software Engineering (ASE)"],"original-title":[],"link":[{"URL":"http:\/\/xplorestaging.ieee.org\/ielx7\/8106906\/8115603\/08115663.pdf?arnumber=8115663","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,10,6]],"date-time":"2019-10-06T14:31:13Z","timestamp":1570372273000},"score":1,"resource":{"primary":{"URL":"http:\/\/ieeexplore.ieee.org\/document\/8115663\/"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017,10]]},"references-count":65,"URL":"https:\/\/doi.org\/10.1109\/ase.2017.8115663","relation":{},"subject":[],"published":{"date-parts":[[2017,10]]}}}