“Vejovis: Suggesting Fixes for JavaScript Faults”, Frolin Ocariza, Karthik Pattabiraman, and Ali Mesbah.
In Proceedings of the ACM/IEEE International Conference on Software Engineering (ICSE), 837–847, 2014
[PDF]  [Slides]


JavaScript is used in web applications for achieving rich user interfaces and implementing core functionality. Unfortunately, JavaScript code is known to be prone to faults. In an earlier study, we found that over 65% of such faults are caused by the interaction of JavaScript code with the DOM at runtime (DOM-related faults). In this paper, we first perform an analysis of 190 bug reports to understand fixes commonly applied by programmers to these DOM- related faults; we observe that parameter replacements and DOM element validations are common fix categories. Based on these findings, we propose an automated technique and tool, called Vejovis, for suggesting repairs for DOM-based JavaScript faults. To evaluate Vejovis, we conduct a case study in which we subject Vejovis to 22 real-world bugs across 11 applications. We find that Vejovis accurately suggests repairs for 20 out of the 22 bugs, and in 13 of the 20 cases, the correct fix was the top ranked one.


  author = {Ocariza, Frolin and Pattabiraman, Karthik and Mesbah, Ali},
  title = {Vejovis: Suggesting Fixes for JavaScript Faults},
  booktitle = {Proceedings of the ACM/IEEE International Conference on Software Engineering (ICSE)},
  publisher = {ACM},
  pages = {837--847},
  year = {2014},
  url = {http://salt.ece.ubc.ca/publications/docs/vejovis-icse14.pdf},
  slides = {40727306}