Software Security

The course covers security aspects of software and its production process.

You study software life cycle, architecture, common vulnerabilities and verification techniques, and learn to apply tools for developing and operating secure software.

The course introduces the following topics:

  • Software life cycle.
  • Security of software ecosystems.
  • Common software vulnerabilities.
  • Software architecture security principles.
  • Software verification and validation, for example testing, fuzzing, formal verification and static analysis.
  • Offensive security techniques.

You will learn how to develop critical assessment of the security stakes of software throughout its life cycle. You will also apply tools and techniques to design and develop, maintain and operate software with a security focus.



Teaching Format

The teaching activities consist of lectures and laboratory exercises.
The language of instruction is English.


Assessment

The course is examined through individual assignments and group project assignments.

Examiner


The schedule will be available no later than one month before the start of the course. We do not recommend print-outs as changes can occur. At the start of the course, your department will advise where you can find your schedule during the course.


Note that the course literature can be changed up to two months before the start of the course.


Course reports are displayed for the three most recent course instances.