1. A machine for investigating an error source in a software program, the machine comprising: a microprocessor coupled to a memory, wherein the microprocessor is programmed to determine whether a failure of an error-prone program step occurs reproducibly by providing the software program with the error-prone program step; executing program steps preceding the error-prone program step; executing the error-prone program step a number of times; and calculating a failure probability for the error-prone program step.