# Project 4: Visualizing Runtime State and Dynamic Behavior

![](screenshot.png)

## Goals:
- Design and implement tools to make active expressions explorable and tangible
  - List active expressions in the system, with meta information
  - Visualize dependencies in an object-centric view
  - Allow to track dependencies between active expressions and over time
  - Visualize reactive behavior over time

## Readings (to start with):
- Stefan Ramson and Robert Hirschfeld. Active Expressions: Basic Building Blocks for Reactive Programming. <Programming> 2017. (pdf)
- Andrew J. Ko and Brad A. Myers. Designing the Whyline: A Debugging Interface for Asking Questions About Program Behavior. CHI 2004. (pdf)
- Herman Banken, Erik Meijer, and Georgios Gousios. Debugging Data Flows in Reactive Programs. ICSE 2018. (pdf)
- Akio Oka, Hidehiko Masuhara, and Tomoyuki Aotani. Live, synchronized, and mental map preserving visualization for data structure programming. Onward! 2018 (pdf)
