9.3. The Debugging Process

The debugging process consists of a number of recommended steps to correct an identified problem and verify that it does not reappear. The objective is to identify, classify, fix, and verify a problem in a PROC SQL step, program, or application as quickly and easily as possible. Not every problem requires the application of each step recommended in this chapter. Rather, you can pick and choose from the suggestions to effectively correct problems and make sure they do not reappear. Adhering to a methodical and effective debugging process increases the likelihood that problems are identified and fixed correctly, thereby expediting and improving the way you handle problems.

To further explore this topic see Effective Methods for Software Testing by William Perry (John Wiley & Sons, Inc., 1995) and The Science of Debugging by Matt Telles and Yuan Hsieh (The Coriolis Group, 2001).

The debugging process consists of five steps.

Debugging Process Steps and Tasks

Debugging StepTask Description
Problem Identification
  1. Determine if a bug exists in the code.

  2. Determine what the problem is by playing detective.

  3. Describe why the problem is a bug.

  4. Determine what the code should do.

  5. Determine what the code is doing.

Information Collection
  1. Collect user comments and feedback.

  2. Collect personal observations and symptoms.

  3. Review SAS log information.

  4. Collect test case(s) highlighting the problem.

  5. Capture environmental information (for example, system settings, operating environment, external elements, etc.).

Problem Assessment & Classification
  1. Develop a theory about what caused the problem.

  2. Review the code.

  3. Classify the problem into one of the following categories:

    - Requirements problem

    - Syntax error

    - CPU problem

    - Memory problem

    - Storage problem

    - I/O problem

    - Logic problem

Problem Resolution
  1. Propose a solution.

  2. Describe why the solution will fix the problem.

  3. Verify that the solution will not cause additional problems.

  4. Fix the problem by implementing the solution.

Validate Solution
  1. Verify whether the problem still exists.

  2. Verify whether the problem can be recreated or reproduced.

  3. Determine whether other methods can cause the same problem to occur.

  4. Verify that the solution does not cause other problems.


..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
52.15.129.253