Robust Characterizations of Polynomials and Their Applications to Program Testing

The study of self-testing and self-correcting programs leads to the search for robust characterizations of functions. Here we make this notion precise and show such a characterization for polynomials. From this characterization, we get the following three applications: First, we can construct simple and efficient self-testers for polynomial functions. Secondly, it provides results in the area of coding theory, by giving extremely fast and efficient error-detecting schemes for some well known codes. Thirdly, this error-detection scheme plays a crucial role in recent results on hardness of approximating some NP-optimization problems.