Issue No.06 - June (1995 vol.21)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/32.391376
A statement is considered to be monotonic with respect to a loop if its execution, during the successive iterations of a given execution of the loop, assigns a monotonically increasing or decreasing sequence of values to a variable. We present static analysis techniques to identify loop monotonic statements. The knowledge of loop monotonicity characteristics of statements which compute array subscript expressions is of significant value in a number of applications. We illustrate the use of this information in improving the efficiency of run-time array bound checking, run-time dependence testing, and on-the-fly detection of access anomalies. Given that a significant percentage of subscript expressions are monotonic, substantial savings can be expected by using these techniques.
Access anomalies (data races), array bound checking, run-time dependence checking, static analysis, induction variables.
Madalene Spezialetti, "Loop Monotonic Statements", IEEE Transactions on Software Engineering, vol.21, no. 6, pp. 497-505, June 1995, doi:10.1109/32.391376