Mar. 16, 1998 to Mar. 19, 1998
Mark Harman , University of London
Sebastian Danicic , University of North London
Problems associated with understanding, verifying and re-engineering the way in which a system allocates and releases dynamic memory present significant challenges to the software maintainer. Because the questions underlying these problems are undecidable, no system can provide a completely fail safe certification. For example, in checking for memory leaks, a system can only warn of potential problems, but cannot guarantee that no leaks remain.We present an approach to modelling the dynamic memory access properties of a program using amorphous program slicing to create a Dynamic Memory Model (DMM). The slices are constructed from a transformed version of the original program in which heap access has been made explicit using a pseudo variable to denote the top of the heap. The DMM is a simplified version of the original program which is concerned solely with the dynamic memory access behaviour of the original. We illustrate the use of DMMs in problems of comprehension, verification and re-engineering.We introduce a proof-of-concept DMM construction algorithm, showing how slicing simplification power can be dramatically improved using domain-specific transformation rules.
Mark Harman, Sebastian Danicic, "Analysis of Dynamic Memory Access using Amorphous Slicing", ICSM, 1998, 2013 IEEE International Conference on Software Maintenance, 2013 IEEE International Conference on Software Maintenance 1998, pp. 336, doi:10.1109/ICSM.1998.738525