Patent ID: 7676508

Claim:
In a computing environment, a method for testing the interoperability of programs by recording input/output (I/O) request data of a user-mode program and later recreating the user-mode program's input/output data allowing testing of a variety of components using the same input/outputs for each test relating to the user-mode program, regardless of the presence or absence of the user-mode program at the time the variety of components are tested, the method comprising: in a record context, wherein an instance of the user-mode program of a computing system is being executed, obtaining I/O requests of the user-mode program directed to at least one storage volume associated with the computing system; sending the I/O requests of the user-mode program to at least one kernel-mode filter driver of the computing system, wherein the at least one kernel-mode filter driver records data into a log file, the recorded data corresponding to the I/O requests of the user-mode program directed to the at least one storage volume; and in a replay context that is within the computing system and is a modified test setting having the at least one kernel-mode filter driver modified from its state when the I/O requests were obtained in the record context and in which the instance of the user-mode program is no longer being executed, constructing the I/O requests based on the data in the log file, including for at least one I/O request, and constructing the I/O request with information relevant in the replay context, wherein constructing the I/O request with information relevant in the replay context comprises modifying the recorded I/O request to reflect the replay context having the modified test setting rather than the record context present in the recorded data in the log file.