Understanding motifs of behavior and sources of errors in programs

saba.pngSaba Alimadadi,
Postdoctoral Researcher, Northeastern University
Wednesday, March 20, 2019 @ 11:00am-12:00pm
Room 1202,
CSE building


“Software is eating the world.” Today’s complex and large programs are not easy to comprehend, and are thus not immune to bugs. Program comprehension is crucial in software engineering; a necessary step for performing many tasks. However, the implicit and intricate relations between program entities hinder comprehension of program behavior and can easily lead to bugs, which can have severe consequences. It is particularly challenging to understand and debug modern programming languages such as JavaScript, due to their dynamic, asynchronous, and event-driven nature.

The goal of my research is to improve performance of developers during program comprehension and debugging. Using semi-automated static and dynamic techniques, I create behavioral models of program execution and visualize them for developers in order to facilitate the process of program comprehension and debugging. The outcome of my work is a set of open-source tools, which I evaluate through controlled experiments in realistic settings. The results show that my methods significantly improve developers’ performance in their everyday tasks.

Saba Alimadadi is a postdoctoral researcher at Northeastern University, where she also holds an NSERC Postdoctoral Fellowship. She received her PhD from the University of British Columbia (UBC) in 2017. Saba’s research is in the area of software engineering, with a focus on program analysis, comprehension, and debugging. At the conjunction of software engineering, programming languages, and human-computer interaction, her techniques aim at improving performance of developers.


Faculty Host: Sorin Lerner