1. A computer-implemented method for transforming a program to facilitate points-to analysis, the method comprising: accessing at least a portion of program code; identifying at least one method m for extraction that contains one or more dynamic property writes x[v]=y in the program code, where the method m identified for extraction satisfies two conditions: a dynamic property write occurs in m occurs and is in a loop l with at least one loop variable i in a set of loop variables p i of the method m; and v is data dependent on i; in response to these two conditions being satisfied, extracting a body of the loop l from the method m, and creating a new method m p with the body of the loop l and with the variable i as a parameter of the new method m p ; and substituting the body of the loop lin the program code with a call to the new method m p to produce a transformed program code.