{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,9,29]],"date-time":"2026-09-29T13:45:19Z","timestamp":1790689519734,"version":"4.1.0"},"reference-count":32,"publisher":"IEEE","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2018,3]]},"DOI":"10.1109\/saner.2018.8330226","type":"proceedings-article","created":{"date-parts":[[2018,4,6]],"date-time":"2018-04-06T00:41:53Z","timestamp":1522975313000},"page":"291-401","source":"Crossref","is-referenced-by-count":24,"title":["An extensible approach for taming the challenges of JavaScript dead code elimination"],"prefix":"10.1109","author":[{"given":"Niels Groot","family":"Obbink","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Ivano","family":"Malavolta","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Gian Luca","family":"Scoccia","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Patricia","family":"Lago","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"263","reference":[{"key":"ref32","doi-asserted-by":"publisher","DOI":"10.1109\/SCAM.2013.6648192"},{"key":"ref31","doi-asserted-by":"publisher","DOI":"10.1145\/2610384.2610385"},{"key":"ref30","doi-asserted-by":"publisher","DOI":"10.1145\/2483760.2483788"},{"key":"ref10","author":"hidayat","year":"0","journal-title":"Lazy Parsing in JavaScript Engines"},{"key":"ref11","author":"h\u00f6ltt\u00e4","year":"0","journal-title":"New JavaScript techniques for rapid page loads"},{"key":"ref12","doi-asserted-by":"publisher","DOI":"10.1145\/1809028.1806598"},{"key":"ref13","doi-asserted-by":"publisher","DOI":"10.1145\/1543135.1542483"},{"key":"ref14","doi-asserted-by":"publisher","DOI":"10.1145\/2338965.2336758"},{"key":"ref15","doi-asserted-by":"publisher","DOI":"10.1145\/2398857.2384660"},{"key":"ref16","year":"0","journal-title":"Oskar Segersv&#x00E4;rd Brian Donovan Bogdan Chadkin rollup js"},{"key":"ref17","author":"rauschmayer","year":"0","journal-title":"Tree-shaking with web-pack 2 and babel 6"},{"key":"ref18","year":"0","journal-title":"ES6 modules support"},{"key":"ref19","year":"0","journal-title":"Closure Compiler"},{"key":"ref28","volume":"463","author":"baeza-yates","year":"1999","journal-title":"Modern Information Retrieval"},{"key":"ref4","doi-asserted-by":"publisher","DOI":"10.1109\/MobileSoft.2015.15"},{"key":"ref27","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-39259-7_28"},{"key":"ref3","doi-asserted-by":"publisher","DOI":"10.1145\/2554850.2554909"},{"key":"ref6","author":"palamarchuk","year":"0","journal-title":"A catalog of frontend javascript libraries"},{"key":"ref29","first-page":"78","article-title":"GATEKEEPER: Mostly Static Enforcement of Security and Reliability Policies for JavaScript Code","volume":"10","author":"guarnieri","year":"2009","journal-title":"USENIX Security Symposium"},{"key":"ref5","doi-asserted-by":"publisher","DOI":"10.1109\/MobServ.2015.14"},{"key":"ref8","doi-asserted-by":"publisher","DOI":"10.1145\/3004281"},{"key":"ref7","first-page":"228","article-title":"Dead code elimination through dependent types","author":"xi","year":"1999","journal-title":"Proc of the Fifth International Symposium on Practical Aspects of Declarative Languages"},{"key":"ref2","doi-asserted-by":"publisher","DOI":"10.1145\/3001878.3001881"},{"key":"ref9","author":"greif","year":"2016","journal-title":"The state of javascript developer survey"},{"key":"ref1","doi-asserted-by":"publisher","DOI":"10.1145\/3001854.3001863"},{"key":"ref20","author":"nielson","year":"2015","journal-title":"Principles of Program Analysis"},{"key":"ref22","doi-asserted-by":"crossref","first-page":"238","DOI":"10.1007\/978-3-642-03237-0_17","article-title":"Type analysis for JavaScript","author":"jensen","year":"2009","journal-title":"The 4th International Symposium on Static Analysis"},{"key":"ref21","doi-asserted-by":"publisher","DOI":"10.1145\/2635868.2635904"},{"key":"ref24","doi-asserted-by":"publisher","DOI":"10.1145\/2076021.2048078"},{"key":"ref23","year":"0","journal-title":"T J Watson Libraries for Analysis"},{"key":"ref26","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-84800-044-5"},{"key":"ref25","first-page":"435","article-title":"Correlation tracking for points-to analysis of JavaScript","author":"sridharan","year":"2012","journal-title":"European Conference on Object-Oriented Programming"}],"event":{"name":"2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER)","location":"Campobasso","start":{"date-parts":[[2018,3,20]]},"end":{"date-parts":[[2018,3,23]]}},"container-title":["2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER)"],"original-title":[],"link":[{"URL":"http:\/\/xplorestaging.ieee.org\/ielx7\/8326467\/8330182\/08330226.pdf?arnumber=8330226","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,10,14]],"date-time":"2019-10-14T01:56:04Z","timestamp":1571018164000},"score":1,"resource":{"primary":{"URL":"http:\/\/ieeexplore.ieee.org\/document\/8330226\/"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018,3]]},"references-count":32,"URL":"https:\/\/doi.org\/10.1109\/saner.2018.8330226","relation":{},"subject":[],"published":{"date-parts":[[2018,3]]}}}