22 October 2021 CSFEATURES Department of Computer Science , Faculty , Feature , Security

Consider a programmer sitting at her desk, trying to fix an error in a software system. First, she had to determine what was causing the problem and trace its source to a specific location within the programme’s code. Then she has to speculate on strategies that would fix the error, and test various patches to the code to see which one worked best. The entire process — called debugging — is an incredibly laborious and time-consuming process. It’s one that has vexed computer programmers for years, and continues to do so today.