Practical Course on Software Evolution: Origin Analysis (SS2011)

Practical Course

Course Organization

Time, Place, ECTS, etc.:

  • Introductory session: Monday, 18.04.2011, 10:15, Room 2.101
  • Further meetings: On demand, roughly every 2-3 weeks
  • Language: English
  • Registration: per e-Mail to Philip Makedonski
  • ECTS: 6 (not graded)
  • Additional information: UniVZ


06.04.2011 The introductory session will take place on Monday, 18.04.2011, at 10:15, in room 2.101.

Course Description

Changes in the usage requirements and the technological landscape, among others, drive a continuous necessity for changes in software systems in order to sustain their existence and operability in changing environments. Origin analysis aims to determine the location of points of interest through time. For example, origin analysis aids on the one hand projecting the location of past changes into the current state of the code base, and on the other hand determining previous locations and origins of detected issues. In this course, we will build and extend existing infrastructure for performing origin analysis and use it to perform studies on large software systems, such as Google Chrome, Mozilla Firefox, Amarok, and others.


  • Java, Python may come in handy as well
  • Version Control Systems (Git, Subversion)
  • Databases (SQL)
  • Optional: GUI (SWT) and 2D (Processing) may come in handy as well


A good starting point on the topic of software evolution is the Software Evolution book by Tom Mens and Serge Demeyer (Springer, 2008, ISBN 978-3-540-76439-7). A few copies are available from the students' library at the institute. There is also a number of references to further resources in the book. Resources specific to origin analysis will be added shortly.

Main menu 2

2011 © Software Engineering For Distributed Systems Group