Program result-checking: a theory of testing meets a test of theory

  • Authors:
  • M. Blum;H. Wasserman

  • Affiliations:
  • Dept. of Comput. Sci., California Univ., Berkeley, CA, USA;Dept. of Comput. Sci., California Univ., Berkeley, CA, USA

  • Venue:
  • SFCS '94 Proceedings of the 35th Annual Symposium on Foundations of Computer Science
  • Year:
  • 1994

Quantified Score

Hi-index 0.00

Visualization

Abstract

We review the field of result-checking, discussing simple checkers and self-correctors. We argue that such checkers could profitably be incorporated in software as an aid to efficient debugging and reliable functionality. We consider how to modify traditional checking methodologies to make them more appropriate for use in real-time, real-number computer systems. In particular, we suggest that checkers should be allowed to use stored randomness: i.e., that they should be allowed to generate, pre-process, and store random bits prior to run-time, and then to use this information repeatedly in a series of run-time checks. In a case study of checking a general real-number linear transformation (for example, a Fourier Transform), we present a simple checker which uses stored randomness, and a self-corrector which is particularly efficient if stored randomness is allowed.