Abstract
A practical technique is presented that supports the debugging of parallelized code through global renaming and name reclamation. Global renaming creates single assignment code for programs destined to be parallelized. After parallelization, a reclamation of names not useful for either the execution or debugging of the code is performed. During execution non-current values can then be tracked and reported to the debugger. Results of experimentation indicate the enlargement of the name space is reasonable and that virtually all non-current values are reportable. The technique is independent of the transformations chosen to parallelize the code.
Partially supported by National Science Foundation Grant CCR-91090809 to the University of Pittsburgh.
Presenting Author
Chapter PDF
References
M. Benitez and J. Davidson, ⋯Code Generation for Streaming: an Access/Execute Mechanism”, 4th ASPLOS Conference, Santa Cruz, April 1991, pp. 132–141.
L. Bic, M. Nagel, and J. Roy, “Automatic Data/Program Partitioning Using the Single Assignment Principle”, Supercomputing 89, pp. 551–556, Aug 1989.
D. Coutant, S. Meloy and M. Ruscetta, “DOC: A Practical Approach to Source-Level Debugging of Globally Optimized Code”, SIGPLAN '88 Conf on Prog Lang Design and Impl, Atlanta, GA, June 1988, pp. 125–134.
R. Cytron and J. Ferrante, “What's in a Name?-or-The Value of Renaming for Parallelism Detection and Storage Allocation”, Proceedings of ACM Conference on Parallel Programming. pp 19–27. 1987.
R. Cytron, J. Ferrante, B. Rosen, M. Wegman and K. Zadeck, “Efficiently Computing Static Single Assignment Form and the Control Dependence Graph”, ACM Trans on Programming Lang and Systems, October 1991, pp. 451–490.
R. Gupta, “Debugging Code Reorganized by a Trace Scheduling Compiler,” Proceedings of Supercomputing 88 Conference, 1988.
J. Hennessy, “Symbolic Debugging of Optimized Code”, ACM Transactions on Programming Languages and Systems, Vol. 4 No. 3, July 1982. pp. 323–344.
D. Knuth, “An Empirical Study of FORTRAN Programs”, Software Practice and Experience 1:2, 1971, pp. 105–133.
Polychronopoulos, Girkar, Haghighat, Leung, Schouten, “Parafrase-2 User's Newsletter”, Center for Supercomputing R&D, University of Illinois, Urbana Illinois. Fall 1990.
P.P. Pineo, “The High-level Debugging of Parallelized Code using Code Liberation”, Ph.D. Thesis, Department of Computer Science, University of Pittsburgh, April 1993.
P.P. Pineo and M. L. Soffa, “Debugging Parallelized Code using Code Liberation Techniques”, Proceedings of the ACM/ONR Workshop on Parallel and Distributed Debugging, May 20–21, 1991, pp. 102–114.
L. Pollock and M. L. Soffa, “High-Level Debugging with the Aid of an Incremental Optimizer”, Proceedings of the 21st Hawaii Intl Conference on System Sciences, January 1988.
M. Wolfe, Optimizing Supercompilers for Supercomputers, MIT Press, 1989.
M. Wolfe, “Beyond Induction Variables”, SIGPLAN '92 conf on Prog Lang Design and Impl, San Francisco, CA, pp. 162–174.
P. Zellweger, “An Interactive High-Level Debugger for Control-Flow Optimized Programs”, Proceedings of the ACM Sigsoft/Sigplan Soft. Eng. Symp on High-Level Debugging, March 1983, pp 159–171.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1994 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Pineo, P., Soffa, M.L. (1994). A practical approach to the symbolic debugging of parallelized code. In: Fritzson, P.A. (eds) Compiler Construction. CC 1994. Lecture Notes in Computer Science, vol 786. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57877-3_23
Download citation
DOI: https://doi.org/10.1007/3-540-57877-3_23
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-57877-2
Online ISBN: 978-3-540-48371-7
eBook Packages: Springer Book Archive