Skip to main content

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

  • Conference paper

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

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.

Keywords

  • Formal Verification
  • Matlab/Simulink
  • Boogie

This is a preview of subscription content, access via your institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • DOI: 10.1007/978-3-319-10431-7_14
  • Chapter length: 15 pages
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
eBook
USD   59.99
Price excludes VAT (USA)
  • ISBN: 978-3-319-10431-7
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
Softcover Book
USD   79.99
Price excludes VAT (USA)

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)

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

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

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

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

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

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

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

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

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

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