The book is divided into four parts, covering important aspects of software visualisation. Part 1 covers a survey on existing software visualisation tools and environments, the strategies for making a software visualisation system language independent, and program animation for C language. Part 2 presents topics and techniques on graph drawing, which supports efficient and aesthetically pleasing visualisation. Some recently developed graph drawing systems and techniques used are described. Part 3 discusses visual programming concepts and techniques for supporting parallel and heterogeneous distributed programming. Part 4 includes several case studies of software visualisation, concentrating on the broader field of software engineering ranging from software metrics to reverse engineering.