Bugloo Homepage
A source-level debugger for Scheme on the JVM

News Headline



Online Documentation

A reference manual that describes all the commands available in Bugloo is included in the sources distribution. You may also browse it online in the following formats:

XHTML Web Book
1 page per chapter, plus a left frame containing the table of contents. Your browser must support CSS and ECMAScript. The documentation is available here.
Mozilla/Firefox Content Pack

For Mozilla/Firefox users only. A single archive containing all the documentation in the Mozilla help format (RDF). You benefit from cool features of your browser's help viewer: the index browsing and the builtin search engine.

Important: the documentation in Content Pack format is a signed archive. You will have to install the following certificate on your machine and to restart your browser to take the changes into account. Once this is done, you can click here to browse the documentation.

Research Papers


Bugloo: A Source Level Debugger For Scheme Programs Compiled into JVM Bytecode

This paper presents Bugloo, a source level debugger for Scheme programs. It enables debugging of programs compiled into JVM bytecode by the Bigloo compiler. It aims at being easy to use because it provides a user interface. It aims at being practical to use because it is easy to deploy and because it is efficient enough to debug large programs such as the Bigloo compiler itself.

The JVM platform provides two standard APIs for implementing debuggers and profilers: JVMDI and JVMPI. One of the motivations for providing the Bigloo compiler with a JVM back-end was to benefit from these two APIs to implement a debugger for Scheme. Bugloo is this debugger. This paper presents the pros and cons of the JVM debugging infrastructure for implementing a debugger for a functional language such as Scheme. It also presents the implementation of the main features of Bugloo.

Debugging Scheme Fair Threads

There are two main policies for scheduling thread-based concurrent programs: preemptive scheduling and cooperative scheduling. The former is known to be difficult to debug, because it is usually non-deterministic and can lead to data races or difficult thread synchronization. We believe the latter is a better model when it comes to debugging programs.

In this paper, we discuss the debugging of Scheme Fair Threads, that are based on cooperative scheduling and synchronous reactive programming. In this approach, thread communication and synchronization is achieved by means of special primitives called signals, which ease the debugging process. We present the tools we have implemented to deal with the main types of concurrent bugs that can arise in this special programming framework.


A report (ps.gz) explains the reasons why Bugloo has been developed and what was its goal. For french people :P

Valid XHTML 1.0! Valid CSS 2.0!
This XHtml page has been produced by Skribe.
Last update Tue Jan 4 12:10:38 2005.