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. The results of our motivational empirical study 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 to improve their maintenance task completion duration by 44% and accuracy by 70%.
Thu 9 JulDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
10:30 - 12:00 | |||
10:30 30mTalk | Optimization Coaching for JavaScript Research Track | ||
11:00 30mTalk | PerfBlower: Quickly Detecting Memory-Related Performance Problems via Amplification Research Track | ||
11:30 30mTalk | Hybrid DOM-Sensitive Change Impact Analysis for JavaScript Research Track Saba Alimadadi University of British Columbia, Ali Mesbah University of British Columbia, Karthik Pattabiraman University of British Columbia |