verification of correctness and certification of software