Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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)
Carrington, D., MacColl, I., McDonald, J., Murray, L., Strooper, P.: From Object-Z specifications to ClassBench test suites. Journal on Software Testing, Verification and Reliability 10(2), 111–137 (2000)
Duke, R., Rose, G.: Formal Object-Oriented Specification Using Object-Z. MacMillan Press Limited, London (2000)
Garlan, D.: Making formal methods education effective for professional software engineers. Information and Software Technology 37(3-4), 261–268 (1995)
Gries, D.: The need for education in useful formal logic. IEEE Computer 29(4), 29–30 (1996)
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
Hazel, D., Strooper, P., Traynor, O.: Possum: An animator for the sum specification language. In: Proceedings Asia-Pacific Software Engineering Conference and International Computer Science Conference, pp. 42–51. IEEE Computer Society, Los Alamitos (1997)
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)
Hinchey, M.G., Bowen, J.P.: To formalize or not to formalize. IEEE Computer 29(4), 18–19 (1996)
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
Magee, J., Kramer, J.: Concurrency: State Models and Java Programs. Wiley, Chichester (1999)
Maharaj, S.: Formal methods teaching at the University of Stirling. In: Teaching Formal Methods: Practice and Experience (2003), http://wwwcms.brookes.ac.uk/tfm2003
Miller, T., Strooper, P.: A framework for the systematic testing of model-based specifications. ACM Transactions on Software Engineering and Methodology (2004) (to appear)
Parnas, D.L.: “formal methods” technology transfer will fail. Journal of Systems and Software 40(3), 195–198 (1998)
Saaltink, M.: The Z/EVES system. In: Proceedings 10th International Conference on the Z Formal Method, pp. 72–88. Springer, Heidelberg (1997)
Schneider, S.: The B-Method: An Introduction. Palgrave, Oxford (2001)
Sobel, A., Saiedian, S., Stavely, A., Henderson, P.: Teaching formal methods early in the software engineering curriculum. In: Proceedings Thirteenth Conference on Software Engineering Education & Training, p. 55. IEEE Computer Society, Los Alamitos (2000)
Stocks, P., Carrington, D.: A framework for specification-based testing. IEEE Transactions on Software Engineering 22(11), 777–793 (1996)
Utting, M., Reeves, S.: Teaching formal methods lite via testing. Software Testing, Verification and Reliability 11(3), 181–195 (2001)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Duke, R., Miller, T., Strooper, P. (2004). Integrating Formal Specification and Software Verification and Validation. In: Dean, C.N., Boute, R.T. (eds) Teaching Formal Methods. TFM 2004. Lecture Notes in Computer Science, vol 3294. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-30472-2_8
Download citation
DOI: https://doi.org/10.1007/978-3-540-30472-2_8
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-23611-5
Online ISBN: 978-3-540-30472-2
eBook Packages: Springer Book Archive