Utting, M. & Reeves, S.(2001). Teaching formal methods lite via testing. Software testing, verification and reliability, 11(3), 181-195.
Permanent Research Commons link: http://hdl.handle.net/10289/1524
A new style of formal methods course is described, based on a pragmatic approach that emphasizes testing. The course introduces students to formal specification using Z, and shows how formal specification and testing can benefit each other, in both the validation and verification phases. It uses a tools-based approach, with practical work that reinforces formal specification techniques as well as traditional software engineering skills, such as unit and system testing, inspection and defensive programming with assertions. The two main results are to identify several practical uses of formal specifications that are not widely practised or taught and to demonstrate that teaching them results in a more interesting and relevant formal methods course.
John Wiley & Sons, Ltd.