Surfnet logo

User Interface Traces: Supporting the Maintenance of Interactive Software

This is a completed project.


We propose a method to support the maintenance of interactive software systems with user interface traces, that involves: (1) collecting execution traces of an interactive system, (2) segmenting execution traces into user interface traces according to user interface activity, and (3) mapping the user interface activity to the implementation activity.

To support our approach, we developed a tool that uses aspect-oriented programming with load-time weaving to collect user interface traces from an interactive system. The tool allows us to browse the user interface traces and view user interface related data such as: user input, display updates, and thread activity. Using our tool, we demonstrate how developers can orient themselves and identify the slice of code relevant to performing common software maintenance tasks.


  • Dr. Kevin Schneider (Supervisor)
  • Andrew Sutherland (PhD Student)