Does JavaScript software embrace classes?

Abstract : 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.
Type de document :
Communication dans un congrès
SANER 2015 : International Conference on Software Analysis, Evolution, and Reengineering, Mar 2015, Montreal, Canada. pp.73 - 82, 2015, 〈10.1109/SANER.2015.7081817〉
Liste complète des métadonnées

Littérature citée [25 références]  Voir  Masquer  Télécharger

https://hal.inria.fr/hal-01185854
Contributeur : Lse Lse <>
Soumis le : vendredi 21 août 2015 - 16:59:10
Dernière modification le : mercredi 25 avril 2018 - 15:43:27
Document(s) archivé(s) le : mercredi 26 avril 2017 - 10:08:14

Fichier

saner2015.pdf
Fichiers produits par l'(les) auteur(s)

Licence


Copyright (Tous droits réservés)

Identifiants

Collections

Citation

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, 2015, 〈10.1109/SANER.2015.7081817〉. 〈hal-01185854〉

Partager

Métriques

Consultations de la notice

243

Téléchargements de fichiers

646