Program visualisation uses computer graphics and animation techniques to produce pictures illustrating the dynamic behaviour of a running computer program. Most program visualisation systems display either language-level details of programs or high-level overviews of the program's algorithm. This thesis investigates the use of abstraction in program visualisation. The goal of the project was to find techniques which could produce displays of programs at all levels of abstraction, and which would not require a large amount of information about the implementation of the program to be visualised. Based upon analyses of program visualisation and abstraction in programming, a model of abstract program visualisation is developed. This model uses ...