5 questions to test your understanding
A dataflow analysis iterates transfer functions over a control flow graph. What two mathematical properties guarantee that this iteration terminates at a fixpoint?
A naive fixpoint algorithm and a worklist algorithm are both applied to the same reaching definitions problem. Which statement best characterizes the relationship between their results?
Starting fixpoint iteration from the most conservative initial approximation (e.g., 'nothing is known') guarantees that the resulting fixpoint is a sound solution to the dataflow problem.
Reaching a fixpoint in dataflow analysis means the analysis has found the exact, precise truth about the program's runtime behavior.
Why must transfer functions be monotonic for fixpoint iteration to be guaranteed to terminate? What could go wrong if a transfer function violated monotonicity?