Program Verification and Verification Oriented Programming