Does JavaScript software embrace classes? - Inria - Institut national de recherche en sciences et technologies du numérique Accéder directement au contenu
Communication Dans Un Congrès Année : 2015

Does JavaScript software embrace classes?

Résumé

JavaScript is the de facto programming language for the Web. It is used to implement mail clients, office applications, or IDEs, that can weight hundreds of thousands of lines of code. The language itself is prototype based, but to master the complexity of their application, practitioners commonly rely on some informal class abstractions. This practice has never been the target of empirical investigations in JavaScript. Yet, understanding it would be key to adequately tune programming environments and structure libraries such as they are accessible to programmers. In this paper we report a large and in-depth study to understand how class emulation is employed in JavaScript applications. We propose a strategy to statically detect class-based abstractions in the source code of JavaScript systems. We used this strategy in a dataset of 50 popular JavaScript applications available from GitHub. We found systems structured around hundreds of classes, suggesting that JavaScript developers are standing on traditional class-based abstractions to tackle the growing complexity of their systems.
Fichier principal
Vignette du fichier
saner2015.pdf (294.04 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

hal-01185854 , version 1 (21-08-2015)

Licence

Copyright (Tous droits réservés)

Identifiants

Citer

Leonardo Humberto Silva, Miguel Ramos, Marco Tulio Valente, Alexandre Bergel, Nicolas Anquetil. Does JavaScript software embrace classes?. SANER 2015 : International Conference on Software Analysis, Evolution, and Reengineering, Mar 2015, Montreal, Canada. pp.73 - 82, ⟨10.1109/SANER.2015.7081817⟩. ⟨hal-01185854⟩
483 Consultations
685 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More