CMPT 479 / CMPT 886: Automated Software Analysis & Security
Fall 2017

Instructor:Nick Sumner
Office:TASC1 9421
Venue:Tuesday - AQ 5018 - 2:30-4:20
Thursday - SEC 1010 - 2:30-3:20
Office Hours:Thursday - T9421 - 3:30-4:30
Discussion Group:on CourSys

Software development is a time consuming and error prone process. Most developers still rely on manual processes to generate tests, discover errors, or correct misbehaving programs. Program analysis provides tools and techniques that allow developers to push these burdens onto computers, making software both easier to develop and more reliable.

This is primarily a seminar course that explores both foundational and emerging research in program analysis and software engineering. Special focus will be given to offensive and defensive techniques in system security as well as automated approaches for avoiding, locating, tolerating, and remediating software failures. Students are expected to learn core techniques used in program analysis and to ultimately apply them.

Tentative Topics:


Subject to change:

Late Policy

Presentation materials and paper critiques must be complete before deadlines in order to help students digest the material and participate in class discussions. Thus, deadlines are strict.

Academic Honesty Statement

Academic honesty plays a key role in our efforts to maintain a high standard of academic excellence and integrity. Students are advised that ALL acts of intellectual dishonesty will be handled in accordance with the SFU Academic Honesty and Student Conduct Policies (