Skip to Main content Skip to Navigation
Conference papers

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.
Document type :
Conference papers
Complete list of metadata

Cited literature [25 references]  Display  Hide  Download
Contributor : Lse Lse Connect in order to contact the contributor
Submitted on : Friday, August 21, 2015 - 4:59:10 PM
Last modification on : Thursday, March 31, 2022 - 4:37:45 AM
Long-term archiving on: : Wednesday, April 26, 2017 - 10:08:14 AM


Files produced by the author(s)





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⟩



Record views


Files downloads