Wed 15 Jun 2016 14:30 - 15:00 at Grand Ballroom Santa Ynez - Testing & Debugging Chair(s): Benjamin Zorn

A computation tree of a program execution describes subcomputations of functions and their call dependencies. A computation tree describes how a program works and is at the heart of algorithmic debugging. To generate a computation tree, existing algorithmic debuggers either use a complex implementation or yield a less informative approximation. We present a method for lazy functional languages that requires only a simple tracing library to generate a detailed computation tree. With our algorithmic debugger a programmer can debug any Haskell program by only importing our library and annotating suspected functions.