There’s also Static Program Analysis - DCC888 by Fernando Pereira, a class where “the goal is to introduce the student to the most recent techniques that compilers use to analyze and optimize programs. The student will learn about dataflow and constraint based program analyses. He or she will have contact with type systems, and the many variants of inductive techniques to prove properties about programs.”