Design and Implementation of a Browser-Based User Interface for Habitat

Habitat is an observational debugger for SQL developed in our research group. Users can highlight parts of a buggy SQL query in order to observe intermediate results of the evaluation of particular subexpressions and thus learn about the query’s actual runtime behaviour.

Debugging with Habitat is an interactive process where the user places new markings based on the debugger output of previous markings, to narrow down the precise location of an error cause, step by step; playfully hunting the bug. The primary task of this thesis is the development of a smart and interactive browser-based user interface for Habitat which encourages this exploratory style of debugging.

For this purpose, some experience with JavaScript (incl. jQuery) and HTML5 is required as well as the ability to write and understand standard SQL queries. Since the deployed backend of Habitat was developed in Haskell, a basic knowledge of this programming language would be desirable, too.


Benjamin Dietrich