A configurable V&V framework using formal behavioral patterns for OSEK/VDX operating systems

Abstract Verification and Validation (V&V) of small-scale embedded software must consider the operating system. Unlike general-purpose systems, the underlying operating system is closely coupled with the application logic, generating potentially an infinite number of different control programs depending on the application configuration and application logic. Verifying this software individually is time-consuming and costly, especially when the objective is rigorous verification. To assist in rigorous V&V activities for such embedded software, the proposed work suggests a pattern-based framework that can be used to generate configurable formal OS and test models. At the core of the framework, lies a set of predefined behavioral patterns and constraint patterns that can be composed for the auto-generation of formal models for variously configured operating systems. These configurable formal models form the basis of formal validation and verification activities such as model checking safety properties, model-based test generation, and formal application simulation. We have implemented a prototype tool, specially designed for embedded control software based on the OSEK/VDX international standard, to demonstrate the benefits of the framework in task simulation, test generation, and formal verification. A series of experiments and analysis demonstrate that the suggested pattern-based framework is more efficient in test sequence generation and more effective in identifying problems compared to existing approaches.

[1]  Gerard J. Holzmann,et al.  The Model Checker SPIN , 1997, IEEE Trans. Software Eng..

[2]  Yunja Choi Constraint Specification and Test Generation for OSEK/VDX-Based Operating Systems , 2013, SEFM.

[3]  Zheng Wang,et al.  A Timing Verification Framework for AUTOSAR OS Component Development Based on Real-Time Maude , 2013, 2013 International Symposium on Theoretical Aspects of Software Engineering.

[4]  Keqin Li,et al.  Learning Parameterized State Machine Model for Integration Testing , 2007, 31st Annual International Computer Software and Applications Conference (COMPSAC 2007).

[5]  Colin O'Halloran Automated verification of code automatically generated from Simulink® , 2012, Automated Software Engineering.

[6]  Yunja Choi,et al.  Constraint-based test generation for automotive operating systems , 2017, Software & Systems Modeling.

[7]  Peter H. Feiler Real-Time Application Development With OSEK: A Review of the OSEK Standards , 2003 .

[8]  David A. Carrington,et al.  A Framework for Specification-Based Testing , 1996, IEEE Trans. Software Eng..

[9]  Takashi Kitamura,et al.  Formal Model-Based Test for AUTOSAR Multicore RTOS , 2012, 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation.

[10]  Dongwoo Kim,et al.  Model-Based API-Call Constraint Checking for Automotive Control Software , 2016, 2016 23rd Asia-Pacific Software Engineering Conference (APSEC).

[11]  Zhaohui Wu,et al.  Model-based design and verification of automotive electronics compliant with OSEK/VDX , 2005, Second International Conference on Embedded Software and Systems (ICESS'05).

[12]  H CarverRichard,et al.  Use of Sequencing Constraints for Specification-Based Testing of Concurrent Programs , 1998 .

[13]  Fausto Giunchiglia,et al.  NUSMV: A New Symbolic Model Verifier , 1999, CAV.

[14]  Jean-Luc Béchennec,et al.  Trampoline An Open Source Implementation of the OSEK/VDX RTOS Specification , 2006, 2006 IEEE Conference on Emerging Technologies and Factory Automation.

[15]  George S. Avrunin,et al.  Patterns in property specifications for finite-state verification , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[16]  Koushik Sen,et al.  Heuristics for Scalable Dynamic Test Generation , 2008, 2008 23rd IEEE/ACM International Conference on Automated Software Engineering.

[17]  Nancy G. Leveson,et al.  Analyzing Software Safety , 1983, IEEE Transactions on Software Engineering.

[18]  Teemu Kanstrén Behaviour Pattern-Based Model Generation for Model-Based Testing , 2009, 2009 Computation World: Future Computing, Service Computation, Cognitive, Adaptive, Content, Patterns.

[19]  Lars Grunske,et al.  Aligning Qualitative, Real-Time, and Probabilistic Property Specification Patterns Using a Structured English Grammar , 2015, IEEE Transactions on Software Engineering.

[20]  Insup Lee,et al.  Specification-based testing with linear temporal logic , 2004, Proceedings of the 2004 IEEE International Conference on Information Reuse and Integration, 2004. IRI 2004..

[21]  Christian A. Müller,et al.  Towards the Formal Verification of a Distributed Real-Time Automotive System , 2010, NASA Formal Methods.

[22]  Koushik Sen,et al.  CUTE: a concolic unit testing engine for C , 2005, ESEC/FSE-13.

[23]  Gerard J. Holzmann,et al.  The SPIN Model Checker - primer and reference manual , 2003 .

[24]  Aitor Arrieta,et al.  Towards the automatic generation and management of plant models for the validation of highly configurable cyber-physical systems , 2014, Proceedings of the 2014 IEEE Emerging Technology and Factory Automation (ETFA).

[25]  Gérard Berry Synchronous Design and Verification of Critical Embedded Systems Using SCADE and Esterel , 2007, FMICS.

[26]  Jianqi Shi,et al.  ORIENTAIS: Formal Verified OSEK/VDX Real-Time Operating System , 2012, 2012 IEEE 17th International Conference on Engineering of Complex Computer Systems.

[27]  Qin Li,et al.  Modeling and Verifying the Code-Level OSEK/VDX Operating System with CSP , 2011, 2011 Fifth International Conference on Theoretical Aspects of Software Engineering.

[28]  Paul Pettersson,et al.  A Model-Based Testing Framework for Automotive Embedded Systems , 2014, 2014 40th EUROMICRO Conference on Software Engineering and Advanced Applications.

[29]  Rance Cleaveland,et al.  Validating Automotive Control Software Using Instrumentation-Based Verification , 2009, 2009 IEEE/ACM International Conference on Automated Software Engineering.

[30]  Julien Delange,et al.  An MDE-Based Process for the Design, Implementation and Validation of Safety-Critical Systems , 2010, 2010 15th IEEE International Conference on Engineering of Complex Computer Systems.

[31]  B.H.C. Cheng,et al.  Real-time specification patterns , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[32]  Phillip A. Laplante RealTime Operating Systems , 2004 .

[33]  Shaoying Liu,et al.  Generating test data from state‐based specifications , 2003, Softw. Test. Verification Reliab..

[34]  Yunja Choi,et al.  Model checking Trampoline OS: a case study on safety analysis for automotive software , 2014, Softw. Test. Verification Reliab..

[35]  Guillermo Rodríguez-Navas,et al.  Reassessing the pattern-based approach for formalizing requirements in the automotive domain , 2014, 2014 IEEE 22nd International Requirements Engineering Conference (RE).

[36]  Shuai Wang,et al.  Using Feature Model to Support Model-Based Testing of Product Lines: An Industrial Case Study , 2013, 2013 13th International Conference on Quality Software.

[37]  Michael Norrish,et al.  seL4: formal verification of an OS kernel , 2009, SOSP '09.

[38]  Daniel Sundmark,et al.  Vertical Test Reuse for Embedded Systems: A Systematic Mapping Study , 2015, 2015 41st Euromicro Conference on Software Engineering and Advanced Applications.

[39]  Tevfik Bultan,et al.  Verification of parameterized hierarchical state machines using action language verifier , 2005, Proceedings. Second ACM and IEEE International Conference on Formal Methods and Models for Co-Design, 2005. MEMOCODE '05..

[40]  Toshiaki Aoki,et al.  Automatic Generation of Model Checking Scripts Based on Environment Modeling , 2010, SPIN.

[41]  Richard H. Carver,et al.  Use of sequencing constraints for specification-based testing of concurrent programs , 1998 .

[42]  Michael Norrish,et al.  seL4: formal verification of an operating-system kernel , 2010, Commun. ACM.

[43]  Ulf Norell,et al.  Testing AUTOSAR software with QuickCheck , 2015, 2015 IEEE Eighth International Conference on Software Testing, Verification and Validation Workshops (ICSTW).

[44]  Yunja Choi,et al.  Automated system-level safety testing using constraint patterns for automotive operating systems , 2015, SAC.

[45]  Manfred Broy,et al.  On the correctness of upper layers of automotive systems , 2008, Formal Aspects of Computing.