[Colloq] Thesis Proposal ***Thursday, January 23rd***

Rachel Bates rachelb at ccs.neu.edu
Tue Jan 21 16:26:41 EST 2003


College of Computer and Information Science 
Presents:

Thursday January 23, 2:00pm
149 Cullinane Hall

Presenter: Galen Williamson

Committee:

Advisor: Prof. Mitchell Wand
Prof. William Clinger
Prof. Matthias Felleisen

Title:

Multithreaded Higher-Order Static Analysis

Abstract:

The responsive nature of highly interactive graphical user interfaces
in modern software applications has led to a shift in the structuring
of software from sequential "batch" processing to concurrent
"reactive" processing.  The primary control structure for "reactive
programming" is event notification, described by the Observer design
pattern: Any number of "observers" may register interest in (subscribe
to) state changes in a "subject".  When an interesting state change
occurs in the subject, it notifies all of its subscribing listeners.

The Observer pattern has found other applications in systems requiring
communication between loosely-coupled objects, such as software
components and distributed object consistency.  By abstracting
communication relationships, the Observer pattern allows greater
separation between components, and thus increases their potential for
reusability.  However, this same separation can obscure both the paths
of control between subject and observers, as well as the dynamic
contexts of notifications, making event-based programs harder to read,
understand, and debug.

We consider the use of static analysis techniques to create a tool for
generating "event road maps," to help programmers navigate event-based
Java program code.  We focus on extending existing formal analyses such as
control flow analysis and pointer analysis to a multithreaded,
higher-order event-oriented language, with particular attention to the
development of modular techniques for constructing concise and readable
proofs of their soundness.



More information about the Colloq mailing list