Software Alternatives & Reviews

The unreasonable effectiveness of print debugging

Dark Language rr
  1. Holistic language, editor, and infra for building backends
    Pricing:
    • Open Source

    #Games #Gaming Community #Data Integration 30 social mentions

  2. 2

    rr

    rr is a debugging tool designed to record and replay program execution.
    Pricing:
    • Open Source
    Almost all the reasons people use print debugging can be overcome by improving debuggers --- and to some extent <i>already have been</i> (in the words of William Gibson, the future is already here, it's just not evenly distributed yet). I think it's important for people to understand that the superiority of print debugging is <i>contingent</i> and, for many developers, will not persist. Record-and-replay debuggers like rr [0] (disclaimer: I started and help maintain it), Undo, TTD, replay.io, etc address one set of problems. You don't have to stop the program; you can examine history without rerunning the program. Pernosco [1] (disclaimer: I started it and run it) goes much further. Complaints about step debuggers (even record-and-replay debuggers) only showing you one point in time are absolutely right, so Pernosco implements <i>omniscient debugging</i>: we precompute all program states and implement some novel visualizations of how program state changes over time. One of our primary goals (mostly achieved, I think) is that developers should <i>never</i> feel the need to "step" to build up a mental picture of state evolution. One way we do this is by supporting a form of "interactive print debugging" [2]. rr, Pernosco and similar tools can't be used by everyone yet. A lot of engineering work is required to support more languages and operating systems, lower overhead, etc. But it's important to keep in mind that the level of investment in these tools to date has been incredibly low, basically just a handful of startups and destitute open source projects. If the software industry took debugging seriously --- instead of just grumbling about the tools and reverting to print debugging --- and invested accordingly we could make enormous strides. [0] https://rr-project.org [1] https://pernos.co/about/overview [2] https://pernos.co/about/expressions.

    #IDE #Software Development #Developer Tools 58 social mentions

Discuss: The unreasonable effectiveness of print debugging

Log in or Post with