Software Evolution

Target audience: Master students interested in Software Engineering. Students intending to work on their graduation project at the Software Engineering & Technology group are especially encouraged to participate.
Background information on the course:
Nowadays change is often considered as the only constant factor in software development. Successful software systems are, therefore, those systems that can adapt to the ever changing requirements of the environment. One can, thus, compare this process of adaptation to the Darwin's "Survival of the fittest" principle. The problem is, however, that not much is known about evolution of software systems. This course will explore issues related to software evolution: why it is difficult, how we can cope with this difficulty and what can we learn from the past. Specifically, the course will look at advanced tools and techniques proposed by the research community to understand, ease and automate software evolution. In this course, you will have a chance not only to learn about methods and tools of software evolution, but also to apply them to assess software evolution of an existing software system.
Learning objectives:
After completing this course, you will be expected to be able to
  • list important challenges associated with software evolution;
  • discuss methods and tools addressing these challenges, their advantages and disadvantages;
  • apply the methods and tools to existing software systems;
  • interpret the results obtained in a scientifically responsible way.

Date
Topic (Click to Download Slides)
1
2
3
 PowerPoint format
4
5
6
7
Guest lecture by Stijn Hoop: Revision control systems
8
9
10
11
12
13
14
15
16
17

No comments: