1. A computer-implemented method of processing a computer program in a distributed server environment comprising: generating a computer program and configuration information associated with one or more data sets for processing by the computer program, wherein the configuration information includes: a specification of artifacts of the computer program, and a definition of a distributed server environment to execute the computer program comprising credentials to access the distributed server environment and storage location information defined within the configuration information, wherein the storage location information includes storage locations for one or more input data sets and at least one storage location at which results produced by the computer program are stored; submitting the computer program and the configuration information to a distributed server system to execute the computer program in the distributed server environment in accordance with the configuration information; receiving a program status from the distributed server system comprising information about a state of execution of the computer program and the results produced by the computer program within the distributed server environment; and identifying errors of the computer program by comparing results produced by one or more program runs within the distributed server environment.