Verification : theory and practice