CSCE 221 Culture Assignment 2

From Notes
Jump to navigation Jump to search

« previous | Friday, April 15, 2011 | next »

Haibo Chen: Parallel Processing Institute, Fudan University, China


Topic: ORDER: Object entRic DEterministic Replay for Java

Deterministic Replay

Keep logs of program execution. Logging stops at system crash, so playing back logs can help identify where bugs are in program.


Java Observations:

  • Runtime moves objects within garbage collection engine to maintain free space (happens frequently)
  • This changes the address of certain objects

ORDER record and replay at object-level

  • Store identifier, current accessing thread, and an access counter on each object

Debugging multi-threaded programs Sample bug: One thread accesses a method on an object while another thread is updating that method.

ORDER keeps track of which threads access which methods for more detailed replay logs.

ORDER does not keep enough information?

Goal is to be able to reconstruct the machine EXACTLY as it was before the program crashed.

Optimization? Reduce the amount of information in the logs...

The goal is to speed up the rate at which the computer is played back