Abstract
This paper considers the problems of debugging large programs written in a pure functional style by experienced functional programmers. Several levels of debugging support are defined: specification, algorithmic, semantic, architectural and machine. We focus on the provision of tools for supporting algorithmic and semantic debugging. A significant feature of our work is that tools to support our approach may themselves be written in a pure functional language, and hence will be portable and easily modifiable.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Fischer, R., “Functional Programming and FPCA ‘89,” Dr. Dobb’s Journal, pp. 97–102, (December 1989).
Hammond, K., “Exception Handling in a Parallel Functional Language: PSML,” Proc. IEEE TENCON 89, Bombay, India, pp. 169–173, (1989).
Hammond, K., Parallel SML: A functional language and its implementation in Dactl, Pitman Press, London, 1990.
Hammond, K., “The use of Assertions for Algorithmic Debugging in Haskell,” University of Glasgow, in preparation, 1990.
Hall, C.V., Hammond, K. and O’Donnell, J.T., “Debugging Functional Languages in the Presence of Separate Compilation,” University of Glasgow, in preparation, 1990.
Hall, C.V. and O’Donnell, J.T., “Debugging in a side effect free programming environment,” 1985 ACM SIGPLAN Symposium on Programming Languages and Programming Environments, June 1985, pp. 60–68, (1985).
Dimitri Mihalas, Hubble; RISKS digest #10.14, June 29th, 1990, moderated by Von Neumann, P.G., (1990).
Milner, R., Tofte, M. and Harper, R., The Definition of Standard ML, MIT Press, Cambridge, Mass., (1990).
O’Donnell, J. T., “Dialogues: a basis for constructing programming environments,” 1985 ACM SIGPLAN Symposium on Programming Languages and Programming Environments, June 1985, pp. 19–27, (1985).
O’Donnell, J. T. and Hall, C. V., “Debugging in applicative languages,” Lisp and Symbolic Computation, Vol. 1, No. 2, pp. 113–145, (1989).
Ramamoorthy, C.V. and-Ho, S.F., “Testing Large Software with Automated Software Evaluation Methods,” in Current Trends in Programming Methodology, Vol II, Yeh, R.T. (ed.), Prentice-Hall, Englewood Cliffs, N.J., pp. 112–150, (1977).
Sannella, D. and Tarlecki, A. “Program Specification and Development in Extended ML,” Proc. 1985 ACM Symposium on Principles of Programming Languages, pp. 67–77, (1985).
Shapiro, E.Y., Algorithmic Program Debugging, ACM Distinguished Doctoral Dissertation Series, MIT Press, (1982).
Tolmach, A.P. and Appel, A.W. “Debugging Standard ML without Reverse Engineering,” Proc. ACM conf. on Lisp and FP 90, Nice, France, June 1990, pp. 1–12, (1990).
Wadler, P.L., “Comprehending Monads,” Proc. ACM Symposium on Lisp and Functional Programming, pp. 61–78, (1990).
Editor information
Rights and permissions
Copyright information
© 1991 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Hall, C., Hammond, K., O’Donnell, J. (1991). An Algorithmic and Semantic Approach to Debugging. In: Jones, S.L.P., Hutton, G., Holst, C.K. (eds) Functional Programming, Glasgow 1990. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3810-5_4
Download citation
DOI: https://doi.org/10.1007/978-1-4471-3810-5_4
Publisher Name: Springer, London
Print ISBN: 978-3-540-19667-9
Online ISBN: 978-1-4471-3810-5
eBook Packages: Springer Book Archive