Does JavaScript software embrace classes?
Document type :
Communication dans un congrès avec actes
Title :
Does JavaScript software embrace classes?
Author(s) :
Humberto Silva, Leonardo [Auteur]
Departamento de Ciência da Computação [Minas Gerais] [DCC - UFMG]
Ramos, Miguel [Auteur]
Departamento de Ciência da Computação [Minas Gerais] [DCC - UFMG]
Valente, Marco Tulio [Auteur]
Departamento de Ciência da Computação [Minas Gerais] [DCC - UFMG]
Bergel, Alexandre [Auteur]
Computer Science Department [Santiago] [DCC]
Anquetil, Nicolas [Auteur]
Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Departamento de Ciência da Computação [Minas Gerais] [DCC - UFMG]
Ramos, Miguel [Auteur]
Departamento de Ciência da Computação [Minas Gerais] [DCC - UFMG]
Valente, Marco Tulio [Auteur]
Departamento de Ciência da Computação [Minas Gerais] [DCC - UFMG]
Bergel, Alexandre [Auteur]
Computer Science Department [Santiago] [DCC]
Anquetil, Nicolas [Auteur]
Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Conference title :
SANER 2015 : International Conference on Software Analysis, Evolution, and Reengineering
City :
Montreal
Country :
Canada
Start date of the conference :
2015-03-02
Publication date :
2015-03
HAL domain(s) :
Informatique [cs]/Génie logiciel [cs.SE]
English abstract : [en]
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 ...
Show more >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.Show less >
Show more >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.Show less >
Language :
Anglais
Peer reviewed article :
Oui
Audience :
Internationale
Popular science :
Non
Collections :
Source :
Files
- https://hal.inria.fr/hal-01185854/document
- Open access
- Access the document
- https://hal.inria.fr/hal-01185854/document
- Open access
- Access the document
- https://hal.inria.fr/hal-01185854/document
- Open access
- Access the document
- https://hal.inria.fr/hal-01185854/document
- Open access
- Access the document
- document
- Open access
- Access the document
- saner2015.pdf
- Open access
- Access the document
- document
- Open access
- Access the document
- saner2015.pdf
- Open access
- Access the document