Schedule

This schedule is tentative and subject to change.

Acronyms for course references:

A copy of the Dragon Book is essential for the course. The Cooper and Turczon book is available online through the library. The library also carries a print copy of Rival and Yi.

NOTE: These slides are not meant to substitute for lectures.

Date Topic
Wed Jan 11, 2023

Introduction

Mon Jan 16, 2023

Holiday (Martin Luther King, Jr. Day)

Wed Jan 18, 2023

Intermediate Representations

Mon Jan 23, 2023

Value Numbering

Wed Jan 25, 2023

Live Variables

Mon Jan 30, 2023

Available Expressions, Reaching Definitions, Very Busy Expressions

Wed Feb 01, 2023

Dominators and SSA Form

Mon Feb 06, 2023

Dominators and SSA Form - II

Wed Feb 08, 2023

Foundations of Data Flow Analysis - I

Mon Feb 13, 2023

Foundations of Data Flow Analysis - II

Wed Feb 15, 2023

Dead Code Elimination

Mon Feb 20, 2023

Partial Redundancy Elimination

Wed Feb 22, 2023

Interprocedural Analysis - I

Mon Feb 27, 2023

Interprocedural Analysis - II

Wed Mar 01, 2023

Mid-term Exam

Mon Mar 06, 2023

Spring Break (no lectures)

Wed Mar 08, 2023

Spring Break (no lectures)

Mon Mar 13, 2023

Wed Mar 15, 2023

Instruction Selection/Instruction Scheduling/Register Allocation

Mon Mar 20, 2023

Type Inference

Wed Mar 22, 2023

Type Inference - II

Mon Mar 27, 2023

Program Analysis/Abstract Interpretation

Wed Mar 29, 2023

Abstract Interpretation - II

Mon Apr 03, 2023

Abstract Interpretation - III

Wed Apr 05, 2023

Mon Apr 10, 2023

An Introduction to SAT/SMT Solvers

Wed Apr 12, 2023

Model Checking

Mon Apr 17, 2023

Symbolic Execution

Wed Apr 19, 2023

Proving Programs Correct

Mon Apr 24, 2023

Introduction to Hoare Logic

Wed Apr 26, 2023

Conclusion

Wed May 3, 2023, 9:30AM to 12:30PM 12:30PM to 3:30PM, Gavett 301

Final Exam