Integrating Formal Specification and Software Verification and Validation
It is not surprising that students are unconvinced about the benefits of formal methods if we do not show them how these methods can be integrated with other activities in the software lifecycle. In this paper, we describe an approach to integrating formal specification with more traditional verification and validation techniques in a course that teaches formal specification and specification-based testing. This is accomplished through a series of assignments on a single software component that involves specifying the component in Object-Z, validating that specification using inspection and a specification animation tool, and then testing an implementation of the specification using test cases derived from the formal specification.
KeywordsState Machine Formal Method Finite State Machine Assessment Task Graph Class
Unable to display preview. Download preview PDF.
- 1.Bloesch, A., Kazmierczak, E., Kearney, P., Staples, J., Traynor, O., Utting, M.: A formal reasoning environment for Sum - a Z based specification language. Technical Report 95-02, Software Verification Research Centre (1995)Google Scholar
- 3.Duke, R., Rose, G.: Formal Object-Oriented Specification Using Object-Z. MacMillan Press Limited, London (2000)Google Scholar
- 5.Gries, D.: The need for education in useful formal logic. IEEE Computer 29(4), 29–30 (1996)Google Scholar
- 6.Habrias, H., Faucou, S.: Some reflections on the teaching of formal methods. In: Teaching Formal Methods: Practice and Experience (2003), http://wwwcms.brookes.ac.uk/tfm2003
- 8.Hazel, D., Strooper, P., Traynor, O.: Requirements engineering and verification using specification animation. In: Proceedings 13th IEEE International Conference on Automated Software Engineering, pp. 302–305. IEEE Computer Society, Los Alamitos (1998)Google Scholar
- 9.Hinchey, M.G., Bowen, J.P.: To formalize or not to formalize. IEEE Computer 29(4), 18–19 (1996)Google Scholar
- 10.King, S.: The assessment of students on FM courses: A position paper. In: Teaching Formal Methods: Practice and Experience (2003), http://wwwcms.brookes.ac.uk/tfm2003
- 12.Maharaj, S.: Formal methods teaching at the University of Stirling. In: Teaching Formal Methods: Practice and Experience (2003), http://wwwcms.brookes.ac.uk/tfm2003
- 13.Miller, T., Strooper, P.: A framework for the systematic testing of model-based specifications. ACM Transactions on Software Engineering and Methodology (2004) (to appear)Google Scholar
- 15.Saaltink, M.: The Z/EVES system. In: Proceedings 10th International Conference on the Z Formal Method, pp. 72–88. Springer, Heidelberg (1997)Google Scholar
- 16.Schneider, S.: The B-Method: An Introduction. Palgrave, Oxford (2001)Google Scholar