Mathematics in the making appears as an experimental, inductive science.

—George Polya

This chapter draws an analogy between developing a proof for a mathematical theorem and developing the explanation for a software defect.

The first section of this chapter explains how concepts from the literature of instruction in mathematical proof techniques can be used in software debugging. It explains the worldview of the mathematician and presents a metaphor in which the software defect is considered a theorem to prove and the programmer is a mathematician.

The second section of this chapter describes and evaluates the Mathematical Heuristics movement begun by George Polya. The third section reviews the contributions of several popular texts about mathematical proof methods that have been published in the past two decades. It explains some of the contributions that each makes over Polya’s original work.

The fourth section of this chapter describes Alan Schoenfeld’s approach to teaching mathematical problem solving. It explains the hierarchy of “knowledge and behavior necessary for an adequate characterization of mathematical problem-solving performance” that he advocates.

The fourth section of this chapter applies Schoenfeld’s approach to software debugging. It argues that Schoenfeld’s categories can be transferred from the domain of mathematical problem solving to that of software debugging in a straightforward manner. It proposes that the three levels of the hierarchy in debugging are strategies, heuristics, and tactics.

Debugging by Thinking: A Multidisciplinary Approach (HP Technologies)

ISBN: 1555583075

EAN: 2147483647

EAN: 2147483647

Year: 2002

Pages: 172

Pages: 172

Authors: Robert Charles Metzger

Similar book on Amazon

flylib.com © 2008-2017.

If you may any questions please contact us: flylib@qtcs.net

If you may any questions please contact us: flylib@qtcs.net