COMP 4384 Secure Software Engineering
Secure software engineering provides students with the background of software security, why security matters, and how they can take security into account when writing new software programs.
Course learning objectives.
By completing this course, students will be familiar with:
- Common vulnerabilities in software
- Security by design, domain driven software security, defense in depth
- Using domain models
- Creating models in domain driven design for security
- Programming practices that promote security (immutability, non-blocking processes, etc.)
- Contracts, context, validation of states and user input
- The builder pattern for state verification
- Software testing for security (unit testing, valid/invalid inputs, fuzzing)