June 26 – July 1 , 2005, Dagstuhl Seminar 05261

Multi-Version Program Analysis


Thomas Ball (Microsoft Research – Redmond, US)
Stephan Diehl (KU Eichstätt/Ingolstadt, DE)
David Notkin (University of Washington – Seattle, US)
Andreas Zeller (Universität des Saarlandes, DE)

For support, please contact

Dagstuhl Service Team


Dagstuhl Seminar Proceedings DROPS
List of Participants


Change is an inevitable part of successful software systems. Software changes induce costs, as they force people to repeat earlier assessments. On the other hand, knowing about software changes can also bring benefits, as changes are artifacts that can be analyzed.

In the last years, researchers have begun to analyze software together with its change history. There is a huge amount of historical information that can be extracted, abstracted, and leveraged:

  • Knowing about earlier versions and their properties can lead to incremental assessments .
  • Analyzing the history of a product can tell how changes in software are related to other changes and features.
  • Relating properties to changes can help focusing on changes that cause specific properties.

In this Dagstuhl seminar, researchers that analyze software and its history have met and discussed for a full week, exchanging their ideas, and combining and integrating the techniques to build a greater whole. Clearly, understanding history can play a major role when it comes to understand software systems.

Scientific Highlights

The main concern of the seminar was the synergy of the individual approaches. Themes that emerged during the seminar included:

  • The use of bug databases to judge whether changes were beneficial or not;
  • The use of advanced visualization techniques that integrate program analysis and history; and
  • The use of version histories to conduct empirical research, as in the study of clone genealogies.

The latter point - leveraging version histories to conduct empirical research - was maybe the strongest highlight of the seminar. As a direct result of the seminar, a mining challenge was introduced at the Workshop of Mining Software Repositories.

All in all, Software engineering is full of anecdotical evidence, often relying on insufficient or proprietary data. Publicly available change and bug histories may change this, providing reproducible benchmarks for empirical research, and allowing anyone to assess hypotheses about what works in software engineering and what does not.


The analysis of programs across multiple versions has a bright future. The workshop on mining software repositories has never been more active; researchers begin to recognize the great potential of software history to understand development processes. With this Dagstuhl Seminar, we are very happy to have contributed to this momentum. We also look forward to see this research being applied in practice, as it is already the case with IBM and Microsoft.


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).

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.


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