
























































































This document discusses software evolution analysis and visualization. It begins with definitions of software and key concepts in software evolution. It then discusses mining software repositories to understand who made changes and when. Visualization techniques are presented to help understand the evolutionary process, such as the Evolution Matrix and CodeCity tools. Analyzing bugs as first-class entities over their lifecycle is also discussed. The goal of the analysis is to understand past evolution and help predict future changes.
























































































