Abstract

Debugging is the process of determining why a given set of inputs causes a nonacceptable behavior in a program and what must be changed to cause the behavior to be acceptable. This chapter is an introduction to the book that explores methods for debugging, organized according to six intellectual disciplines— the way of the detective, the way of the mathematician, the way of the safety expert, the way of the psychologist, the way of the engineer, and the way of the computer scientist. Each way has an analogy, a set of assumptions that forms a worldview, and a set of techniques associated with it. A symptom is an observable difference between the actual behavior and the planned behavior of a software unit. A defect is that aspect of the design or implementation that will result in a symptom. Testing is the process of determining whether a given set of inputs causes a nonacceptable behavior in a program. Programming students start with debugging by editing, then move on to debugging by interacting, and then graduate to debugging by repeating. “Debugging by Thinking” is different from all of these approaches because it provides an explicit methodology that uses a multidisciplinary approach and makes the programmer self-aware as he or she works.

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.