DocumentCode
2449049
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
fYear
2008
fDate
July 28 2008-Aug. 1 2008
Firstpage
219
Lastpage
226
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;
fLanguage
English
Publisher
ieee
Conference_Titel
Computer Software and Applications, 2008. COMPSAC '08. 32nd Annual IEEE International
Conference_Location
Turku
ISSN
0730-3157
Print_ISBN
978-0-7695-3262-2
Electronic_ISBN
0730-3157
Type
conf
DOI
10.1109/COMPSAC.2008.143
Filename
4591560
Link To Document