This book lays the mathematical foundation for a topic of high priority to the rapid success of parallel computation; that is, automatic code parallelization. The intent is to establish an effective way by which a sequential program can be restructured to allow for a different execution order where some parts could be executed in parallel. With its three parts, the book is self-contained. Part I provides the mathematical background, part II develops the concept of “Data Dependence”, defines the data dependence problem, and provides a complete algorithm for solving it, and part III introduces the theory of loop transformations and describes two of its techniques. The book is written around the FORTRAN “DO” loop. In all parts, the presentation is clear, short, and right-to-the-point. This should work fine with upper level and graduate students. Examples are everywhere, and they receive in-detail treatment which prove to be very helpful. For most parts, the exercises problems keep a low level of depth, and serve as a pool of practice problems to enforce the ideas discussed in the text.
F.Chedid