Title :
Model Checking C Programs with Dynamic Memory Allocation
Author :
Gallardo, María Del Mar ; Merino, Pedro ; Sanan, D.
Author_Institution :
Dept. of Comput. Sci., Univ. of Malaga, Malaga
fDate :
July 28 2008-Aug. 1 2008
Abstract :
Software model checking technology is based on an exhaustive and efficient simulation of all possible execution paths in concurrent programs. Existing tools based on this method can rapidly detect execution errors, preventing malfunctions in the final system. However dealing with dynamic memory allocation is still an open trend. In this paper, we present a novel method to extend explicit model checking of C programs with dynamic memory management. The method consists in defining a canonical representation of the heap that is based on moving most of the information from the state vector to a global structure. We give a formal semantics of the method in order to show its soundness. Our experimental results show that this method can be efficiently implemented in many well known model checkers, like CADP or SPIN.
Keywords :
C language; programming language semantics; storage allocation; concurrent programs; dynamic memory allocation; formal semantics; model checking C programs; software model checking technology; Application software; Computational modeling; Computer applications; Computer languages; Computer science; Concurrent computing; Dynamic programming; Java; Memory management; Specification languages; Model extraction; dynamic memory; pointers; software model checking;
Conference_Titel :
Computer Software and Applications, 2008. COMPSAC '08. 32nd Annual IEEE International
Conference_Location :
Turku
Print_ISBN :
978-0-7695-3262-2
Electronic_ISBN :
0730-3157
DOI :
10.1109/COMPSAC.2008.143