A Lubricant for Data Flow Analysis

This paper deals with concepts recently introduced to avoid duplication of effort when several global data flow problems share the same underlying control flow. The flow scheme is the control flow portion of the input to data flow analysis. By finding a family of formal expressions called a flow cover for a given flow scheme, one can be ready to solve any problem with that scheme by interpreting the expressions in light of the remaining portions of the problem. Our main result relates the problem of finding a flow cover to that of finding regular expressions to describe certain sets of paths in the graph. The following is a major consequence of this relationship (slightly oversimplified). If a family of formal expressions acts like a flow cover for one special problem constructed from a given flow scheme, then it is a flow cover. The constructed problem has several algebraic properties that fail in some of the problems encountered in practice but that may be assumed anyway, at least when one wishes to con...