This work represents a continuation of a program that has been carried on for more than a decade by Dhamdhere and his students and colleagues. It should prove valuable to workers in the field and a useful reference to newcomers. For the latter, it is likely to prove difficult, as it is heavy with definitions. The presentation seems to have suffered from what appears to be a reduction of a longer paper that included proofs. The language is clear, though, and there are no important typographical errors.
Flow problems can be forward, backward, or bidirectional.
In the last case, if a program is viewed as a directed graph, dataflow information flows up and down the graph. The authors observe that bidirectional problems are made clearer by distinguishing between flows through nodes and those along edges. They define sibling and spouse effects, in which information flows respectively from nodes that have the same parents or the same child, and show how these flows arise in bidirectional problems. After introducing their theoretical framework, the authors present an algorithm for solving the general flow problem based on wordwise analysis, in which a bit vector is used to represent the solution and is processed in word-units. One method of solution of flow problems is iterative, in which an initial solution is assumed and a fixed-point solution found by repeated substitution of the current answer in the equations.