Dr. Mesbah receives an NSERC Discovery Accelerator (DAS) Award for 2016-2019. “The DAS Program provides substantial and timely resources to researchers who have a superior research program that is highly rated in terms of originality and innovation, and who show strong potential to become international leaders within their field.”

Best Full Paper Award at ESEM’15

Best Full Paper Award for the paper “Don’t Call Us, We’ll Call Y ou: Characterizing Callbacks in JavaScript”, by Keheliya Gallaba, Ali Mesbah, and Ivan Beschastnikh, at the 9th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM 2015).

Abstract: JavaScript is a popular language for developing web applications and is increasingly used for both client-side and server-side application logic. The JavaScript runtime is inherently event-driven and callbacks are a key language feature. Unfortunately, callbacks induce a non-linear control flow and can be deferred to execute asynchronously, declared anonymously, and may be nested to arbitrary levels. All of these features make callbacks difficult to understand and maintain. We perform an empirical study to characterize JavaScript callback usage across a representative corpus of 138 JavaScript programs, with over 5 million lines of JavaScript code. We find that on average, every 10th function definition takes a callback argument, and that over 43% of all callback-accepting function callsites are anonymous. Furthermore, the majority of callbacks are nested, more than half of all callbacks are asynchronous, and asynchronous callbacks, on average, appear more frequently in client-side code (72%) than server-side (55%). We also study three well-known solutions designed to help with the complexities associated with callbacks, including the error-first callback convention, Async.js library, and Promises. Our results inform the design of future JavaScript analysis and code comprehension tools.

Paper Updates

Our group has 6 full technical papers appearing at ESEC/FSE’15, ESEM’15, ICSME’15, ASE’15 (two papers), and ISSRE’15. See our publications page for more details.

Distinguished Paper Award at ICSE 2014

ACM SIGSOFT Distinguished Paper Award for our ICSE’14 paper on understanding JavaScript event-based interactions.

ICSE 2014 Award

Web applications have become one of the fastest growing types of software system today. Despite their popularity, understanding the behaviour of modern web applications is still challenging for developers during development and maintenance tasks. The challenges mainly stem from the dynamic, event-driven, and asynchronous nature of the JavaScript language.
In our paper, we proposed 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. The approach, implemented in a tool called Clematis, allows developers to easily understand the complex dynamic behaviour of their application at three different semantic levels. The results from experiments conducted in an industrial setting show that Clematis is capable of improving accuracy by 61%, while reducing completion time by 47%.