Describes a nice technique for tracking enough information at each call site to reconstruct the stack at said call site with high probability after the fact. They implemented the technique in the Jikes RVM and got reasonably good reconstruction with overheads in the range of 10-20%. They augmented a race detector and null pointer origin tracker, and I can imagine various other clients for which it would be great to report a full call stack rather than just a single program point.