An Approach to Model Checking Ada Programs

  • José Miguel Faria
  • João Martins
  • Jorge Sousa Pinto
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7308)


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.


Model Check Linear Temporal Logic Symbolic Execution Linear Time Temporal Logic Linear Temporal Logic Formula 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 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. 2.
    Barnes, J.: High Integrity Software: The SPARK Approach to Safety and Security. Addison-Wesley Longman Publishing Co., Inc., Boston (2003)Google Scholar
  3. 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)CrossRefGoogle Scholar
  4. 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)CrossRefGoogle Scholar
  5. 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)CrossRefGoogle Scholar
  6. 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. 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. 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. 9.
    Holzmann, G.: The SPIN Model Checker: Primer and Reference Manual, 1st edn. Addison-Wesley Professional (2003)Google Scholar
  10. 10.
    Jhala, R., Majumdar, R.: Software model checking. ACM Comput. Surv. 41, 21:1–21:54 (2009)CrossRefGoogle Scholar
  11. 11.
    Clarke Jr., E.M., Grumberg, O., Peled, D.A.: Model Checking. The MIT Press (1999)Google Scholar
  12. 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)CrossRefGoogle Scholar
  13. 13.
    Martins, J.: Formal verification of Ada programs: An approach based on model checking. Master’s thesis, Universidade do Minho (2011),
  14. 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. 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. 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. 17.
    SPARK Team. SPARK Examiner: The SPARK Ravenscar Profile (January 2008)Google Scholar
  18. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • José Miguel Faria
    • 1
    • 2
  • João Martins
    • 1
  • Jorge Sousa Pinto
    • 1
  1. 1.HASLab/INESC TECUniversidade do MinhoPortugal
  2. 2.Critical Software, SAPortugal

Personalised recommendations