SCAM 2025
Sun 7 - Fri 12 September 2025 Auckland, New Zealand
co-located with ICSME 2025

“Omniscient” debuggers have efficient and complete access to all program states that occurred during some run(s) of the program. The question then is, what is the best way to visualize this data to enable users to debug their programs in the most effective, time-efficient and fun manner? The “Pernosco” debugger is one attempt to answer this question. I will describe the principles we used when designing the Pernosco interface, some of the novel visualizations of dynamic state supported by Pernosco, and what we learned as we built it and deployed it to customers. In particular I will focus on the value of visualizing state across time as opposed to traditional debuggers that mostly only render the state at a given point in time. I will try to distinguish visualizations that are useful from those that are merely visually appealing. A critical aspect of debugging is mapping machine state back to “source level” state, typically via “debuginfo” emitted by the compiler. I’ll talk about how Pernosco visualizes the relationship of state to source code, and how that could be extended in the future if we had a deeper understanding of the source code.

In 2001 Robert graduated with a PhD in computer science from Carnegie Mellon University, supervised by Daniel Jackson and Jeannette Wing, on polymorphic type inference for context-sensitive alias analysis for Java code.

From 2001 to 2004 he worked at IBM Research on dynamic program analysis tools.

From 2000 he moonlighted as a volunteer working on the Mozilla open source project, which became Firefox. In 2005 he moved back to New Zealand to work full-time on Firefox’s browser engine; Mozilla awarded him the title of Distinguished Engineer. In his last few years at Mozilla he led the development of “rr”, a practical record-and-replay debugger supporting reverse execution, used by many developers inside and outside Mozilla to the present day. He continues as an rr maintainer to this day.

In 2016 he left Mozilla to co-found Pernosco, a startup working on cloud-based, omniscient debugging leveraging rr.

In 2022 he joined Google Research to work on various projects mostly unrelated to debugging.

He lives in New Zealand and enjoys hiking, board games and lay preaching.

Mon 8 Sep

Displayed time zone: Auckland, Wellington change

09:00 - 10:00
SCAM/VISSOFT Keynote: Robert O’CallahanPlenary Events at OGGB5 260-051
Chair(s): Cristina Cifuentes Oracle Software Assurance
09:00
60m
Keynote
Visualizing Program State in the Pernosco Debugger
Plenary Events
File Attached