Saba Alimadadi, Sheldon Sequira, Ali Mesbah and Karthik Pattabiraman, To appear in the Proceedings of the ACM/IEEE International Conference on Software Engineering (ICSE), 2014 (Acceptance Rate: 20%). [ PDF | Talk ]
ACM SIGSOFT Distinguished Paper Award (one of 9 accepted papers)
You can find the technical report version of this paper here. An article about this paper appeared here.
Abstract: Web applications have become one of the fastest growing types of software systems today. Despite their popularity, understanding the behaviour of modern web applications is still a challenging endeavour for developers during develop- ment and maintenance tasks. The challenges mainly stem from the dynamic, intricate event-driven, and asynchronous nature of the JavaScript language. We propose a generic technique for capturing low-level event-based interactions in a web application and mapping those to a higher-level behavioural model. This model is then transformed into an interactive visualization, representing episodes of triggered causal and temporal events, related JavaScript code executions, and their impact on the dynamic DOM state. Our approach, implemented in a tool called Clematis, allows developers to easily understand the complex dynamic behaviour of their application at three different semantic levels of granularity. The results of our industrial controlled experiment show that Clematis is capable of improving the accuracy by 61%, while reducing the task completion time by 47%.