ECE seminar: Trace-travelling debugging: From program execution to AI-model training

Wednesday, February 23, 2022 10:00 am - 11:00 am EST (GMT -05:00)



Date:          WEDNESDAY, FEBRUARY 23, 2022

Time:         10:00 am – 11:00 am


Meeting ID: 995 9119 3382

Passcode: 737070


Software has bugs. Studies have shown that the cost/time spent on debugging programs takes almost 50% of the total cost. Automated debugging, in this regard, is one of the important software engineering research problems. However, one fundamental challenge of designing an automated debugging technique is the specification-missing problem. More often than not, the correct specification of the program behavior exists nowhere not in the human mind. Without knowing what the correct behavior is in details, any automated algorithm can hardly recommend a buggy program statement in a sound way.

In this talk, I will introduce our trace-travelling debugging work (a further step based on time-travelling debugging or omniscient debugging), aiming to mitigate the general specification-missing problem. Our approach takes as input the execution trace of a buggy program and transform the program debugging problem into a problem of locating the first buggy step on the trace. Metaphorically, the debugging process can be regarded as a process of travelling on the buggy trace towards the root cause, and we design techniques to expedite the process of such a “travel”. I will first introduce a semi-automated feedback-based approach to take user feedback, as partial specification, on the trace steps to locate the root cause. Next, I will introduce a trace-alignment technique to align two program execution traces. The technique allows us to (1) automatedly generate user feedbacks on a buggy trace regarding the reference trace and (2) locate and explain the root cause of regression bugs, laying a foundation for autonomous debugging. Finally, I will introduce how the time/trace-travelling can be extended and applied for understanding and visualizing the training process of deep learning models.


Dr. LIN, Yun is a Research Assistant Professor in School of Computing, National University of Singapore. His research interests include explainable debugging, search-based testing, and software engineering techniques to facilitate AI model development. He published research works on top-tier international conferences and journals such as ICSE, FSE, ASE, ISSTA, AAAI, USENIX Security, and TSE. He won ACM SIGSOFT Distinguished Paper Award on ICSE’18. Moreover, he has served as reviewer or PC member for several journals and conferences such as TSE, TOSEM, TOIT, FOCS, ICSE (NIER Track), ICSME (Tool Demo), SANER, COMPSAC, ICPC, etc. He served as a publication chair in ICECCS’17 and local arrangement chair in Internetware’20.

All are welcome!