@article {18423, title = {Reversible execution}, journal = {Commun. ACM}, volume = {16}, year = {1973}, month = {1973/09//}, pages = {566{\textendash} - 566{\textendash}}, abstract = {The ability to backtrack, or retrace, the execution of a computer program has gained wider acceptance recently as a desired feature within a programming language. This is particularly useful in two different applications: (1) In debugging systems where the trace output is saved and can be interrogated under programmer control [1, 3]; (2) In artificial intelligence applications where one is trying to prove a certain result. It is frequently necessary to backup the proof and try some alternative path [2].}, keywords = {backtracking, Debugging, PL/I, reversible execution}, isbn = {0001-0782}, doi = {10.1145/362342.362360}, url = {http://doi.acm.org/10.1145/362342.362360}, author = {Zelkowitz, Marvin V} }