O'Reilly logo

Effective Computation in Physics by Anthony Scopatz, Kathryn D. Huff

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 17. Debugging

The scientific method’s central motivation is the ubiquity of error—the awareness that mistakes and self-delusion can creep in absolutely anywhere and that the scientist’s effort is primarily expended in recognizing and rooting out error.

Donoho 2009

In the very early days of computing, Admiral Grace Hopper and her team on the Mark II computer encountered errors in the performance of the computer. Ultimately, a moth was discovered in one of the relays. Admiral Hopper reportedly remarked that they were “debugging” the system. Though the term had been used before in engineering, this event popularized the terms bug and debugging for the causes and solutions, respectively, of errors in computer code and performance.

Bugs are errors in code, and they are ubiquitous reminders of our humanity. That is, computers, by their very nature, do exactly what we tell them to do. Therefore, bugs are typically imperfections in syntax and logic introduced by humans. However careful we are, bugs will be introduced while we are developing code. They begin to be introduced as soon as we start writing a piece of code. For this reason, we must be vigilant, and we must be prepared to fix them when they arise. This chapter will prepare you to recognize, diagnose, and fix bugs using various tools and methods for “debugging” your code. It will do so by introducing:

  • When, how, and by whom bugs are encountered

  • Methods of diagnosing bugs

  • Interactive debugging, for diagnosing bugs ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required