30. November – 05. Dezember 2003, Dagstuhl-Seminar 03491

Understanding Program Dynamics


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

Auskunft zu diesem Dagstuhl-Seminar erteilt

Dagstuhl Service Team




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.


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


In der Reihe Dagstuhl Reports werden alle Dagstuhl-Seminare und Dagstuhl-Perspektiven-Workshops dokumentiert. Die Organisatoren stellen zusammen mit dem Collector des Seminars einen Bericht zusammen, der die Beiträge der Autoren zusammenfasst und um eine Zusammenfassung ergänzt.


Download Übersichtsflyer (PDF).

Dagstuhl's Impact

Bitte informieren Sie uns, wenn eine Veröffentlichung ausgehend von Ihrem Seminar entsteht. Derartige Veröffentlichungen werden von uns in der Rubrik Dagstuhl's Impact separat aufgelistet  und im Erdgeschoss der Bibliothek präsentiert.


Es besteht weiterhin die Möglichkeit, eine umfassende Kollektion begutachteter Arbeiten in der Reihe Dagstuhl Follow-Ups zu publizieren.