JavaScript Errors in the Wild: An Empirical Study

Frolin Ocariza, Karthik Pattabiraman and Benjamin Zorn, International Symposium on Software Reliability Engineering (ISSRE), 2011. [ PDF File | Talk ]
You can find the technical report version of the paper here.

Abstract: Client-side JavaScript is being widely used in popular web applications to improve functionality, increase responsiveness, and decrease load times. However, it is challenging to build reliable applications using JavaScript. This paper presents an empirical characterization of the error messages printed by JavaScript code in web applications, and attempts to understand their root causes. We find that JavaScript errors occur in production web applications, and that the errors fall into a small number of categories. We further find that both non-deterministic and deterministic errors occur in the applications, and that the speed of testing plays an important role in exposing errors. Finally, we study the correlations among the static and dynamic properties of the application and the frequency of errors in it in order to understand the root causes of the errors.