LaMOD'16: Multilevel Debugging for Interpreter Developers

February 26, 2016

As part of Modularity'16 in Málaga, we have a small paper on how to enrich debugging for interpreter developers.

A traditional Debugger at the left and our multi-level debugger at the right. Our debugger adds a level-selection step (b3) to the debugging process in addition to the stack frame list (a1, b1) and the source code view (a2, b2). Value:- and eval:in:-stack frames are characterized with help of call parameters (b1).

Abstract

Conventional debuggers require programmers to work on multiple levels of abstraction at once when inspecting call stacks or data. This demands considerable cognitive overhead and deep system knowledge of all implementation technologies involved. When developing an interpreter, programmers often create a dedicated debugger to have a higher-level perspective on the client-language; the resulting use of multiple debuggers at once leads to mental context switches and needs an elaborated method. We present an integrated debugging tool in which interpreter developers define and select the levels of abstraction on which they focus. Our debugger provides them with an abstraction-specialized view. We consider both host-language and guest-language levels, since either may be levels of interest in a debugging session. We show how this separation into host-language levels can ease the debugging of applications through filtering call stacks and specializing call stack representation on levels. more…

Debugging an interpreter requires interaction in the context of the guest as well as the host language.

Paper

You can read the Paper Preview here.

Curious?

Come to the LaMOD workshop and discuss with us, I’ll be talking from 2:30pm to 3pm on Tuesday, 15. of March.

Here is the slides of it:

Multi-level Debugging for Interpreter Developers at LaMOD'16 from Bastian Kruck

Copyright

DOI: http://dx.doi.org/10.1145/2892664.2

© ACM, 2015. This is the authors' version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version will be published in proceedings of the ACM Conference on Object-oriented Programming, Systems, Languages, and Applications.

Discussion, links, and tweets

I care about lots other interesting things as well. Follow me on Twitter to get an impression of that. Or contact me directly on another channel or come along to visit me.