Dagstuhl Seminar 03491
Understanding Program Dynamics
( Nov 30 – Dec 05, 2003 )
Permalink
Organizers
- Jong-Deok Choi (IBM TJ Watson Research Center, US)
- Barbara G. Ryder (Rutgers University - Piscataway, US)
- Andreas Zeller (Universität des Saarlandes, DE)
Contact
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.
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
- Matthew Arnold (IBM TJ Watson Research Center, US)
- Darren Atkinson (Santa Clara University, US)
- Martin Burger (Universität des Saarlandes, DE)
- Satish Chandra (IBM India Research Lab. - New Delhi, IN) [dblp]
- Jong-Deok Choi (IBM TJ Watson Research Center, US)
- Holger Cleve (Universität des Saarlandes, DE)
- Jonathan Cook (New Mexico State University, US) [dblp]
- Wim De Pauw (IBM TJ Watson Research Center - Hawthorne, US)
- Brian Demsky (MIT - Cambridge, US) [dblp]
- Stephan Diehl (KU Eichstätt/Ingolstadt, DE) [dblp]
- Laura Dillon (Michigan State University - East Lansing, US)
- Mireille Ducassé (INRIA Rennes - Bretagne Atlantique, FR)
- Bruno Dufour (McGill University - Montreal, CA)
- Matthew Dwyer (University of Nebraska - Lincoln, US) [dblp]
- Sebastian Elbaum (University of Nebraska - Lincoln, US)
- Michael D. Ernst (MIT - Cambridge, US) [dblp]
- Manuel A. Fähndrich (Microsoft Research - Redmond, US) [dblp]
- Cormac Flanagan (University of California - Santa Cruz, US) [dblp]
- Patrice Godefroid (Bell Labs - Lisle, US) [dblp]
- Alex David Groce (Jet Propulsion Laboratory - Pasadena, US) [dblp]
- Mary Jean Harrold (Georgia Institute of Technology - Atlanta, US) [dblp]
- John Hatcliff (Kansas State University, US) [dblp]
- Vesa Hirvisalo (Helsinki University of Technology, FI)
- Jeffrey K. Hollingsworth (University of Maryland - College Park, US) [dblp]
- Rainer Koschke (Universität Bremen, DE) [dblp]
- Jens Krinke (FernUniversität in Hagen, DE) [dblp]
- Raimondas Lencevicius (NOKIA Research Center - Burlington, US)
- Christian Lindig (Universität des Saarlandes, DE) [dblp]
- Darko Marinov (MIT - Cambridge, US) [dblp]
- Barton P. Miller (University of Wisconsin - Madison, US) [dblp]
- Nick Mitchell (IBM TJ Watson Research Center - Hawthorne, US)
- Markus Mock (University of Pittsburgh, US)
- Alan Mycroft (University of Cambridge, GB) [dblp]
- Stephan Neuhaus (Universität des Saarlandes, DE)
- Robert O'Callahan (IBM TJ Watson Research Center - Yorktown Heights, US) [dblp]
- Alessandro Orso (Georgia Institute of Technology - Atlanta, US) [dblp]
- Manos Renieris (Brown University - Providence, US)
- Jürgen Rilling (Concordia University - Montreal, CA)
- Gregg Rothermel (University of Nebraska - Lincoln, US)
- Barbara G. Ryder (Rutgers University - Piscataway, US) [dblp]
- Gregor Snelting (Universität Passau, DE) [dblp]
- Markus Stumptner (University of South Australia - Mawson Lakes, AU) [dblp]
- Frank Tip (IBM TJ Watson Research Center - Hawthorne, US) [dblp]
- Clark Verbrugge (McGill University - Montreal, CA)
- Willem Visser (NASA / RIACS - Moffett Field, US) [dblp]
- Peter Weißgerber (Universität des Saarlandes, DE)
- Reinhard Wilhelm (Universität des Saarlandes, DE) [dblp]
- Franz Wotawa (TU Graz, AT)
- Andreas Zeller (Universität des Saarlandes, DE) [dblp]
- Thomas Zimmermann (Universität des Saarlandes, DE) [dblp]