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.
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.
- Thomas Ball (Microsoft Research - Redmond, US) [dblp]
- Silvia Breu (Universität des Saarlandes, DE)
- Stephan Diehl (KU Eichstätt/Ingolstadt, DE) [dblp]
- Daniel M. German (University of Victoria, CA) [dblp]
- Tudor Girba (Universität Bern, CH) [dblp]
- Carsten Görg (Universität des Saarlandes, DE) [dblp]
- Ahmed E. Hassan (University of Waterloo, CA) [dblp]
- Michael Hicks (University of Maryland - College Park, US) [dblp]
- Miryung Kim (University of Washington - Seattle, US) [dblp]
- Sunghun Kim (University of California - Santa Cruz, US) [dblp]
- Stephen G. Kobourov (University of Arizona - Tucson, US) [dblp]
- Jens Krinke (FernUniversität in Hagen, DE) [dblp]
- Shriram Krishnamurthi (Brown University - Providence, US) [dblp]
- Ben Liblit (University of Wisconsin - Madison, US) [dblp]
- Ben Livshits (Stanford University, US) [dblp]
- Welf Löwe (Linnaeus University - Växjö, SE) [dblp]
- Mircea Filip Lungu (University of Lugano, CH) [dblp]
- Audris Mockus (Avaya - Basking Ridge, US) [dblp]
- David Notkin (University of Washington - Seattle, US)
- Martin Pinzger (Universität Zürich, CH) [dblp]
- Adam Porter (Fraunhofer USA - College Park, US)
- Jelber Sayyad Shirabad (University of Ottawa, CA)
- Max Störzer (Universität Passau, DE)
- Filip van Rysselberghe (University of Antwerp, BE)
- Annie Ying (IBM TJ Watson Research Center - Hawthorne, US)
- Andreas Zeller (Universität des Saarlandes, DE) [dblp]
- Thomas Zimmermann (Universität des Saarlandes, DE) [dblp]