| Date | Speaker | Title | Abstract |
|---|---|---|---|
| 1/30/02 | Clinton Jeffery | Towards an Automatic Debugging Encyclopedia | We are constructing an Automatic Debugging Encyclopedia, a collection of software tools that detect event patterns that indicate common bugs. Just as Virus Scanners look for a large number of viruses by scanning for bit patterns in static files, our Bug Scanners will look for a large number of common bugs by scanning for event patterns in program executions. This talk will give some simple examples, and introduce some underlying formalisms that allow us to implement these tools efficiently. |
| 2/6/02 | Mikhail Auguston | Program Behavior Models |
The first step towards debugging automation
tool design is precise specification of behavior models for target
programs. We suggest a solution based on event grammars, which provides
for a design of a broad variety of behavior models with different
levels of granularity for both sequential and parallel paradigms.
The talk will present event grammars for Pascal, Occam, and C programming languages, as well as examples of computations over event traces for those models representing different kinds of dynamic analyses. We'll also touch on the implementation issues and potential topics for the research work. |
| 2/13/02 | Dr. Jonathan Cook | Discovering Concurrent Models of System Behavior | If a system's actual dynamic behavior can be captured or inspected as a sequence of events, can one infer a model of the general behavior of the system? The answer is more or less yes, depending on the complexity of the system and the amount of actual behavior that is observed. But what if the (single) sequence of events is produced from a system with multiple concurrent threads of control? Can one re-discover these separate threads? In this talk we will look at this problem, and at the discovery of the interaction points between those threads. |
| 2/20/02 | Clinton Jeffery | Program Visualization Part I: Principles and Examples | Program Visualization is the art of explaining or discovering properties of programs or their executions using graphics. This talk will discuss some principles of program visualization, and present examples. |
| 2/27/02 | Mikhail Auguston | Program Behavior Models: Implementation Issues |
We will discuss implementation techniques
for computations over event traces and lessons learned from the first
prototypes for PASCAL and C languages. The topics include event
detection, event trace formats, event filtering and other optimization
issues.
If time permits, we will also discuss design of the preliminary draft of Unicon behavior model. |
| 3/6/02 | Jonathan Cook | Quantitative Design Correspondence Measurement | Often a system under maintenance will violate it's intended design as it goes through changes. System developers would like to know where and by how much their system is disagreeing with the written-down design. This talk will be focused on techniques to measure this disagreement in the behavioral aspect of system design and specification. |
| 3/13/02 | Clinton Jeffery | Program Visualization Part II: Some Run-time Animations | This talk will illustrate some of the ideas from the previous program visualization talk, using a demonstration of some simple tools that animate a program's inner workings while it is running. The visualization tools work on any Icon or Unicon program, without a need to recompile either the visualization or the program being monitored. Several tools can simultaneously visualize the same target program execution under the direction of a monitor coordinator program. |
| 3/20/02 | Keshava Reddy Kottapally | SpaceAgents: A JavaSpace-based Framework for Mobile Agents | SpaceAgents is a new framework for mobile agents. It is based on the JINI infrastructure and one of its services, JavaSpaces. The talk goes through the introduction of mobile agents, existing frameworks and their approaches, followed by an overview of SpaceAgents. We will also discuss the JINI architecture and the importance of JavaSpaces in network-centric computing. SpaceAgents is being developed as part of my Master's project under the guidance of Dr. Jonathan Cook. |
| 4/3/02 | Navin Kumar Vedagiri | Reliable Upgrading Through Multi-Version Execution | This presentation explains a new framework (Hercules) for reliable upgrading of components (C functions). This will give an overview of how simultaneous execution of multiple versions of components is handled. In this talk we will discuss the concepts of dynamic and static linking in Linux, how the existing GNU dynamic loader resolves a function call, and the changes that have been made to the existing GNU dynamic loader to load and execute multiple versions of a single function. |
| 4/10/02 | Shalini Devi | Understanding and manipulating Java class loading and linking | The presentation comprises of the basic concepts of loading and linking involved in a Java program execution. We then discuss how this process can be manipulated, to support our goal of executing of multiple versions of classes for more reliable system evolution. |
| 10/18/02 | Clinton Jeffery | Monterey Workshop 02 Survey (slides) | This presentation discusses some of the ideas from the Monterey Workshop titled "Radical Innovations in Software and System Engineering", held in Venice, Italy, October 7-11 2002. |