Developers spend a lot of time debugging, but interactive debugging tools aren't very good. In fact, many developers have given up on them entirely.
It doesn't have to be this way.
State-of-the-art record-and-replay debuggers like rr can record application execution with perfect fidelity and modest overhead, and later replay that execution for debugging. That lets us debug difficult-to-reproduce bugs, and capture bugs occurring in CI and other environments that traditional debuggers can't reach. They support reverse execution, so we can trace effects back to their causes directly instead of via a series of manual approximations.
But we can go much further.
Record-and-replay lets us access all program states; debugging is then a data analysis problem. We can use cloud computing resources to analyze and visualize failed executions. We can support collaboration and apply machine learning.
This is the Pernosco vision.
We are working to make this vision a reality. We are building a cloud debugging service that ingests recorded program executions, analyzes them and exposes the results as a mind-blowing debugging experience that makes developers a lot more productive while having more fun.