This Is AuburnElectronic Theses and Dissertations

JavaScript: The Used Parts




Sharath, Gude

Type of Degree



Computer Science


JavaScript is designed as a scripting language which gained mainstream adoption even without creation of proper formal standard. The success of JavaScript could be attributed to the explosion of the internet and simplicity of its usage. Even though web is still its strongest domain, JavaScript is a language constantly evolving. The language is now used in OS free Desktop application development, databases etc. The standards committee wants to revamp the standard with addition of new features and provide solutions to controversial features of language[1]. This needs a large scale empirical studies spanning all diverse paradigms of JavaScript. The interpreted nature of language needs a proper mechanism to perform both static and dynamic analysis. These analyses should be analyzed and interpreted to understand the general usage of language by the programming community and formulate the best ways to evolve the language. The inherent misconceptions among the programming community about the language are to be studied, usage patterns are to be analyzed to generate data on usage of features and thus justifying an argument for need to re ne the feature. The thesis explores the features in the language deemed problematic by experts, the way these features are used by the programming community and the need for re ning these features backed up with an empirical study. The corpus for our empirical study is larger than any study on JavaScript until now with over million scripts and from variegated sources. The current goal of standards committee is to divorce the language from the perception of being a simple scripting language and get the language evolved to be a mainstream programming language. Our work will help in formulating a new direction for the future standards, justi es the need for proposed changes in next speci cation ECMAScript 6 and root out widespread myths in programming community.