“Hybrid DOM-Sensitive Change Impact Analysis for JavaScript”, Saba Alimadadi, Ali Mesbah, and Karthik Pattabiraman.
In Proceedings of the European Conference on Object-Oriented Programming (ECOOP), 321–345, 2015


JavaScript has grown to be among the most popular programming languages. However, performing change impact analysis on JavaScript applications is challenging due to features such as the seamless interplay with the DOM, event-driven and dynamic function calls, and asynchronous client/server communication. We first perform an empirical study of change propagation, the results of which show that the DOM-related and dynamic features of JavaScript need to be taken into consideration in the analysis since they affect change impact propagation. We propose a DOM-sensitive hybrid change impact analysis technique for JavaScript through a combination of static and dynamic analysis. The proposed approach incorporates a novel ranking algorithm for indicating the importance of each entity in the impact set. Our approach is implemented in a tool called Tochal. The results of our evaluation reveal that Tochal provides a more complete analysis compared to static or dynamic methods. Moreover, through an industrial controlled experiment, we find that Tochal helps developers by improving their task completion duration by 78% and accuracy by 223%.


  author = {Alimadadi, Saba and Mesbah, Ali and Pattabiraman, Karthik},
  title = {Hybrid {DOM}-Sensitive Change Impact Analysis for {JavaScript}},
  booktitle = {Proceedings of the European Conference on Object-Oriented Programming (ECOOP)},
  publisher = {LIPIcs},
  pages = {321--345},
  year = {2015},
  url = {http://salt.ece.ubc.ca/publications/docs/ecoop15.pdf},
  youtube = {7DsSxmTfgDY}