{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,9,28]],"date-time":"2025-09-28T04:20:50Z","timestamp":1759033250948,"version":"3.40.3"},"publisher-location":"Cham","reference-count":19,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783319568553"},{"type":"electronic","value":"9783319568560"}],"license":[{"start":{"date-parts":[[2017,1,1]],"date-time":"2017-01-01T00:00:00Z","timestamp":1483228800000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2017]]},"DOI":"10.1007\/978-3-319-56856-0_11","type":"book-chapter","created":{"date-parts":[[2017,4,5]],"date-time":"2017-04-05T06:10:30Z","timestamp":1491372630000},"page":"155-171","source":"Crossref","is-referenced-by-count":5,"title":["Refactoring Legacy JavaScript Code to Use Classes: The Good, The Bad and The Ugly"],"prefix":"10.1007","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-2807-6798","authenticated-orcid":false,"given":"Leonardo Humberto","family":"Silva","sequence":"first","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0002-8180-7548","authenticated-orcid":false,"given":"Marco Tulio","family":"Valente","sequence":"additional","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0001-8087-1903","authenticated-orcid":false,"given":"Alexandre","family":"Bergel","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2017,4,5]]},"reference":[{"issue":"3","key":"11_CR1","doi-asserted-by":"crossref","first-page":"60","DOI":"10.1109\/MS.2010.76","volume":"27","author":"H Kienle","year":"2010","unstructured":"Kienle, H.: It\u2019s about time to take JavaScript (more) seriously. IEEE Softw. 27(3), 60\u201362 (2010)","journal-title":"IEEE Softw."},{"key":"11_CR2","doi-asserted-by":"crossref","unstructured":"Ocariza Jr., F.S., Pattabiraman, K., Zorn, B.: JavaScript errors in the wild: an empirical study. In: 22nd IEEE International Symposium on Software Reliability Engineering (ISSRE), pp. 100\u2013109 (2011)","DOI":"10.1109\/ISSRE.2011.28"},{"key":"11_CR3","doi-asserted-by":"crossref","unstructured":"Nederlof, A., Mesbah, A., van Deursen, A.: Software engineering for the web: the state of the practice. In: 36th International Conference on Software Engineering (ICSE), pp. 4\u201313 (2014)","DOI":"10.1145\/2591062.2591170"},{"key":"11_CR4","doi-asserted-by":"crossref","unstructured":"Borges, H., Hora, A., Valente, M.T.: Understanding the factors that impact the popularity of GitHub repositories. In: 32nd International Conference on Software Maintenance and Evolution (ICSME), pp. 1\u201310 (2016)","DOI":"10.1109\/ICSME.2016.31"},{"key":"11_CR5","unstructured":"Borning, A.H.: Classes versus prototypes in object-oriented languages. In: ACM Fall Joint Computer Conference, pp. 36\u201340 (1986)"},{"key":"11_CR6","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"126","DOI":"10.1007\/978-3-642-14107-2_7","volume-title":"ECOOP 2010 \u2013 Object-Oriented Programming","author":"A Guha","year":"2010","unstructured":"Guha, A., Saftoiu, C., Krishnamurthi, S.: The essence of JavaScript. In: D\u2019Hondt, T. (ed.) ECOOP 2010. LNCS, vol. 6183, pp. 126\u2013150. Springer, Heidelberg (2010). doi: 10.1007\/978-3-642-14107-2_7"},{"key":"11_CR7","unstructured":"European Association for Standardizing Information and Communication Systems (ECMA). ECMAScript Language Specification, 6th edn. (2015)"},{"key":"11_CR8","doi-asserted-by":"crossref","unstructured":"Silva, L.H., Ramos, M., Valente, M.T., Bergel, A., Anquetil, N.: Does JavaScript software embrace classes? In: 22nd IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER), pp. 73\u201382 (2015)","DOI":"10.1109\/SANER.2015.7081817"},{"key":"11_CR9","unstructured":"Silva, L.H., Hovadick, D., Valente, M.T., Bergel, A., Anquetil, N., Etien, A.: JSClassFinder: a tool to detect class-like structures in JavaScript. In: 6th Brazilian Conference on Software (CBSoft), Tools Demonstration Track, pp. 113\u2013120 (2015)"},{"key":"11_CR10","doi-asserted-by":"crossref","first-page":"191","DOI":"10.1016\/j.jss.2016.04.045","volume":"121","author":"M Hafiz","year":"2016","unstructured":"Hafiz, M., Hasan, S., King, Z., Wirfs-Brock, A.: Growing a language: an empirical study on how (and why) developers use some recently-introduced and\/or recently-evolving JavaScript features. J. Syst. Softw. (JSS) 121, 191\u2013208 (2016)","journal-title":"J. Syst. Softw. (JSS)"},{"key":"11_CR11","doi-asserted-by":"crossref","unstructured":"Gama, W., Alalfi, M., Cordy, J., Dean, T.: Normalizing object-oriented class styles in JavaScript. In: 14th IEEE International Symposium on Web Systems Evolution (WSE), pp. 79\u201383 (2012)","DOI":"10.1109\/WSE.2012.6320536"},{"key":"11_CR12","doi-asserted-by":"crossref","unstructured":"Nagappan, N., Ball, T.: Use of relative code churn measures to predict system defect density. In: 27th International Conference on Software Engineering (ICSE), pp. 284\u2013292 (2005)","DOI":"10.1145\/1062455.1062514"},{"key":"11_CR13","volume-title":"Refactoring: Improving the Design of Existing Code","author":"M Fowler","year":"1999","unstructured":"Fowler, M.: Refactoring: Improving the Design of Existing Code. Addison-Wesley, Boston (1999)"},{"issue":"5","key":"11_CR14","doi-asserted-by":"crossref","first-page":"49","DOI":"10.5381\/jot.2009.8.5.c5","volume":"8","author":"S Apel","year":"2009","unstructured":"Apel, S., K\u00e4stner, C.: An overview of feature-oriented software development. J. Object Technol. 8(5), 49\u201384 (2009)","journal-title":"J. Object Technol."},{"key":"11_CR15","doi-asserted-by":"crossref","unstructured":"Silva, L.H., Valente, M.T., Bergel, A.: Statically identifying class dependencies in legacy JavaScript systems: first results. In: 24th IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER), Early Research Achievements (ERA) Track, pp. 1\u20135 (2017)","DOI":"10.1109\/SANER.2017.7884647"},{"key":"11_CR16","doi-asserted-by":"crossref","unstructured":"Rostami, S., Eshkevari, L., Mazinanian, D., Tsantalis, N.: Detecting function constructors in JavaScript. In: 32nd IEEE International Conference on Software Maintenance and Evolution (ICSME), pp. 1\u20135 (2016)","DOI":"10.1109\/ICSME.2016.29"},{"key":"11_CR17","doi-asserted-by":"crossref","unstructured":"Feldthaus, A., Millstein, T.D., M\u00f8ller, A., Sch\u00e4fer, M., Tip, F.: Refactoring towards the good parts of JavaScript. In: 26th Conference on Object-Oriented Programming (OOPSLA), pp. 189\u2013190 (2011)","DOI":"10.1145\/2048147.2048200"},{"key":"11_CR18","doi-asserted-by":"crossref","unstructured":"Siff, M., Reps, T.: Program generalization for software reuse: from C to C++. In: 4th Symposium on Foundations of Software Engineering (FSE), pp. 135\u2013146 (1996)","DOI":"10.1145\/239098.239121"},{"key":"11_CR19","doi-asserted-by":"crossref","unstructured":"Kyriakakis, P., Chatzigeorgiou, A.: Maintenance patterns of large-scale PHP web applications. In: 30th IEEE International Conference on Software Maintenance and Evolution (ICSME), pp. 381\u2013390 (2014)","DOI":"10.1109\/ICSME.2014.60"}],"container-title":["Lecture Notes in Computer Science","Mastering Scale and Complexity in Software Reuse"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-319-56856-0_11","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,9,20]],"date-time":"2019-09-20T12:43:03Z","timestamp":1568983383000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-319-56856-0_11"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017]]},"ISBN":["9783319568553","9783319568560"],"references-count":19,"URL":"https:\/\/doi.org\/10.1007\/978-3-319-56856-0_11","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2017]]}}}