Debugging is still, as it was thirty years ago, largely a matter of trial and error. What borders on scandal is the fact that the computer science community as a whole has largely ignored the debugging problem. This is inexcusable, considering the vast economic cost of debugging and emotional toll buggy software takes on users and programmers. Today's commercial programming environments provide debugging tools that are little better than the tools that came with programming environments thirty years ago. We can do much better.
Programs are complex artifacts, and debugging is often a struggle against complexity.
Let's make the computer take an active role in helping the programmer deal with complexity. Computers are now fast and have large memories and disks. Let's use some of that speed and storage to process information that the programmer needs to understand what's going on in the program. Computers now have beautiful color screens and fast graphics. Let's use those graphics to help the programmer visualize the behavior of the program.