Title :
Loop monotonic statements
Author :
Spezialetti, Madalene ; Gupta, Rajiv
Author_Institution :
Packard Lab., Lehigh Univ., Bethlehem, PA, USA
fDate :
6/1/1995 12:00:00 AM
Abstract :
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
Keywords :
parallel programming; parallelising compilers; program control structures; program diagnostics; access anomalies; array bound checking; array subscript expressions; data races; induction variables; loop monotonic statements; loop monotonicity characteristics; on-the-fly detection; run-time array bound checking; run-time dependence checking; run-time dependence testing; static analysis; static analysis techniques; successive iterations; Computer Society; Computer science; Parallel processing; Performance evaluation; Program processors; Runtime; Testing;
Journal_Title :
Software Engineering, IEEE Transactions on