1 Introduction
The dynamic memory allocation properties of a program are often hard to understand and problems associated with dynamic memory are notoriously difficult to model, predict and verify. However, the problems which can arise as a result of a failure to correctly understand dynamic memory allocation can be severe. For instance, the report on London Ambulance Service System failure attributed the second disastrous crash of November 1992 to the accidental insertion of a simple memory leak in the vehicle mobilisation routine [6] (section 4039).