Obiettivo
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.
Campo scientifico
Invito a presentare proposte
FP7-PEOPLE-2009-RG
Vedi altri progetti per questo bando
Meccanismo di finanziamento
MC-IRG - International Re-integration Grants (IRG)Coordinatore
52900 Ramat Gan
Israele