Search based optimization techniques have been applied to a number of software engineering activities, right across the life-cycle from requirements engineering, project planning and cost estimation through testing, to automated maintenance, service-oriented software engineering, compiler optimization and quality assessment.
In this course we will study current literature where meta-heuristic search algorithms have been used to solve problems in software engineering. The first part of the course will consist of structured lectures on applying meta-heuristic search algorithms in software engineering (SE): how to reformulate a SE problem as a search problem? The second part of the course will involve reading current literature on related topics. In addition, students will be responsible for some leading presentations and a small project around the use of metaheuristic search for a concrete software engineering problem such as model driven engineering. Some topics that may be included are (exact topics may vary):
Methodological approach:
The grading for the class will be as follows:
Research assignments: Each student/group (maximum of 2 students) should evaluate one SBSE research paper. This evaluation must give some answers to the questions proposed in the evaluation form provided by the instructor.
Oral presentation: Each student/group (maximum of 2 students) is expected to choose and present one research paper from the SBSE area. The oral presentation gives a summary about the paper.
Project: Each group should be composed by two or three students. A list of projects is proposed by the instructor. In addition, it is possible to propose your own project. The only condition is that the project should be in the SBSE area.
Discussions and participation: The participation grade will be based on the provision of input to discussions in class. Students are expected to generate questions and comments on a regular basis. Good attendance is necessary (but not sufficient) to obtain a high participation grade.