[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