Search for European Projects

Testing and Correcting Programs with Applications to Codes (cortst-programs)
Start date: May 1, 2011, End date: Sep 21, 2015 PROJECT  FINISHED 

One of the main challenges of software engineering is verifying the correctness of software. In this proposal we focus on correctness of the code per input rather than full program verification. This methodology associates with every function to be computed a new piece of code called a checker, which given any possibly buggy program for the function and an input, “checks” whether the program on this input computes the function correctly. We further aim on correcting buggy programs using self-testers and self-correctors. A self-corrector that is given a potentially buggy program which is guaranteed to compute the function correctly on a random input, “corrects” the program on any given input. A self-tester tests whether a program is correct on a random input. The focus of the achievements in the field has been the design of efficient checkers (and self correcters/self testers) for *specific* efficiently computable functions exploiting either their algebraic or combinatorial properties. In recent works we have demonstrated relation between highly symmetric error correcting codes and testing and correcting. Moreover we managed to design checkers for functions characterized by their complexity. In light of the this new body of work we suggest to revisit the checking and correcting methodology, emphasizing a general error correcting approach and complexity theoretic approach, rather than a function specific approach.
Up2Europe Ads

Coordinator

Details