There is a constant and insidious loss of design intent throughout the software lifecycle. Developers make design decisions but fail to record these decisions or their rationale. As a consequence, quality and maintainability of software suffer, since additional effort must be expended to recover and verify lost design intent prior to implementing even minor changes in the code. This is particularly challenging for concurrent code. Our vision is to capture ...