Tracking Data Structures for Postmortem Analysis

Analyzing the runtime behaviors of the data structures is important because they usually relate to the obscured program performance and understanding issues. The run-time evolution history of data structures creates the possibility of building a lightweight and non-checkpointing based solution for the backward analysis for validating and mining both the temporal and stationary properties of the data structure. The authors design and implement TAEDS, a framework that focuses on gathering the data evolution history of a program at the runtime and provides a virtual machine for programmers to examine the behavior of data structures back in time. They show that their approach facilitates many programming tasks such as diagnosing memory problems and improving the design of the data structures themselves.