A SYSTEMATIC AUTOMATED PROCESS FOR REPRODUCING SOFTWARE EXECUTION
Original Publication Date: 2001-Jun-04
Included in the Prior Art Database: 2001-Jun-04
A common practice in software support is to reproduce the experience of the end-user at the support site. Usually this is for the purpose of debugging the software, although the collection of regression tests can be a motivating factor. The usual procedure for reproducing a software execution might consist of having the user gather the appropriate inputs to and environment of the software and then having the support engineer modify those inputs and environment, or a create reasonable facsimile thereof, at the support site. This procedure can be difficult even for a single piece of software and the complexity increases when that software is embedded in a system of software, or, perhaps, even unknown to the end-user. When the system is complicated, or the user is unfamiliar with its workings, there is generally a cycle of communication between the support engineer and the end-user in which more and more information is requested and delivered as the support engineer discovers he or she is missing a necessary piece. Moreover, there is no guarantee that a modified environment and/or inputs at the support-site will faithfully reproduce the end-users execution. We present a method for automating the collection of all of the information needed to reproduce software executions for a particular class of applications by instrumenting the software itself. This method also eliminates the cycle of communication, automates the regeneration of the execution at the support site, and provides a guarantee of faithful reproduction.