Advertisement

Formal Verification in Automotive Industry: Enablers and Obstacles

  • Mattias NybergEmail author
  • Dilian Gurov
  • Christian Lidström
  • Andreas Rasmusson
  • Jonas Westman
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11247)

Abstract

We describe and summarize our experiences from six industrial case studies in applying formal verification techniques to embedded, safety-critical code. The studies were conducted at Scania over the period of eight years. Despite certain successes, we have so far failed to introduce formal techniques on a larger scale. Based on our experiences, we identify and discuss some key obstacles to, and enabling factors for the successful incorporation of formal verification techniques into the software development and quality assurance process.

References

  1. 1.
    Scania tops prestigious European truck test for the second year running. http://news.cision.com/scania/r/scania-tops-prestigious-european-truck-test-for-the-second-year-running,c2460100. Accessed 22 Apr 2018
  2. 2.
    Alglave, J., Donaldson, A.F., Kroening, D., Tautschnig, M.: Making software verification tools really work. In: Bultan, T., Hsiung, P.-A. (eds.) ATVA 2011. LNCS, vol. 6996, pp. 28–42. Springer, Heidelberg (2011).  https://doi.org/10.1007/978-3-642-24372-1_3CrossRefGoogle Scholar
  3. 3.
    Ali, S., Sulyman, M.: Applying model checking for verifying the functional requirements of a Scania’s vehicle control system. Master’s thesis, Mälardalen University (2012)Google Scholar
  4. 4.
    Bäckström, S.: Learning-based testing of automotive ECUs. Master’s thesis, KTH Royal Institute of Technology, School of Computer Science and Communication (2016)Google Scholar
  5. 5.
    Behrmann, G., David, A., Larsen, K.G.: A tutorial on Uppaal. In: Bernardo, M., Corradini, F. (eds.) SFM-RT 2004. LNCS, vol. 3185, pp. 200–236. Springer, Heidelberg (2004).  https://doi.org/10.1007/978-3-540-30080-9_7CrossRefGoogle Scholar
  6. 6.
    Cohen, E., et al.: VCC: a practical system for verifying concurrent C. In: Berghofer, S., Nipkow, T., Urban, C., Wenzel, M. (eds.) TPHOLs 2009. LNCS, vol. 5674, pp. 23–42. Springer, Heidelberg (2009).  https://doi.org/10.1007/978-3-642-03359-9_2CrossRefGoogle Scholar
  7. 7.
    Cuoq, P., Kirchner, F., Kosmatov, N., Prevosto, V., Signoles, J., Yakobowski, B.: Frama-C: a software analysis perspective. In: Eleftherakis, G., Hinchey, M., Holcombe, M. (eds.) SEFM 2012. LNCS, vol. 7504, pp. 233–247. Springer, Heidelberg (2012).  https://doi.org/10.1007/978-3-642-33826-7_16CrossRefGoogle Scholar
  8. 8.
    Eriksson, J.: Formal requirement models for automotive embedded systems. Master’s thesis, KTH Royal Institute of Technology (2016)Google Scholar
  9. 9.
    Gurov, D., Lidström, C., Nyberg, M., Westman, J.: Deductive functional verification of safety-critical embedded C-Code: an experience report. In: Petrucci, L., Seceleanu, C., Cavalcanti, A. (eds.) FMICS/AVoCS -2017. LNCS, vol. 10471, pp. 3–18. Springer, Cham (2017).  https://doi.org/10.1007/978-3-319-67113-0_1CrossRefGoogle Scholar
  10. 10.
    ISO26262: Road vehicles - functional safety. Standard ISO26262, International Organization for Standardization (2011)Google Scholar
  11. 11.
    Khosrowjerdi, H., Meinke, K., Rasmusson, A.: Learning-based testing for safety critical automotive applications. In: Bozzano, M., Papadopoulos, Y. (eds.) IMBSA 2017. LNCS, vol. 10437, pp. 197–211. Springer, Cham (2017).  https://doi.org/10.1007/978-3-319-64119-5_13CrossRefGoogle Scholar
  12. 12.
    Lidström, C.: Verification of functional requirements of embedded automotive C code. Master’s thesis, KTH Royal Institute of Technology (2016)Google Scholar
  13. 13.
    Meinke, K.: Automated black-box testing of functional correctness using function approximation. In: Proceedings of the ACM/SIGSOFT International Symposium on Software Testing and Analysis, ISSTA 2004, 11–14 July 2004, pp. 143–153, Boston, Massachusetts, USA (2004)Google Scholar
  14. 14.
    Meinke, K., Sindhu, M.: LBtest: A learning-based testing tool for reactive systems. In: Sixth IEEE International Conference on Software Testing, Verification and Validation, ICST 2013, Luxembourg, Luxembourg, 2013, pp. 447–454 (2013)Google Scholar
  15. 15.
    de Moura, L., Bjørner, N.: Z3: an efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337–340. Springer, Heidelberg (2008).  https://doi.org/10.1007/978-3-540-78800-3_24CrossRefGoogle Scholar
  16. 16.
    Watzenig, D., Horn, M.: Automated Driving: Safer and More Efficient Future Driving. Springer, New-York (2016).  https://doi.org/10.1007/978-3-319-31895-0CrossRefGoogle Scholar
  17. 17.
    Westman, J., Nyberg, M.: Providing tool support for specifying safety-critical systems by enforcing syntactic contract conditions. Requirements Engineering (2018)Google Scholar
  18. 18.
    Woodcock, J., Larsen, P.G., Bicarregui, J., Fitzgerald, J.S.: Formal methods: practice and experience. ACM Comput. Surv. 41(4), 19:1–19:36 (2009)CrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2018

Authors and Affiliations

  • Mattias Nyberg
    • 1
    • 2
    Email author
  • Dilian Gurov
    • 1
  • Christian Lidström
    • 2
  • Andreas Rasmusson
    • 2
  • Jonas Westman
    • 1
    • 2
  1. 1.KTH Royal Institute of TechnologyStockholmSweden
  2. 2.Systems Development DivisionScania ABSödertäljeSweden

Personalised recommendations