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

Instructor:Nick Sumner
Office:TASC1 9421
Venue:Tuesday - AQ 3003 - 10:30-11:20
Thursday - WMC 3260 - 9:30-11:20
Office Hours:Thursday - T9421 - 11:30-12:30
TA:Himahansi Fernando
TA Office Hours:Wednesday - ASB9808 - 4:00-5:00
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 automated approaches for security, fault tolerance, and program synthesis. Students are expected to learn core techniques used in program analysis and to ultimately apply them in a term project of their own design.

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 (