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.





