Share on Facebook Tweet on Twitter Share on LinkedIn Share by email
Tangible Program Histories

Todd A. Proebsting and Benjamin G. Zorn

Abstract

We propose a new language feature, a program history, that significantly reduces bookkeeping code in imperative programs. A history represents previous program state that is not explicitly recorded by the programmer. By reducing bookkeeping, programs are more convenient to write and less error-prone. Example program histories include a list that represents all the values previously assigned to a given variable, an accumulator that represents the sum of values assigned to a given variable, and a counter that represents the number of times a given loop has iterated. Many program histories can be implemented with low overhead.

Details

Publication typeTechReport
NumberMSR-TR-2000-54
Pages8
InstitutionMicrosoft Research
> Publications > Tangible Program Histories