Debugging

Reseach on how to debug parallel programs

Many of today’s software systems are parallel or concurrent. With the rise of Node.js and more generally event-loop architectures, many systems need to handle concurrency. However, its nondeterministic behavior makes it hard to reproduce bugs. Today’s interactive debuggers unfortunately do not support developers in debugging non-deterministic issues. They only allow us to explore a single execution path.

Therefore, some bugs may never be reproduced in the debugging session, because the right conditions are not triggered. As a solution, we propose multiverse debugging, a new approach for debugging non-deterministic programs that allows developers to observe all possible execution paths of a parallel program and debug it interactively.

GraphRedex: Look at your research Robbert Gurdeep Singh (UGent) and Christophe Scholliers (UGent) (2021) Software: Practice and Experience.

Multiverse debugging : non-deterministic debugging for non-deterministic programs Carmen Torres Lopez, Robbert Gurdeep Singh (UGent) , Stefan Marr, Elisa Gonzalez Boix and Christophe Scholliers (UGent) (2019) 33rd European conference on object-oriented programming (ECOOP 2019). In Leibniz International Proceedings in Informatics (LIPIcs) 134. p.27:1-27:30