Computing amorphous program slices using dependence graphs
Proceedings of the 1999 ACM symposium on Applied computing
SAC '00 Proceedings of the 2000 ACM symposium on Applied computing - Volume 2
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
Syntax-Directed Amorphous Slicing
Automated Software Engineering
A brief survey of program slicing
ACM SIGSOFT Software Engineering Notes
Application of redundant computation in program debugging
Journal of Systems and Software
Hi-index | 0.00 |
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.