Search course

Use the search function to find more information about the study programmes and courses available at Chalmers. When there is a course homepage, a house symbol is shown that leads to this page.

Graduate courses

Departments' graduate courses for PhD-students.


Syllabus for

Academic year
DAT265 - Software evolution project
Software evolution project
Syllabus adopted 2020-02-20 by Head of Programme (or corresponding)
Owner: MPSOF
15,0 Credits
Grading: TH - Pass with distinction (5), Pass with credit (4), Pass (3), Fail
Education cycle: Second-cycle
Major subject: Computer Science and Engineering, Software Engineering

Teaching language: English
Application code: 24119
Open for exchange students: No
Maximum participants: 65

Module   Credit distribution   Examination dates
Sp1 Sp2 Sp3 Sp4 Summer course No Sp
0111 Project 15,0 c Grading: TH   7,5 c 7,5 c    

In programs



Regina Hebig

  Go to Course Homepage


General entry requirements for Master's level (second cycle)
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Specific entry requirements

English 6 (or by other approved means with the equivalent proficiency level)
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Course specific prerequisites

To be eligible for the course the student needs to have successfully completed the following courses, or equivalent:
  • a 7.5 hec course in programing (e.g., TDA584 Introductory software development, 7.5 hec),
  • a software project course
    DAT321 Software Quality, 7.5 hec,
and at least one of the following courses, or equivalent:
  • DAT231 Requirements Engineering, 7.5 hec,
  • DAT220 Advanced software architecture, 7.5 hec,
  • DAT240 Model driven engineering, 7.5 hec,
  • DAT262 Model based testing 7.5 hec.
Applicants must prove knowledge of English: English 6/English B or the equivalent level of an internationally recognized test, for example TOEFL, IELTS.


The aim of this course is for students to synthesize and apply the knowledge achieved from previous compulsory courses in the program, and learn about and deal with the activities occurring after the initial product release in software development.

Learning outcomes (after completion of the course the student should be able to)

Knowledge and understanding

  • explain the notion of software evolution scenarios as defined by the Architecture Driven Modernization (ADM) task force of the Object Management Group (OMG),
  • summarize state of the art in methods and tools for software evolution tasks, such as program comprehension and software refactoring,
  • discuss the challenges associated with software evolution,
  • explain current research trends in program comprehension, clone detection, and refactoring
Skills and abilities
  • extract a software product's architecture from a given code base and evaluate the quality of the software product,
  • implement one software evolution scenario as defined by the OMG, such as platform or language migration,
  • implement changes to a software product that lead to an improvement of the product's quality (quality improvement task),
  •  make use of synergies between different improvements goals for the same product,
Judgement and approach
  • detect and judge needs for quality improvement or evolution in an authentic software product,
  • plan the use of appropriate methods and techniques for performing a software evolution scenario and a quality improvement task,
  • judge needs for improvement of methods and tools to support software evolution
  • plan and evaluate ideas for new or improved tools


The purpose of this course is to familiarise the student with situations, activities, and techniques typical for software evolution, such as adding a new feature, refactoring, automating variability or testing, improving performance, re-balancing non-functional requirements, and so on. Furthermore, students learn to plan, implement, and reflect on software evolution scenarios and improvements.


The course contains project- and problem based teaching. The course consist of a series of group and individual milestones, and supervision meetings during the semester. Groups and teachers agree on a software evolution scenario to be performed as a project during the course. In addition, lectures and workshops are used to provide the student with methods and knowledge about software evolution.


The literature depends on the specific improvement area taken on by the student.

Examination including compulsory elements

The course consists of one module which consists of four components.
The course is examined by the following four mandatory components:
  • weekly group milestones that are submitted during the course,
  • a written group report to be submitted at the end of the course,
  • a documentation of the individual contribution to the final outcome of the group work,
  • an individual written final report.
The group work is carried out in groups of normally 6-8 students. The student collects points for all four components. Furthermore, individual optional milestones can be used to collect bonus points during the course.
The grading scale comprises Fail, (U), 3, 4 and 5. In order to be awarded the grade 3 for the full course, the student needs to pass the four mandatory components: group milestones, group report, individual contribution and individual report. Furthermore, the student needs to collect 50% of the maximum points. In order to be awarded the grade 4 for the full course, the student needs to collect 70% of the maximum points. In order to be awarded the grade 5 for the full course, the student needs to collect 90% of the maximum points.

Page manager Published: Thu 04 Feb 2021.