Thoughts On: Theseus

The Problem

Something went wrong in your software! Read the code, guess what happened, add breakpoints and log statements, reload the page, trigger the bug again, then repeat until you guess correctly.
(Figure from my UIST 2012 poster)

A running program is interactive and alive. To determine whether it works, you just poke it and see what happens.

Unfortunately, to fix a problem, you must edit its source code, which is dead and unresponsive. Locating misbehavior in something static requires simulating a computer in your head.

Theseus is a JavaScript debugger I wrote whose ongoing mission is to turn code into an interface for exploring the run-time behavior of a program. It does this by

CHI 2014

I presented presented at the CHI conference in 2014. The paper and slides are here.

Download Theseus, my JavaScript debugger

You can install Theseus in the Brackets IDE by opening its built-in extension manager and searching for “Theseus”. Theseus's source code is on GitHub. You should post bug reports and feature requests there.

# JavaScript

The first target language is JavaScript, because of its omnipresence on the web, and its programmable debugger1. We're also intrigued by JavaScript's special flavor of callback hell.

Theseus is being developed as an extension for the Adobe Brackets code editor because it's just so gosh darn easy.