This repository contains most of the material that was used by me in teaching this course at the University of Adelaide, Australia in Semester 2, 2017, Semester 2, 2018, and Semester 1, 2019.
Many activities in software engineering involve an element of search. Some examples include selection of requirements, localisation and correction of defects, and the optimisation of test coverage. The fast-growing field of Search-Based Software Engineering (SBSE) applies computing resources to these search problems to improve the efficiency and quality of software engineering processes. This course aims to introduce students to a wide range of SBSE terminology, techniques, and processes. The concepts taught in the lectures is practised and reinforced by participation in three projects, and seminars with written essays on a recent SBSE-related conference article.
The lectures cover the following topics:
- Introduction to SBSE
- Fitness Landscapes, Local Search Algorithms - Advanced Algorithms
- Multi-Objective Optimisation
- Software Testing
- Bug Location and Fixing
- Non-Functional Properties
- Software Design, Refactoring
- Project Management
To access the content, simply clone this repository, or have a look at this Preview.
There are three group assignments (each worth 10%), and two rounds of spotlight lights + essays (each round worth 35%). In each round, the students briefly present a recent conference article, and they summarise and criticise it in a report.
You can reuse material without asking me for permission. I only ask you to include a URL to this repository whenever you reuse material from here. If you like the material, then give me a "star" in Github and a "+1" in Reddit :)
If you have any questions or comments, please do not hesitate to contact me: Email, Website, Google Scholar. However, I will not give away the answers to the assignments ;)
Hope this helps. Enjoy!