Show simple item record

Authordc.contributor.authorSilva, Leonardo Humberto 
Authordc.contributor.authorValente, Marco Tulio 
Authordc.contributor.authorBergel, Alexandre 
Authordc.contributor.authorAnquetil, Nicolás 
Authordc.contributor.authorEtien, Anne 
Admission datedc.date.accessioned2018-06-19T21:11:14Z
Available datedc.date.available2018-06-19T21:11:14Z
Publication datedc.date.issued2017
Cita de ítemdc.identifier.citationJournal of Software: Evolution and Process Vol. 29 (8): artículo e1864es_ES
Identifierdc.identifier.other10.1002/smr.1864
Identifierdc.identifier.urihttps://repositorio.uchile.cl/handle/2250/149031
Abstractdc.description.abstractJavaScript is the most popular programming language for the Web. Although the language is prototype-based, developers can emulate class-based abstractions in JavaScript to master the increasing complexity of their applications. Identifying classes in legacy JavaScript code can support these developers at least in the following activities: (1) program comprehension; (2) migration to the new JavaScript syntax that supports classes; and (3) implementation of supporting tools, including IDEs with class-based views and reverse engineering tools. In this paper, we propose a strategy to detect class-based abstractions in the source code of legacy JavaScript systems. We report on a large and in-depth study to understand how class emulation is employed, using a dataset of 918 JavaScript applications available on GitHub. We found that almost 70% of the JavaScript systems we study make some usage of classes. We also performed a field study with the main developers of 60 popular JavaScript systems to validate our findings. The overall results range from 97% to 100% for precision, from 70% to 89% for recall, and from 82% to 94% for F-score.es_ES
Patrocinadordc.description.sponsorshipSTICAmSud 14STIC-02 FONDECYT 1160575es_ES
Lenguagedc.language.isoenes_ES
Publisherdc.publisherWileyes_ES
Type of licensedc.rightsAttribution-NonCommercial-NoDerivs 3.0 Chile*
Link to Licensedc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/3.0/cl/*
Sourcedc.sourceJournal of Software: Evolution and Processes_ES
Keywordsdc.subjectJavaScriptes_ES
Keywordsdc.subjectProgram comprehensiones_ES
Keywordsdc.subjectReverse engineeringes_ES
Títulodc.titleIdentifying classes in legacy JavaScript Codees_ES
Document typedc.typeArtículo de revista
Catalogueruchile.catalogadortjnes_ES
Indexationuchile.indexArtículo de publicación ISIes_ES


Files in this item

Icon

This item appears in the following Collection(s)

Show simple item record

Attribution-NonCommercial-NoDerivs 3.0 Chile
Except where otherwise noted, this item's license is described as Attribution-NonCommercial-NoDerivs 3.0 Chile