SALT Lab wins Distinguished Paper Award at International Conference on Software Engineering

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 their paper, the Software AnaLysis and Testing (SALT) Lab 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%.

UBC’s SALT Lab explores novel and automated techniques for supporting software dependability and evolution. The team’s main focus is currently on analysis and testing, fault localization and debugging, program comprehension, as well as software maintenance and evolution of modern web-based and mobile applications.

The ACM/IEEE International Conference on Software Engineering, is the premier software engineering conference, providing a forum for researchers, practitioners and educators to present and discuss the most recent innovations, trends, experiences and concerns in the field of software engineering.