Practical Course on Software Evolution: Mining Software Repositories (SS2012)

Practical Course

Course Organization

Time, Place, ECTS, etc.:

  • Introductory session: Monday, 23.04.2012, 10:15, Room 2.101
  • Further meetings: Every 2 weeks, time and place will be discussed during the introductory session
  • Language: English
  • ECTS Points: 6 (not graded)
  • Participation restrictions: Max. 12 participants (up to 4 teams of 2-3 participants)
  • Registration: per e-Mail to Philip Makedonski, deadline 20.04.2012
  • Additional information: UniVZ

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. Software changes, as well as discussions and defect reports that lead to software changes are usually stored in software repositories - version control systems, bug databases, mailing lists, forums, etc., all of which describe the evolution of a software product from various perspectives. By mining these repositories and analyzing the mined data, various studies can be performed to better understand software development processes. Topics in this field include the analysis of developer effort and social network interactions, change impact analysis, hotspot analysis, and defect likelihood analysis to name a few.

Course Goals

Participants in this course should expect to get familiar with:

  • The field of software evolution
  • Topics and challenges in software evolution
  • Methods in software evolution and repository mining
  • The usage, adaptation, and extension of tools for repository mining, as well as the implementation of new prototypical tools
  • Data evaluation and visualization


  • Java, Python may come in handy as well
  • Version Control Systems (Git, Subversion)
  • Databases and data persistence (SQL, XML)
  • 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. Literature resources specific to the task areas in the course will be assigned during the introductory session. Further resources will be added shortly.

Main menu 2

2011 © Software Engineering For Distributed Systems Group