|Course:||W7084 (Autumn Semester 2008)|
|Lecturers:|| Dr. Tudor Gîrba |
Prof. Dr. Oscar Nierstrasz
|Audience:||Master students in computer science|
|Place:||Engehaldenstrasse 8, 003|
|Start:||Sept. 18, 2008|
Software systems both are eternal, and are not eternal. On the one hand, the bits that form software systems have the same mathematical meaning regardless of time, and in that sense software systems are eternal. On the other hand, software systems reside in a larger environment: they run on a piece of hardware, they fulfil a certain need at a certain moment, they make use of other software systems. But, hardware and needs change, and software systems must evolve too if they are to remain useful.
This course presents a survey of various techniques, like reverse engineering, program visualisation, or refactoring, that have been successfully used to re-engineer and evolve industrial systems. The accompanying lab will provide hands-on experience with analyzing software systems using reverse engineering tools.
More materials and information can be found at: scglectures.unibe.ch/evo2008.
|2||25-Sep-08||Reverse Engineering (handouts)|
|3||02-Oct-08||Lab — Understanding legacy software|
|4||09-Oct-08||Presentation of Results (all groups)|
|5||16-Oct-08||Metrics and Problem Detection (handouts)|
|6||23-Oct-08||Software Visualization (handouts)|
|7||30-Oct-08||The Anatomy of Analysis Tools (handouts)|
|8||06-Nov-08||History Analysis (handouts)|
|9||13-Nov-08||Dynamic Analysis (handouts)|
|10||20-Nov-08||Software Understanding in the Large (handouts)|
|12||04-Dec-08||Testing and Migration (handouts)|
|13||11-Dec-08||Conway, Migration and Politics|