https://www.dagstuhl.de/03491

November 30 – December 5 , 2003, Dagstuhl Seminar 03491

Understanding Program Dynamics

Organizers

Jong-Deok Choi (IBM TJ Watson Research Center, US)
Barbara G. Ryder (Rutgers University – Piscataway, US)
Andreas Zeller (Universität des Saarlandes, DE)

For support, please contact

Dagstuhl Service Team

Documents

List of Participants

Summary - pdf

Public Outreach

Understanding what is going on in a program run has been a problem for decades. Classically, program analysis has been divided into two areas:

Static analysis
deduces from program code what can (and what cannot) happen in all possible program runs.
Dynamic analysis
observes facts in a concrete program run and possibly checks whether these facts meet specific expectations.

However, the gap between "static" and "dynamic" is no longer as wide as it used to be. Both techniques are being extended to incorporate each other's strengths:

  • Coming from the static side, more and more analysis techniques make use of symbolic execution (which makes them "dynamic" in some sense) and thus may restrict their range to a specific set of runs in order to increase precision.
  • Coming from the dynamic side, analysis need not be restricted to a single run, but to a multitude of runs (possibly even conducted by the analysis process), thus broadening the applicability of its results.

The goals of this Dagstuhl Seminar were to further bridge the gap between "static" and "dynamic" analysis - and to explore new directions that would help integrating the strengths of the different approaches.

Scientific Highlights

The seminar succeeded in both goals:

Bridging the gap .
At the end of the seminar, all researchers, whether working on "static" or "dynamic" methods, agreed that any information about programs can (and should) be exploited to improve their understanding. This information includes the program code and its semantics, of course, but also program traces, test results, test coverage, program usage in the field, version histories, and other accessible data. The seminar participants demonstrated an impressive range of techniques to exploit these information sources.
Technique integration .
There is an enormous wealth of information about programs that is accessible today. All this data needs to be filtered, combined, and distilled - a task only possible by integrating various "static" and "dynamic" techniques. The integration of the participants' approaches opens up several opportunities to improve program understanding - and this seminar was an excellent starting point to make people meet and work together.

Perspectives

All in all, this seminar has exceeded the organizers' expectations by far - both in terms of creativity and in interaction. Yet, we have only begun to exploit the wealth of information about programs. Several questions offer opportunities for further research, including:

  • How do we gather abstractions from concrete runs - from test runs or runs in the field?
  • How can such abstractions guide static analysis?
  • How can we distinguish the facts that are relevant for a specific behavior?

In addressing these questions, computing power is no longer the limit. Instead, we must find out how to make the best of our tools and techniques. This seminar has turned out several promising approaches.

The spirit of this seminar will live on in future events dedicated to integrate various approaches to program analysis. In particular, we expect the Workshop on Dynamic Analysis (WODA) and the Workshop on Program Analysis for Software Tools and Engineering (PASTE) to show up first integration results. In a year from now, we shall send an informal questionnaire to the participants, asking them how the Dagstuhl seminar has influenced their later research.

On behalf of all participants, we thank IBFI Schloss Dagstuhl for providing such pleasant conditions for discussions and research. We also thank the participants for their contributions to the success of this seminar. A list of all participants, presentations, and abstracts is available at the Dagstuhl seminar page:

Jong-Deok Choi
Barbara Ryder
Andreas Zeller

Photos by Raimondas Lencevicius

Documentation

In the series Dagstuhl Reports each Dagstuhl Seminar and Dagstuhl Perspectives Workshop is documented. The seminar organizers, in cooperation with the collector, prepare a report that includes contributions from the participants' talks together with a summary of the seminar.

 

Download overview leaflet (PDF).

Publications

Furthermore, a comprehensive peer-reviewed collection of research papers can be published in the series Dagstuhl Follow-Ups.

Dagstuhl's Impact

Please inform us when a publication was published as a result from your seminar. These publications are listed in the category Dagstuhl's Impact and are presented on a special shelf on the ground floor of the library.

NSF young researcher support