Skip to main content

Recovery of noncurrent variables in source-level debugging of optimized code

  • Session 1 Software Technology
  • Conference paper
  • First Online:
  • 126 Accesses

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 241))

Abstract

Source-level debugging and code optimization are important tools of programming. A debugger has to supply precise information about the values of the variables at any run time error or breakpoint. Code optimization, on the other hand, removes dead stores and reorders code to save time and space, causing intermediate events to happen out of sequence. A thorough implementation of either limits the usefulness of the other. Hennessy, in his paper “Symbolic Debugging of Optimized Code” [2], suggested various techniques to handle this. However, he explicitly chose not to take advantage of the fact that many operations are reversible and many partial results will be avaiable in registers and temporaries. This paper considers these questions in order to extend Hennessy's techniques for recovery of noncurrent variables. The algorithms developed can detect most of the recoverable variables, and run in linear time. We also consider methods to limit our search to only a part of the dag.

This research was done at the Computer Science Department of the Pennsylvania State University.

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. A.V. Aho and J. D. Ullman, Principles of Compiler Design, Addison-Wesely, Menlo Park, California, 1977.

    Google Scholar 

  2. J. Hennessy, Symbolic Debugging of Optimized Code, ACM Transactions on Programming Languages and Systems 4,3 (July 1982),323–344.

    Google Scholar 

  3. David Wall, Amitabh Srivastava and Fred Templin, A Note on Hennessy's 'symbolic Debugging of Optimized Code,’ Tech Corr, ACM Transactions on Programming Languages and Systems, 7,1 (January 1985), 176–181.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Kesav V. Nori

Rights and permissions

Reprints and permissions

Copyright information

© 1986 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Srivastava, A. (1986). Recovery of noncurrent variables in source-level debugging of optimized code. In: Nori, K.V. (eds) Foundations of Software Technology and Theoretical Computer Science. FSTTCS 1986. Lecture Notes in Computer Science, vol 241. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-17179-7_3

Download citation

  • DOI: https://doi.org/10.1007/3-540-17179-7_3

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-17179-9

  • Online ISBN: 978-3-540-47239-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics