1. A method for maintaining data on a plurality of source code files, comprising: (a) generating a data store, for each source code file and for each program statement in the source code file, by: (i) generating information on the program statement; and (ii) generating information on each program artifact referenced as an input parameter in the program statement; (ii) generating information on each program artifact referenced as an output parameter in the program statement; and (b) using the data store to determine program artifacts throughout all of the source code files capable of being affected by any one program statement in any of the source code files.