Title :
Automated Formal Verification and Testing of C Programs for Embedded Systems
Author :
Kandl, Susanne ; Kirner, Raimund ; Puschner, Peter
Author_Institution :
Inst. fur Technische Informatik, Technische Univ. Wien
Abstract :
In this paper, we introduce an approach for automated verification and testing of ANSI C programs for embedded systems. We automatically extract an automaton model from the C code of the SUT (system under test). This automaton model is on the one hand used for formal verification of the requirements defined in the system specification, on the other hand, we can derive test cases from this model, for both methods we use a model checker. We describe our techniques for test case generation, based on producing counterexamples with a model checker by formulating trap properties. The resulting test cases can then be applied to the SUT on different test levels. An important issue for model checking C-source code, is the correct modeling of the semantics of a C program for an embedded system. We focus on challenges and possible restrictions that appear, when model checking is used for the verification of C-source code. We specifically show how to deal with arithmetic expressions in the model checker NuSMV and how to preserve the numerical results in case of modeling the platform-specific semantics of C
Keywords :
C language; embedded systems; formal specification; program testing; program verification; ANSI C program; C-source code; automated formal verification; automaton model; embedded system; model checking; system under test; Application software; Arithmetic; Automata; Automatic testing; Embedded software; Embedded system; Formal verification; Real time systems; Software testing; System testing;
Conference_Titel :
Object and Component-Oriented Real-Time Distributed Computing, 2007. ISORC '07. 10th IEEE International Symposium on
Conference_Location :
Santorini Island
Print_ISBN :
0-7695-2765-5
DOI :
10.1109/ISORC.2007.22