Algebraic Software Testing in Vector Spaces of Functions

  • Authors:
  • Tome Cain;E. K. Park

  • Affiliations:
  • -;-

  • Venue:
  • COMPSAC '96 Proceedings of the 20th Conference on Computer Software and Applications
  • Year:
  • 1996

Quantified Score

Hi-index 0.00

Visualization

Abstract

The problem of determining whether two programs compute the same function is undecidable. We restrict the class of functions that a program can compute to be a finite dimensional vector space, enabling the problem to become tractable. We prove a theorem showing that the number of test points needed to distinguish any such programs is equal to the dimension of the vector space of functions which they compute, thus generalizing previous results of Howden. Our result unifies certain, existing software testing theory and explains the successes and failures of one existing method for selecting test data called "perturbation testing." We apply the theorem to obtain three results on the number of test points required to test in vector spaces of Boolean functions and polynomials. First, the Vandermonde matrix used together with our theorem yields the classical result that a polynomial of degree at most n is determined by n + 1 points. Second, in vector spaces of Boolean functions we obtain useful results when the degree of the Boolean function is less than the number of inputs to the function. Third, we apply our theorem to describe a technique for testing non-polynomial, real-valued functions.