CMPT 886: Program Analysis and Reliability
Spring 2015

Instructor:Nick Sumner
Office:TASC1 8021
Venue:Tuesday - 11:30-1:20 AQ5017
Thursday - 11:30-12:20 AQ5009
Office Hours:Tuesday - 1:30-2:30

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 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 (