1. A device comprising: a processor; a simulation controller that simulates a distributed system having a first instance and a second instance, the simulation controller being configured to receive as inputs, a first trace log and a second trace log that correspond respectively to the first instance and the second instance, the first trace log and the second trace log each including nondeterministic events derived from an operation of the distributed system; a first simulation object corresponding to the first instance and a first memory area that is associated with the first simulation object; and a second simulation object corresponding to the second instance and a second memory area that is associated with the second simulation object; wherein the simulation controller is further configured to direct a single simulation process of the nondeterministic events by switching from the first memory area to the second memory area and use function calls to communicate information between the first simulation object and the second simulation object.