A method, apparatus, and computer instructions for marking data versioning
for code. Responsive to receiving an application programming interface
call, a first marking statement in the code and a second marking
statement are inserted in the code. A portion of code between the first
marking statement and the second marking statement forms a marked section
of code. A change made in data in an object caused by execution of the
marked portion of code is detected. The detected change is tracked in
manner such that the object may be restored to a prior state.