{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,8,2]],"date-time":"2025-08-02T14:52:50Z","timestamp":1754146370771,"version":"3.41.2"},"reference-count":115,"publisher":"Institute of Electrical and Electronics Engineers (IEEE)","issue":"7","license":[{"start":{"date-parts":[[2025,7,1]],"date-time":"2025-07-01T00:00:00Z","timestamp":1751328000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/ieeexplore.ieee.org\/Xplorehelp\/downloads\/license-information\/IEEE.html"},{"start":{"date-parts":[[2025,7,1]],"date-time":"2025-07-01T00:00:00Z","timestamp":1751328000000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-029"},{"start":{"date-parts":[[2025,7,1]],"date-time":"2025-07-01T00:00:00Z","timestamp":1751328000000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-037"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["IIEEE Trans. Software Eng."],"published-print":{"date-parts":[[2025,7]]},"DOI":"10.1109\/tse.2025.3571192","type":"journal-article","created":{"date-parts":[[2025,5,16]],"date-time":"2025-05-16T13:44:08Z","timestamp":1747403048000},"page":"1969-1995","source":"Crossref","is-referenced-by-count":0,"title":["Proactive Debugging of Memory Leakage Bugs in Single Page Web Applications"],"prefix":"10.1109","volume":"51","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-7856-5592","authenticated-orcid":false,"given":"Arooba","family":"Shahoor","sequence":"first","affiliation":[{"name":"WithPlaybook, Inc., Seoul, Republic of Korea"}]},{"ORCID":"https:\/\/orcid.org\/0009-0003-9611-7536","authenticated-orcid":false,"given":"Satbek","family":"Abdyldayev","sequence":"additional","affiliation":[{"name":"Department of Computer Science and Engineering, Ulsan National Institute of Science and Technology (UNIST), Ulsan, Republic of Korea"}]},{"ORCID":"https:\/\/orcid.org\/0009-0000-3372-5583","authenticated-orcid":false,"given":"Hyeongi","family":"Hong","sequence":"additional","affiliation":[{"name":"Department of Computer Science and Engineering, Ulsan National Institute of Science and Technology (UNIST), Ulsan, Republic of Korea"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-7215-0855","authenticated-orcid":false,"given":"Jooyong","family":"Yi","sequence":"additional","affiliation":[{"name":"Department of Computer Science and Engineering, Ulsan National Institute of Science and Technology (UNIST), Ulsan, Republic of Korea"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-0272-6860","authenticated-orcid":false,"given":"Dongsun","family":"Kim","sequence":"additional","affiliation":[{"name":"Department of Computer Science and Engineering, Korea University, Seoul, Republic of Korea"}]}],"member":"263","reference":[{"year":"2023","key":"ref1","article-title":"roosterjs"},{"article-title":"Memory leaks and memory consumption in web applications (part 1).","year":"2024","author":"Lazarov","key":"ref2"},{"key":"ref3","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-4302-6674-7"},{"article-title":"What are single page applications and why do people like them so much?","year":"2024","author":"Lawson","key":"ref4"},{"year":"2023","key":"ref5","article-title":"4 Types of Memory Leaks in JavaScript and How to Get Rid Of Them"},{"year":"2023","key":"ref6","article-title":"roosterjs"},{"year":"2023","key":"ref7","article-title":"Window: hashchange event - web APIS $|$| MDN"},{"key":"ref8","doi-asserted-by":"publisher","DOI":"10.1109\/BigData52589.2021.9671473"},{"key":"ref9","doi-asserted-by":"publisher","DOI":"10.1145\/2786805.2786860"},{"key":"ref10","doi-asserted-by":"publisher","DOI":"10.18293\/SEKE2018-151"},{"key":"ref11","doi-asserted-by":"publisher","DOI":"10.1002\/spe.2406"},{"key":"ref12","doi-asserted-by":"publisher","DOI":"10.1145\/3422598"},{"key":"ref13","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2013.6606623"},{"key":"ref14","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-019-09780-z"},{"key":"ref15","doi-asserted-by":"publisher","DOI":"10.1145\/3293882.3330577"},{"key":"ref16","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2013.6606626"},{"key":"ref17","doi-asserted-by":"publisher","DOI":"10.1145\/3318162"},{"key":"ref18","first-page":"1175","article-title":"Leakpair: Proactive repairing of memory leaks in single page web applications","volume-title":"Proc. 38th IEEE\/ACM Int. Conf. Automated Softw. Eng. (ASE)","author":"Shahoor","year":"2023"},{"year":"2024","key":"ref19","article-title":"Angular"},{"year":"2024","key":"ref20","article-title":"React"},{"year":"2024","key":"ref21","article-title":"GPT-4"},{"key":"ref22","doi-asserted-by":"publisher","DOI":"10.1145\/3650212.3680323"},{"year":"2024","key":"ref23","article-title":"Feb, Garbage collection in redux applications"},{"year":"2024","key":"ref24","article-title":"Redux - A JS library for predictable and maintainable global state management$|$| Redux"},{"year":"2023","key":"ref25","article-title":"Introducing fuite: a tool for finding memory leaks in web apps"},{"year":"2023","key":"ref26","article-title":"A tour of V8: Garbage collection"},{"year":"2023","key":"ref27","article-title":"Pomodore-discord-bot"},{"year":"2023","key":"ref28","article-title":"Strange Nodejs memory leak"},{"year":"2023","key":"ref29","article-title":"angular"},{"year":"2023","key":"ref30","article-title":"Solving memory leaks in large react application"},{"year":"2023","key":"ref31","article-title":"angular"},{"year":"2023","key":"ref32","article-title":"BloatBusters - WebPerfDays"},{"article-title":"How we resolved a memory leak on our website","year":"2021","author":"C","key":"ref33"},{"year":"2023","key":"ref34","article-title":"The heap snapshot file format - Microsoft Edge Development"},{"key":"ref35","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2015.100"},{"key":"ref36","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2009.5070536"},{"key":"ref37","doi-asserted-by":"publisher","DOI":"10.1145\/3468264.3468544"},{"key":"ref38","doi-asserted-by":"publisher","DOI":"10.1145\/3395363.3397369"},{"key":"ref39","doi-asserted-by":"publisher","DOI":"10.1145\/3180155.3180250"},{"key":"ref40","doi-asserted-by":"publisher","DOI":"10.1145\/3377811.3380323"},{"key":"ref41","doi-asserted-by":"publisher","DOI":"10.1145\/2568225.2568257"},{"key":"ref42","doi-asserted-by":"publisher","DOI":"10.1109\/SANER.2018.8330202"},{"key":"ref43","doi-asserted-by":"publisher","DOI":"10.1145\/3213846.3213871"},{"key":"ref44","article-title":"MemLab: An open source framework for finding JavaScript memory leaks","author":"Liang Gong","year":"2022","journal-title":"Eng. Meta"},{"year":"2023","key":"ref45","article-title":"RxJS - Observable"},{"year":"2023","key":"ref46","article-title":"RxJS - takeUntil"},{"year":"2023","key":"ref47","article-title":"Codecademy"},{"year":"2023","key":"ref48","article-title":"Window.requestAnimationFrame() - Web APIs | MDN"},{"year":"2024","key":"ref49","article-title":"Events API $|$| Vue 3 Migration Guide"},{"key":"ref50","doi-asserted-by":"publisher","DOI":"10.1109\/saner.2019.8667970"},{"year":"2024","key":"ref51","article-title":"Mar, leakpair-study-replication"},{"key":"ref52","first-page":"2023","article-title":"Babel \u00b7 The Compiler for Next Gener. JavaScript","volume":"17","year":"2022"},{"year":"2023","key":"ref53","article-title":"jscodeshift"},{"year":"2023","key":"ref54","article-title":"recast"},{"year":"2023","key":"ref55","article-title":"react-zoom-pan-pinch"},{"year":"2023","key":"ref56","article-title":"angular-components"},{"year":"2023","key":"ref57","article-title":"evergreen"},{"year":"2023","key":"ref58","article-title":"ngx-datatable"},{"year":"2023","key":"ref59","article-title":"react-multi-carousel"},{"year":"2023","key":"ref60","article-title":"angular-UI"},{"year":"2023","key":"ref61","article-title":"retail-UI"},{"year":"2023","key":"ref62","article-title":"NDB-core"},{"year":"2023","key":"ref63","article-title":"DevTools"},{"year":"2023","key":"ref64","article-title":"ngx-bootstrap"},{"year":"2023","key":"ref65","article-title":"DefiChain-income"},{"year":"2023","key":"ref66","article-title":"collosal"},{"year":"2023","key":"ref67","article-title":"tbt-website"},{"year":"A","key":"ref68","article-title":"mempool"},{"year":"2023","key":"ref69","article-title":"DSpace-angular"},{"year":"2023","key":"ref70","article-title":"PrimeNG"},{"year":"2023","key":"ref71","article-title":"NGX-formly"},{"year":"2023","key":"ref72","article-title":"studio"},{"year":"2024","key":"ref73","article-title":"BootstrapVue"},{"year":"2024","key":"ref74","article-title":"chatwoot"},{"year":"2024","key":"ref75","article-title":"think-vuele"},{"year":"2024","key":"ref76","article-title":"vue-admin-better"},{"year":"2024","key":"ref77","article-title":"vue-grid-layout"},{"year":"2024","key":"ref78","article-title":"weaverbird"},{"year":"2024","key":"ref79","article-title":"auto-animate"},{"year":"2024","key":"ref80","article-title":"vue-snap"},{"year":"2024","key":"ref81","article-title":"element"},{"year":"2024","key":"ref82","article-title":"lan-ui"},{"year":"2024","key":"ref83","article-title":"iVIEW"},{"year":"2024","key":"ref84","article-title":"buefy"},{"year":"2023","key":"ref85","article-title":"fundamental-NGX"},{"year":"2023","key":"ref86","article-title":"material-UI"},{"year":"2023","key":"ref87","article-title":"material.angular.io"},{"year":"2023","key":"ref88","article-title":"octant"},{"year":"2023","key":"ref89","article-title":"transloco"},{"year":"2023","key":"ref90","article-title":"Fix memory leaks by Louptheron $\\cdot$\u22c5 Pull Request #953 $\\cdot$\u22c5 MTES-MCT\/monitorfish"},{"year":"2023","key":"ref91","article-title":"react-customizable-progressbar"},{"year":"2023","key":"ref92","article-title":"fixed useEffect memory leak error by yoon-bbox \u00b7 Pull Request #49 $\\cdot$\u22c5 BalloonBox-Inc\/scrt-network-oracle-client"},{"year":"2023","key":"ref93","article-title":"website"},{"year":"2023","key":"ref94","article-title":"patternfly-react"},{"year":"2023","key":"ref95","article-title":"fix: input refocused after blur by ThanoozN $\\cdot$\u22c5 Pull Request #541 $\\cdot$\u22c5 s-yadav\/react-number-format,"},{"year":"2023","key":"ref96","article-title":"Fix missing clear timeout by tjbo $\\cdot$\u22c5 Pull Request #731 $\\cdot$\u22c5 helpscout\/hsds-react,"},{"year":"2023","key":"ref97","article-title":"Fix bugs and styling by edreichua $\\cdot$\u22c5 Pull Request #233 \u00b7 dartmouth-cs98\/project-dartmap"},{"year":"2024","key":"ref98","article-title":"Vue-tree"},{"year":"2024","key":"ref99","article-title":"openMCT"},{"year":"2024","key":"ref100","article-title":"CLRfund"},{"year":"2024","key":"ref101","article-title":"web-mapviewer"},{"year":"2024","key":"ref102","article-title":"InstaLog"},{"year":"2024","key":"ref103","article-title":"n8n"},{"year":"2024","key":"ref104","article-title":"UI"},{"year":"2024","key":"ref105","article-title":"pycontw-frontend"},{"year":"2024","key":"ref106","article-title":"J. 2nfm"},{"year":"2024","key":"ref107","article-title":"docs"},{"key":"ref108","doi-asserted-by":"publisher","DOI":"10.1214\/aoms\/1177730491.MR0022058.Zbl0041.26103"},{"year":"2024","key":"ref109","article-title":"AbortController - Web APIs $|$| MDN"},{"year":"2024","key":"ref110","article-title":"ng-clarity"},{"year":"2023","key":"ref111","article-title":"octant"},{"year":"2023","key":"ref112","article-title":"Patternfly-react"},{"year":"2023","key":"ref113","article-title":"retail-UI"},{"key":"ref114","doi-asserted-by":"publisher","DOI":"10.1145\/2635868.2635873"},{"year":"2024","key":"ref115","article-title":"IEEE xplore full-text pdf:"}],"container-title":["IEEE Transactions on Software Engineering"],"original-title":[],"link":[{"URL":"http:\/\/xplorestaging.ieee.org\/ielx8\/32\/11082747\/11006504.pdf?arnumber=11006504","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,7,18]],"date-time":"2025-07-18T04:40:12Z","timestamp":1752813612000},"score":1,"resource":{"primary":{"URL":"https:\/\/ieeexplore.ieee.org\/document\/11006504\/"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,7]]},"references-count":115,"journal-issue":{"issue":"7"},"URL":"https:\/\/doi.org\/10.1109\/tse.2025.3571192","relation":{},"ISSN":["0098-5589","1939-3520","2326-3881"],"issn-type":[{"type":"print","value":"0098-5589"},{"type":"electronic","value":"1939-3520"},{"type":"electronic","value":"2326-3881"}],"subject":[],"published":{"date-parts":[[2025,7]]}}}