Skip to main content

Formal Verification of Discrete-Time MATLAB/Simulink Models Using Boogie

  • Conference paper
Software Engineering and Formal Methods (SEFM 2014)

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

Included in the following conference series:

Abstract

Matlab/Simulink is a widely used industrial tool for the development of embedded systems. Many of these systems are safety critical, especially in automotive industries. At the same time, automatic formal verification techniques for Simulink, in particular on model level, are rare and often suffer from scalability issues. In this paper, we present an automatic transformation of discrete-time Matlab/Simulink models into the intermediate verification language Boogie. This transformation enables us to use the Boogie verification framework and inductive invariant checking for the automatic formal verification of Matlab/Simulink models. Additionally, verification objectives for common error classes are generated automatically. With our approach, we provide an automatic formal verification technique for Matlab/Simulink and the most common error classes which scales better than existing techniques in many cases. To demonstrate the practical applicability, we have applied our approach to a number of case studies from the automotive domain.

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. Agrawal, A., Simon, G., Karsai, G.: Semantic translation of Simulink/Stateflow models to hybrid automata using graph transformations. Electron. Notes Theor. Comput. Sci. 109, 43–56 (2004)

    Article  Google Scholar 

  2. Barnett, M., Chang, B.-Y.E., DeLine, R., Jacobs, B., Leino, K.R.M.: Boogie: A modular reusable verifier for object-oriented programs. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2005. LNCS, vol. 4111, pp. 364–387. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  3. Boström, P.: Contract-based verification of Simulink models. In: Qin, S., Qiu, Z. (eds.) ICFEM 2011. LNCS, vol. 6991, pp. 291–306. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  4. Caspi, P., Curic, A., Maignan, A., Sofronis, C., Tripakis, S.: Translating discrete-time Simulink to lustre. In: Alur, R., Lee, I. (eds.) EMSOFT 2003. LNCS, vol. 2855, pp. 84–99. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  5. Detlefs, D., Leino, K.R.M., Nelson, G., Saxe, J.: Extended static checking. In: SRC Research Report 159, Compaq Systems Research Center (1998)

    Google Scholar 

  6. Donaldson, A.F., Haller, L., Kroening, D., Rümmer, P.: Software verification using k-induction. In: Yahav, E. (ed.) SAS 2011. LNCS, vol. 6887, pp. 351–368. Springer, Heidelberg (2011)

    Google Scholar 

  7. Ferrari, A., Grasso, D., Magnani, G., Fantechi, A., Tempestini, M.: The Metrô Rio ATP Case Study. In: Kowalewski, S., Roveri, M. (eds.) FMICS 2010. LNCS, vol. 6371, pp. 1–16. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  8. Hardin, D., Hiratzka, T.D., Johnson, D.R., Wagner, L., Whalen, M.: Development of security software: A high-assurance methodology. In: Breitman, K., Cavalcanti, A. (eds.) ICFEM 2009. LNCS, vol. 5885, pp. 266–285. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  9. Herber, P., Reicherdt, R., Bittner, P.: Bit-precise formal verification of discrete-time MATLAB/Simulink models using SMT solving. In: Proceedings of the Eleventh ACM International Conference on Embedded Software, EMSOFT 2013, Piscataway, NJ, USA, pp. 8:1–8:10. IEEE Press (2013)

    Google Scholar 

  10. Hu, W., Wegener, J., Stürmer, I., Reicherdt, R., Salecker, E., Glesner, S.: Memo - methods of model quality. In: Dagstuhl-Workshop MBEES: Modellbasierte Entwicklung Eingebetteter Systeme VII, pp. 127–132 (2011)

    Google Scholar 

  11. Joshi, A., Heimdahl, M.P.E.: Model-based safety analysis of Simulink models using SCADE design verifier. In: Winther, R., Gran, B.A., Dahll, G. (eds.) SAFECOMP 2005. LNCS, vol. 3688, pp. 122–135. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  12. Leino, K.R.M.: This is boogie 2. Technical report (2008)

    Google Scholar 

  13. MathWorks. MATLAB Simulink. The MathWorks Inc., http://www.mathworks.com/products/simulink/

  14. MathWorks. Simulink getting started guide. The MathWorks Inc., http://www.mathworks.com/help/pdf_doc/simulink/sl_gs.pdf

  15. Microsoft Research. Microsoft Research Boogie, http://boogie.codeplex.com/

  16. Microsoft Research. Z3 Theorem Prover, http://z3.codeplex.com

  17. Miller, S.P., Whalen, M.W., Cofer, D.D.: Software model checking takes off. Commun. ACM 53(2), 58–64 (2010)

    Article  Google Scholar 

  18. Reicherdt, R., Glesner, S.: Slicing MATLAB Simulink models. In: ACM/IEEE 34th International Conference on Software Engineering (ICSE 2012), pp. 551–561. IEEE (2012)

    Google Scholar 

  19. Ryabtsev, M., Strichman, O.: Translation validation: From Simulink to C. In: Bouajjani, A., Maler, O. (eds.) CAV 2009. LNCS, vol. 5643, pp. 696–701. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  20. Silva, B., Krogh, B.: Formal verification of hybrid systems using CheckMate: a case study. In: American Control Conference, vol. 3, pp. 1679–1683 (2000)

    Google Scholar 

  21. TheMathWorks. Code verification and run-time error detection through abstract interpretation. Technical report (2008)

    Google Scholar 

  22. Tripakis, S., Sofronis, C., Caspi, P., Curic, A.: Translating discrete-time Simulink to lustre. ACM Transactions on Embedded Computing Systems (TECS) 4(4), 779–818 (2005)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this paper

Cite this paper

Reicherdt, R., Glesner, S. (2014). Formal Verification of Discrete-Time MATLAB/Simulink Models Using Boogie. In: Giannakopoulou, D., Salaün, G. (eds) Software Engineering and Formal Methods. SEFM 2014. Lecture Notes in Computer Science, vol 8702. Springer, Cham. https://doi.org/10.1007/978-3-319-10431-7_14

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-10431-7_14

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-10430-0

  • Online ISBN: 978-3-319-10431-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics