[Colloq] PhD Thesis Defense, John Clements, Wed., May 25

Rachel Kalweit rachelb at ccs.neu.edu
Mon May 23 15:45:15 EDT 2005



College of Computer and Information Science
PhD Thesis Defense:
John Clements

Title:
Portable and High-level Access to the Stack with Continuation Marks

Wednesday, May 25, 2005
4:30pm
366 West Village H
Abstract:
My dissertation presents and defends the thesis that lightweight stack 
inspection improves the implementation of intensional programming tools 
and programming language extensions.

Intensional programming tools, such as debuggers, need to observe and 
change the behavior of programs as they run.  Intensional programming 
language extensions, such as aspect-oriented programming, behave 
similarly. Traditionally, these tools and extensions are granted 
privileged access to the evaluator's implementation details, through a 
low-level interface to the back end. This design often introduces a 
dependence on low-level details (including stack layout), and can stall 
further development, particularly the extension of these tools to new 
platforms and new versions of the evaluator.

To solve some of these problems, we propose an alternate architecture. 
Our lightweight stack inspection mechanism, "continuation marks," allows 
these tools to obtain runtime information without special privilege, and 
to operate as annotators on the source language. We claim that this 
language feature is a simple addition to many runtime systems, and that 
this architecture results in tools and extensions that are more portable 
and well-defined.

In order to support our claim, we have successfully applied it to three 
different problems.  First, we designed and implementated a stepping 
debugger. Second, we showed how a security feature, stack inspection, 
may be expressed.  Finally, we consider the implementation of aspects, 
and particularly those aspects which require information about control flow.

Committee:
Matthias Felleisen (advisor)
Mitchell Wand
William Clinger
Matthew Flatt (Utah)
Dan Wallach (Rice).





More information about the Colloq mailing list