LaMOD'16: Multilevel Debugging for Interpreter Developers
As part of Modularity'16 in Málaga, we have a small paper on how to enrich debugging for interpreter developers.
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).
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…
You can read the Paper Preview here.
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:
© 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.