Modern multithreaded software applications are increasingly concurrent and sophisticated. Recording and replaying executions of these applications enable debugging, program analyses and auditing to be conducted in a controlled and post-mortem fashion. Depending on the goals of record and replay, techniques in this class can be as heavy as recording all program states to realize a highly deterministic replay to as lightweight as recording inputs with small amount of control-flow locations to produce a probabilistic replay. The talk will describe a progress on the tradeoff triangle on record overheads, information logs, and ability of replay, as well as our novel algorithms based on aggregation of inter-thread dependency and ordering. It will conclude with the challenges ahead.
Associate Professor of Computer Science
City University of Hong Kong
W.K. Chan is an associate professor of computer science at City University of Hong Kong. He holds a BEngg in Computer Engineering, and MPhil and PhD in Computer Science from The University of Hong Kong. He worked in the software development industry for many years prior to coming back to academia to complete his PhD degree and started his academic career. He has been continuously contributing to software engineering research and published more than 100 papers in this area. He is in the editorial boards of Journal of Systems and Software and Software Testing, Verification & Reliability, serves as program chairs of QRS’20 and COMPSAC’20 and program committee members of a few coming international conferences such as ESEC/FSE’20 and ICSE’21. His main research interest is to address the challenges in debugging concurrent software systems.