Testing multivariate linear functions: overcoming the generator bottleneck

@inproceedings{Ergn1995TestingML,
  title={Testing multivariate linear functions: overcoming the generator bottleneck},
  author={Funda Erg{\"u}n},
  booktitle={STOC '95},
  year={1995}
}
Self-testing programs are an approach to the problem of program correctness [BLR90]. One can construct selftesters by exploiting the set of properties that uniquely define the function and test that they hold at random inputs. The existing methods become more costly in the case of multivariate functions, since the number of such properties grows infeasibly large. In this paper we develop techniques for finding a much smaller set of such properties. These lead to more efficient testers for… 

Figures from this paper

Self-Testing without the Generator Bottleneck
TLDR
This work develops a technique that can be used to overcome the generator bottleneck for functions that have a certain nice structure, specifically if the relationship between the values of the function on the set of generators is easily checkable.
Exact and Approximate Testing/Correcting of Algebraic Functions: A Survey
TLDR
This work considers the problem of testing algebraic functions and survey over a decade of research in the area and advocates between the mathematical and algorithmic issues that arise in the theory of self-testing.
Checking Properties of Polynomials ?
TLDR
This paper shows how to construct eecient checkers for programs that supposedly compute properties of polynomials, and shows that the usual characterization of norms using the triangle inequality is not suited for self-testing in the exact case, but could be used in the approximate case.
Portable high-performance programs
TLDR
The work-first principle inspired Cilk''s novel ``two-clone'' compilation strategy and its Dijkstra-like mutual-exclusion protocol for implementing the ready deque in the work-stealing scheduler, and good asymptotic bounds on the execution time of Cilk programs that use location-consistent shared memory are proved.
SPIRAL: Code Generation for DSP Transforms
TLDR
SPIRAL generates high-performance code for a broad set of DSP transforms, including the discrete Fourier transform, other trigonometric transforms, filter transforms, and discrete wavelet transforms.
A Modified Split-Radix FFT With Fewer Arithmetic Operations
TLDR
A simple recursive modification of the split-radix algorithm is presented that computes the DFT with asymptotically about 6% fewer operations than Yavne, matching the count achieved by Van Buskirk's program-generation framework.
A modified split-radix FFT with reduced arithmetic complexity
TLDR
A simple recursive modification of the split-radix algorithm is presented that computes the DFT with asymptotically about 6% fewer opera- tions than Yavne, matching the count achieved by Van Buskirk's program-generation framework.
Implementing FFTs in Practice *
Discussion of the considerations involved in high-performance FFT implementations, which center largely on memory access and other non-arithmetic concerns, as illustrated by a case study of the FFTW

References

SHOWING 1-10 OF 22 REFERENCES
Self-testing/correcting for polynomials and for approximate functions
TLDR
It is shown that one can self-test the whole class of polynomial functions over Zp for prime p and that the class of linear functions, the log function and floating point exponentiation can be self-tested, and a notion which is essentially equivalent to self-correcting is introduced.
Self-testing/correcting with applications to numerical problems
TLDR
This work presents general techniques for constructing simple to program self-testing/correcting pairs for a variety of numerical functions, including integer multiplication, modular multiplication, matrix multiplication, inverting matrices, computing the determinant of a matrix, Computing the rank of a Matrix, integer division, modular exponentiation, and polynomial multiplication.
Robust Characterizations of Polynomials and Their Applications to Program Testing
TLDR
This characterization for polynomials provides results in the area of coding theory, by giving extremely fast and efficient error-detecting schemes for some well known codes, and plays a crucial role in recent results on hardness of approximating some NP-optimization problems.
Program result-checking: a theory of testing meets a test of theory
  • M. Blum, H. Wasserman
  • Computer Science
    Proceedings 35th Annual Symposium on Foundations of Computer Science
  • 1994
TLDR
In a case study of checking a general real-number linear transformation, a simple checker which uses stored randomness, and a self-corrector which is particularly efficient if stored Randomness is allowed is presented.
Hiding Instances in Multioracle Queries
TLDR
It is shown that, if f is an NP-hard function, A cannot query a single oracle B while hiding all but the size of the instance, assuming that the polynomial hierarchy does not collapse.
Fast Probabilistic Algorithms
New Directions In Testing
  • R. Lipton
  • Computer Science
    Distributed Computing And Cryptography
  • 1989
New directions in testing. Distributed Computing and Cryptography, DI- MA CS Series in Discrete Math and Theoretical Computer Science
  • New directions in testing. Distributed Computing and Cryptography, DI- MA CS Series in Discrete Math and Theoretical Computer Science
  • 1991
Testing polynomial functions e ciently and over rational domains
  • Proceedings of the 3rd Annual ACM-SIAM Symposium on Discrete Algorithms
  • 1992
...
...