In this thesis proposal, a speculative specialization and memoization solution is described. The objective is to save computations of calculating target memory addresses for operations on array elements in a loop. These addresses are computated using a number of instructions, though they have very regular strides. If we are able to predict the addresses correctly, critical true data dependences will be broken, and an operation on a single array element will become very fast. Specialization and memoization have been proved very effective to reuse computations. They both exploit value behavior observed at run time. We use speculation to relax strict conditions required by traditional specialization and memoization and enable more aggressive opportunities in a safe way for our objective. When an unsafe aggressive speculation fails, the program will fall back to normal execution without significant slowdown.