Skip to main content
Log in

On the use of history variables

  • Published:
Acta Informatica Aims and scope Submit manuscript

Summary

This paper is a response to a suggestion that the use of history variables in proofs of the correctness of programs is unnecessary. It is argued that the use of history or ghost variables can be of benefit in improving the clarity of some proofs; that without their use some proofs require programming techniques which are at variance with the widely-accepted tenets of structured programming and that for some proofs of correctness their use is unavoidable.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. Apt, K., Francez, N., De Roever, W.P.: A proof system for communicating sequential processes. Technical Report, Dept. of Computer Science, University of Utrecht, (1979)

  2. Clarke, E.M.: Proving correctness of coroutines without history variables. Acta Informat. 13, 169–188 (1980)

    Google Scholar 

  3. Clint, M.: Program proving: coroutines. Acta Informat. 2, 50–63 (1973)

    Google Scholar 

  4. Clint, M.: The specification and verification of a text-editing program. IEEE Trans. Software Engrg. (in press, 1981)

  5. Clint, M., Vicent, C.: The use of ghost variables and virtual programming in the documentation and verification of programs. Software — Practice and Experience (in press, 1981)

  6. Dijkstra, E.W.: A discipline of programming. Englewood Cliffs, New York: Prentice-Hall, 1977

    Google Scholar 

  7. Hoare, C.A.R.: An axiomatic approach to computer programming. Comm. ACM 12, 322–329 (1969)

    Google Scholar 

  8. Hoare, C.A.R.: Communicating sequential processes. Comm. ACM 21, 666–677 (1978)

    Google Scholar 

  9. Katz, S., Manna, Z.: A closer look at termination. Acta Informat. 5, 333–352 (1975)

    Google Scholar 

  10. Manna, Z.: Mathematical theory of computation. New York: McGraw-Hill 1974

    Google Scholar 

  11. Manna, Z.: Logic of programs. Information Processing 30, 41–51 (1980)

    Google Scholar 

  12. Wilkinson, J.H.: Rounding errors in algebraic processes. Notes on Applied Science No. 32. London: HMSO 1963

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Clint, M. On the use of history variables. Acta Informatica 16, 15–30 (1981). https://doi.org/10.1007/BF00289587

Download citation

  • Received:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF00289587

Keywords

Navigation