Visualizing the structure, behaviour, and evolution of software