Skip to main content

Integrating Formal Specification and Software Verification and Validation

  • Conference paper
Teaching Formal Methods (TFM 2004)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 3294))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  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 

  2. 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)

    Article  Google Scholar 

  3. Duke, R., Rose, G.: Formal Object-Oriented Specification Using Object-Z. MacMillan Press Limited, London (2000)

    Google Scholar 

  4. Garlan, D.: Making formal methods education effective for professional software engineers. Information and Software Technology 37(3-4), 261–268 (1995)

    Article  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

  7. 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)

    Chapter  Google Scholar 

  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

  11. Magee, J., Kramer, J.: Concurrency: State Models and Java Programs. Wiley, Chichester (1999)

    MATH  Google Scholar 

  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 

  14. Parnas, D.L.: “formal methods” technology transfer will fail. Journal of Systems and Software 40(3), 195–198 (1998)

    Article  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 

  17. 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)

    Chapter  Google Scholar 

  18. Stocks, P., Carrington, D.: A framework for specification-based testing. IEEE Transactions on Software Engineering 22(11), 777–793 (1996)

    Article  Google Scholar 

  19. Utting, M., Reeves, S.: Teaching formal methods lite via testing. Software Testing, Verification and Reliability 11(3), 181–195 (2001)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics