Model Checking C Programs with Dynamic Memory Allocation

  • Authors:
  • María del Mar Gallardo;Pedro Merino;David Sánan

  • Affiliations:
  • -;-;-

  • Venue:
  • COMPSAC '08 Proceedings of the 2008 32nd Annual IEEE International Computer Software and Applications Conference
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Software model checking technology is based on an exhaustiveand 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.