This document outlines a lecture on data-flow analysis presented by Jeff Smits at TU Delft, which covers the concepts of control-flow and data-flow in programming. It introduces key constructs, such as control-flow graphs and various analysis techniques to optimize and manage code execution. Additionally, it discusses the declarative data-flow analysis specification language, Flowspec, and includes examples of code constructs alongside their analysis implications.