CS 493 Secure Software Designs

Study of the approaches, mechanisms, and tools used to make software systems more secure.  We will motivate the study by discussing common software security threats.  The majority of the course will be divided into four main modules: architectural approaches to building secure software (e.g., confinement, virtual machines, trusted computing); software analysis (e.g., static analysis and testing, model checking); language-based approaches to building secure software (e.g., type systems, proof-carrying code); and run-time enforcement of security policies (e.g., dynamic taint analysis).



Cross Listed Courses

Cross listed as CYS 493. No credit given to students with credit for CYS 493.


C- or better in CS 253 and either CS 254 or CET 229

General Education


  • Fall