Visualization and GraphicsInteractionDept ICSFaculty of ScienceUU

//webspace.science.uu.nl/~telea001/Site/TopBar

Software Visualization

This course introduces you to the main principles and techniques behind software visualization (softvis). We start from the theory of software lifecycle, including program comprehension. Next, we discuss visualization techniques for understanding software structure (and source code), behavior (execution), and evolution (during maintenance). Finally, we show end-to-end applications of software visualization principles, techniques, and tools to solve real-world problems in the software industry.

Topics

  • software lifecycle
  • program comprehension
  • software structure: source code, containment hierarchies, dependencies, compound graphs
  • structure visualization: table lenses, node-link layouts, treemaps, edge bundling, diagrams
  • software metrics
  • software behavior: profiling, program traces
  • behavior visualization: timelines, space-filling displays
  • software evolution: laws of evolution, repository mining
  • evolution visualization: timelines, space-filling displays, dynamic graphs
  • software visual analytics
  • tool design: requirements, guidelines, evaluation, examples

Course details

See the sidebar for links to the course slides, assignment, grading, and additional material.