Specification and verification of sequential Java programs by