Fortgeschrittenen Praktikum: A Debugger for Alice/SEAM
by Jens Regenberg supervised by Thorsten Brunklaus and Leif Kornstaedt.Content
Modern development environments often provide a debugger. A debugger is a tool to assist the programmer to find run-time errors in his program. The aim of this FoPra is to implement such a debugger for the current Alice VM. Alice is a functional programming language based on Standard ML, enabling concurrent, distributed and constraint programming. To debug a program, the programmer should be able to inspect both, the control flow and the run-time environment. Since Alice is a concurrent programming language, this should be possible for every thread.
Objectives
The Debugger for Alice/SEAM is an expression based Debugger. It can supervise the control flow of every thread attached to it. The tool for control flow supervision is single step execution. Another aspect of debugging is environment inspection. Therefore the debugger provides the following functions:
- step into
- step over
- continue
- suspend (a thread)
- resume (a thread)
- set (dynamic/static) breakpoint
- code view
- inspect run-time environment
- simple text-based user interface
Progress
The Core of the debugger is implemented. Also a primitive user interface. A graphic user interface is under construction as well as an emacs connection.
Future Work
- Automatic type reconstruction
Docs and Slides