Semiformal Verification of Embedded Software in Medical Devices Considering Stringent Hardware Constraints

In recent days, the complexity of software has increased significantly in embedded products in such a way that the verification of Embedded Software (ESW) now plays an important role to ensure the product's quality. Embedded systems engineers usually face the problems of verifying properties that have to meet the application's deadline, access the memory region, handle concurrency, and control the hardware registers. This work proposes a semiformal verification approach that combines dynamic and static verification to stress and cover exhaustively the state space of the system. We perform a case study on embedded software used in the medical devices domain. We conclude that the proposed approach improves the coverage and reduces substantially the verification time.

[1]  Sofiène Tahar,et al.  On the Formal Verification of Embedded Software Using Multiway Decision Graphs , 1997 .

[2]  Kim G. Larsen,et al.  Practical verification of embedded software , 2000, Computer.

[3]  Kent L. Beck,et al.  Extreme programming explained - embrace change, Second Edition , 2005, The XP series.

[4]  Paulo Romero Martins Maciel,et al.  TXM: an agile HW/SW development methodology for building medical devices , 2007, SOEN.

[5]  Li Xi,et al.  Implementation of a semi-formal verification for embedded systems , 2005, Second International Conference on Embedded Software and Systems (ICESS'05).

[6]  Ken Schwaber,et al.  Agile Software Development with SCRUM , 2001 .

[7]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[8]  Luc J. M. Claesen,et al.  A formal verification technique for embedded software , 1996, Proceedings International Conference on Computer Design. VLSI in Computers and Processors.

[9]  Wolfgang Rosenstiel,et al.  Semiformal Verification of Temporal Properties in Embedded Software , 2007, MBMV.

[10]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[11]  Daniel Kroening,et al.  SATABS: SAT-Based Predicate Abstraction for ANSI-C , 2005, TACAS.

[12]  Fabio Somenzi,et al.  Efficient Büchi Automata from LTL Formulae , 2000, CAV.

[13]  Daniel Kroening,et al.  A Tool for Checking ANSI-C Programs , 2004, TACAS.

[14]  Chao Wang,et al.  Model checking C programs using F-Soft , 2005, 2005 International Conference on Computer Design.

[15]  Hermann Kopetz,et al.  Real-time systems , 2018, CSC '73.

[16]  Alberto L. Sangiovanni-Vincentelli,et al.  Benefits and challenges for platform-based design , 2004, Proceedings. 41st Design Automation Conference, 2004..

[17]  H. Goldstein Checking the play in plug-and-play , 2002 .

[18]  Angelika Mader,et al.  Model checking embedded system designs , 2002, Sixth International Workshop on Discrete Event Systems, 2002. Proceedings..

[19]  Nikolaj Bjørner,et al.  Z3: An Efficient SMT Solver , 2008, TACAS.

[20]  Wolfgang Rosenstiel,et al.  Verification of Temporal Properties in Automotive Embedded Software , 2008, 2008 Design, Automation and Test in Europe.

[21]  Fausto Giunchiglia,et al.  NUSMV: a new symbolic model checker , 2000, International Journal on Software Tools for Technology Transfer.