Hybrid DOM-Sensitive Change Impact Analysis for JavaScript

Abstract

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%. 1998 ACM Subject Classification D.2.5 Testing and Debugging, D.2.7 Distribution, Maintenance, and Enhancement

DOI: 10.4230/LIPIcs.ECOOP.2015.321
View Slides

Extracted Key Phrases

12 Figures and Tables

Cite this paper

@inproceedings{Alimadadi2015HybridDC, title={Hybrid DOM-Sensitive Change Impact Analysis for JavaScript}, author={Saba Alimadadi and Ali Mesbah and Karthik Pattabiraman}, booktitle={ECOOP}, year={2015} }