{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,9,6]],"date-time":"2024-09-06T09:06:08Z","timestamp":1725613568220},"reference-count":43,"publisher":"IEEE","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2018,3]]},"DOI":"10.1109\/saner.2018.8330227","type":"proceedings-article","created":{"date-parts":[[2018,4,6]],"date-time":"2018-04-06T04:41:53Z","timestamp":1522989713000},"page":"402-412","source":"Crossref","is-referenced-by-count":1,"title":["Automated refactoring of client-side JavaScript code to ES6 modules"],"prefix":"10.1109","author":[{"given":"Aikaterini","family":"Paltoglou","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Vassilis E.","family":"Zafeiris","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"E. A.","family":"Giakoumakis","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"N. A.","family":"Diamantidis","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"263","reference":[{"journal-title":"Compilers Principles Techniques and Tools (2nd Edition)","year":"2006","author":"aho","key":"ref39"},{"journal-title":"CLOC tool","year":"2017","author":"waldron","key":"ref38"},{"key":"ref33","doi-asserted-by":"publisher","DOI":"10.1145\/2338965.2336758"},{"key":"ref32","doi-asserted-by":"publisher","DOI":"10.1145\/2048147.2048200"},{"key":"ref31","doi-asserted-by":"publisher","DOI":"10.1145\/2048066.2048078"},{"key":"ref30","doi-asserted-by":"publisher","DOI":"10.1109\/ICST.2017.28"},{"journal-title":"Exploring ES6 Upgrade to the next version of JavaScript","year":"2017","author":"rauschmayer","key":"ref37"},{"journal-title":"Eloquent JavaScript A Modern Introduction to Programming","year":"2014","author":"haverbeke","key":"ref36"},{"key":"ref35","first-page":"1","article-title":"Refactoring legacy J avaScript code to use classes: The good, the bad and the ugly","author":"silva","year":"2017","journal-title":"6th International Conference on Software Reuse (ICSR)"},{"key":"ref34","doi-asserted-by":"publisher","DOI":"10.1002\/smr.1864"},{"journal-title":"Refactoring Improving the Design of Existing Code","year":"1999","author":"fowler","key":"ref10"},{"key":"ref40","first-page":"752","article-title":"Efficfent construction of approximate call graphs for javascript ide services","author":"feldthaus","year":"2013","journal-title":"Proceedings of the 2013 International Conference on Software Engineering Ser ICSE '13"},{"key":"ref11","doi-asserted-by":"publisher","DOI":"10.1002\/(SICI)1096-9942(1997)3:4<253::AID-TAPO3>3.0.CO;2-T"},{"journal-title":"Refactoring Object-Oriented Frameworks","year":"1992","author":"opdyke","key":"ref12"},{"key":"ref13","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-03237-0_17"},{"key":"ref14","doi-asserted-by":"publisher","DOI":"10.1109\/ICSME.2016.29"},{"key":"ref15","article-title":"JSDeodor-ant: Class-awareness for JavaScript programs","author":"eshkevari","year":"2017","journal-title":"Proceedings of the 39th International Conference on Software Engineering Companion"},{"key":"ref16","doi-asserted-by":"publisher","DOI":"10.1109\/SANER.2017.7884647"},{"key":"ref17","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2011.39"},{"journal-title":"Closure Compiler","year":"2017","key":"ref18"},{"journal-title":"Rhino Javascript Engine","year":"2017","key":"ref19"},{"key":"ref28","doi-asserted-by":"publisher","DOI":"10.1145\/2984043.2998545"},{"key":"ref4","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-31057-7_20"},{"key":"ref27","doi-asserted-by":"publisher","DOI":"10.1145\/2771783.2771809"},{"journal-title":"Learning JavcScript Design Patterns","year":"2012","author":"osmani","key":"ref3"},{"key":"ref6","doi-asserted-by":"publisher","DOI":"10.1145\/953353.953355"},{"key":"ref29","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2016.2586066"},{"key":"ref5","doi-asserted-by":"publisher","DOI":"10.4236\/jsea.2013.65033"},{"journal-title":"JavaScript Patterns","year":"2010","author":"stefanov","key":"ref8"},{"journal-title":"Maintainable JavaScript","year":"2012","author":"zakas","key":"ref7"},{"key":"ref2","doi-asserted-by":"publisher","DOI":"10.1145\/2544173.2509520"},{"journal-title":"T J Watson Libraries for Analysis","year":"2017","key":"ref9"},{"journal-title":"JavaScript The Good Parts","year":"2008","author":"crockford","key":"ref1"},{"key":"ref20","doi-asserted-by":"crossref","first-page":"116","DOI":"10.1109\/SCAM.2013.6648192","article-title":"JSNOSE: Detecting JavaScript Code Smells","author":"fard","year":"2013","journal-title":"IEEE 13th International Working Conference on Source Code Analysis and Manipulation (SCAM)"},{"key":"ref22","doi-asserted-by":"publisher","DOI":"10.1145\/2889160.2889227"},{"key":"ref21","first-page":"294","article-title":"An empirical study of code smells in J avaScript projects","author":"saboury","year":"2017","journal-title":"24th IEEE International Conference on Software Analysis Evolution and Reengineering (SANER)"},{"journal-title":"Babel","year":"2017","key":"ref42"},{"journal-title":"Jslint","year":"2017","author":"crockford","key":"ref24"},{"journal-title":"Software complexity analysis for J avaScript projects","year":"2017","author":"report","key":"ref41"},{"journal-title":"Jshint","year":"2017","author":"waldron","key":"ref23"},{"key":"ref26","doi-asserted-by":"publisher","DOI":"10.1145\/2950290.2950308"},{"journal-title":"Webpack modulwe bundler","year":"2017","key":"ref43"},{"key":"ref25","article-title":"Using J avaScript Static Checkers on GitHub Systems: A First Evaluation","author":"adriano","year":"2015","journal-title":"III Workshop on Sofware Visualization Evolution and Maitenance"}],"event":{"name":"2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER)","start":{"date-parts":[[2018,3,20]]},"location":"Campobasso","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\/08330227.pdf?arnumber=8330227","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,10,14]],"date-time":"2019-10-14T05:56:10Z","timestamp":1571032570000},"score":1,"resource":{"primary":{"URL":"http:\/\/ieeexplore.ieee.org\/document\/8330227\/"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018,3]]},"references-count":43,"URL":"https:\/\/doi.org\/10.1109\/saner.2018.8330227","relation":{},"subject":[],"published":{"date-parts":[[2018,3]]}}}