Skip to main content

An Approach to Model Checking Ada Programs

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 7308))

Abstract

This paper describes a tool-supported method for the formal verification of Ada programs. It presents ATOS, a tool that automatically extracts from an Ada program a SPIN model, together with a set of desirable properties. ATOS is also capable of extracting properties from a specification annotated by the user in the program, inspired by the SPARK Annotation language. The goal of ATOS is to help in the verification of sequential and concurrent Ada programs, based on model checking.

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

Buying options

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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Alves-Foss, J., Taylor, C., Oman, P.: A multi-layered approach to security in high assurance systems. In: Hawaii International Conference on System Sciences, vol. 9, p. 90302b (2004)

    Google Scholar 

  2. Barnes, J.: High Integrity Software: The SPARK Approach to Safety and Security. Addison-Wesley Longman Publishing Co., Inc., Boston (2003)

    Google Scholar 

  3. Belt, J., Hatcliff, J., Robby, Chalin, P., Hardin, D., Deng, X.: Bakar Kiasan: Flexible Contract Checking for Critical Systems Using Symbolic Execution. In: Bobaru, M., Havelund, K., Holzmann, G.J., Joshi, R. (eds.) NFM 2011. LNCS, vol. 6617, pp. 58–72. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  4. Beyer, D., Henzinger, T.A., Jhala, R., Majumdar, R.: The software model checker BLAST: Applications to software engineering. Int. J. Softw. Tools Technol. Transf. 9, 505–525 (2007)

    Article  Google Scholar 

  5. Bladen, J.B., Spenhoff, D., Blake, S.J.: Ada semantic interface specification (ASIS). In: Proceedings of the Conference on TRI-Ada 1991: Today’s Accomplishments; Tomorrow’s Expectations, TRI-Ada 1991, pp. 6–15. ACM, New York (1991)

    Chapter  Google Scholar 

  6. Dwyer, M., Avrunin, G.S., Corbett, J.C.: Property specification patterns for finite-state verification. In: Proceedings of the Second Workshop on Formal Methods in Software Practice, pp. 7–15. ACM Press (1998)

    Google Scholar 

  7. Dwyer, M.B., Pasareanu, C.S., Corbett, J.C.: Translating Ada programs for model checking: A tutorial. Technical Report KSU-CIS-TR-98-12, Kansas State University (1998)

    Google Scholar 

  8. Evangelista, S., Kaiser, C., Pradat-Peyre, J.F., Rousseau, P.: Verifying linear time temporal logic properties of concurrent Ada programs with quasar. Ada Lett. XXIV, 17–24 (2003)

    Google Scholar 

  9. Holzmann, G.: The SPIN Model Checker: Primer and Reference Manual, 1st edn. Addison-Wesley Professional (2003)

    Google Scholar 

  10. Jhala, R., Majumdar, R.: Software model checking. ACM Comput. Surv. 41, 21:1–21:54 (2009)

    Article  Google Scholar 

  11. Clarke Jr., E.M., Grumberg, O., Peled, D.A.: Model Checking. The MIT Press (1999)

    Google Scholar 

  12. Lundqvist, K., Asplund, L., Michell, S.: A Formal Model of the Ada Ravenscar Tasking Profile; Protected Objects. In: González Harbour, M., de la Puente, J.A. (eds.) Ada-Europe 1999. LNCS, vol. 1622, pp. 12–25. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  13. Martins, J.: Formal verification of Ada programs: An approach based on model checking. Master’s thesis, Universidade do Minho (2011), http://www.evolve-itea.org/public/publications.php

  14. Pnueli, A.: The temporal logic of programs. In: Proceedings of the 18th Annual Symposium on Foundations of Computer Science, pp. 46–57. IEEE Computer Society, Washington, DC (1977)

    Google Scholar 

  15. Rossebo, B., Oman, P., Alves-foss, J., Blue, R., Jaszkowiak, P.: Using SPARK-Ada to Model and Verify a MILS Message Router. In: Proceedings of the International Symposium on Secure Software Engineering (2006)

    Google Scholar 

  16. Rushby, J.: The design and verification of secure systems. In: Eighth ACM Symposium on Operating System Principles (SOSP), Asilomar, CA, pp. 12–21 (December 1981); ACM Operating Systems Review 15(5)

    Google Scholar 

  17. SPARK Team. SPARK Examiner: The SPARK Ravenscar Profile (January 2008)

    Google Scholar 

  18. Tucker Taft, S., Duff, R.A., Brukardt, R.L., Plödereder, E., Leroy, P.: Ada 2005 Reference Manual. LNCS, vol. 4348. Springer, Heidelberg (2006)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Faria, J.M., Martins, J., Pinto, J.S. (2012). An Approach to Model Checking Ada Programs. In: Brorsson, M., Pinho, L.M. (eds) Reliable Software Technologies – Ada-Europe 2012. Ada-Europe 2012. Lecture Notes in Computer Science, vol 7308. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-30598-6_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-30598-6_8

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-30597-9

  • Online ISBN: 978-3-642-30598-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics