An expression *A op B* is *very busy* at a point *p* if along *every * path from *p * there is an
expression *A op B* before a redefinition of either *A * or *B*.

If an expression is very busy at program point *p*, it makes sense to compute it
there. This is often termed *code hoisting* and it saves *space* although it doesn't necessarily
save *time*.

But it is interesting as a fourth type of data flow analysis problem: backwards flow and intersection confluence.

Equations for Very Busy Expressions

Send questions and comments to: Karen Lemone