Abstract
The concurrent constraint (cc) framework [17] describes a family of concurrent programming languages that use constraints for the synchronization of processes. In this paper, we describe an approach to the declarative debugging of cc programs. We develop the concept of observable and specified behaviors of cc processes, define incorrect processes based on differences between these behaviors, and present a top-down debugging algorithm for the detection of incorrect processes in finite computations. We also investigate the meaning of behaviors in infinite computations. This allows us to define a debugging algorithm for partial computations (prefixes of infinite computations) that can search for an incorrect process as soon as a wrong behavior is observed.
Preview
Unable to display preview. Download preview PDF.
References
J. D. Brock and W. B. Ackerman. Scenarios: A model of non-determinate computation. In J. DÃaz and I. Ramos, editors, Int. Colloquium on Formalization of Programming Concepts, number 107 in Lecture Notes in Computer Science, pages 252–259. Springer-Verlag, April 1981.
W. Drabent, S. Nadjm-Tehrani, and J. Maluszynski. Algorithmic debugging with assertions. In META'88, Proc. Workshop on Meta-Programming in Logic Programming, pages 365–378, Bristol, June 1988.
Y. Feldman. Animation of Concurrent Computation. PhD thesis, The Weizmann Institute of Science, Rehovot, Israel, 1993.
Y. Feldman and E. Shapiro. Temporal debugging and its visual animation. In V. Saraswat and K. Udea, editors, Proc. of the 1991 Logic Programming Int. Symposium, pages 3–17. MIT Press, 1991.
G. Ferrand. Error diagnosis in logic programming, an adaptation of E. Y. Shapiro's method. Journal of Logic Programming, 4:177–198, 1987.
P. Van Hentenryck, V. A. Saraswat, and Y. Deville. Constraint processing in cc(FD). Technical report, Brown University, 1992.
M. Huntbach. Algorithmic Parlog debugging. In Proc. IEEE Symposium on Logic Programming, San Francisco, September 1987.
Y. Lichtenstein and E. Shapiro. Concurrent algorithmic debugging. Technical Report CS87-20, Dept. of Applied Math. and Computer Science, Weizmann Inst. Rehovot, Israel, December 1987.
Y. Lichtenstein and E. Shapiro. Abstract algorithmic debugging. In R. A. Kowalski and K. A. Bowen, editors, Proc. of the Fifth Int. Conf. and Symposium, pages 512–530. MIT Press, 1988.
J. W. Lloyd. Declarative error diagnosis. New Generation Computing, (5):133–154, 1987.
J. W. Lloyd. Foundations of Logic Programming. Springer-Verlag, Berlin, Heidelberg, second edition, 1987.
J. W. Lloyd and A. Takeuchi. A framework for debugging GHC. Technical Report TR-186, ICOT, Institute for New Generation Computer Technology, Tokyo, 1986.
L. Naish. Declarative diagnosis of missing answers. Technical Report 88/9, Univ. of Melbourne, Dept. of Computer Science, 1988.
L. Naish. Declarative debugging of lazy functional programs. Technical Report 92/6, Univ. of Melbourne, Dept. of Computer Science, 1992.
H. Nilsson and P. Fritzson. Algorithmic debugging for lazy functional languages. Technical Report 92-17, Dept. of Computer and Information Science, Linköping University, Linköping, Sweden, 1992. Also in Proc. PLILP'92, Springer-Verlag, LNCS, Leuven, Belgium, Aug. 1992.
L. M. Pereira. Rational debugging in logic programming. In Proc. 3rd Int. Conf. on Logic Programming, pages 203–210, London, 1986. Springer-Verlag, LNCS 225.
V. A. Saraswat. Concurrent Constraint Programming Languages. Logic Programming Series. MIT Press, Cambridge, MA, 1993.
V. A. Saraswat, K. M. Kahn, and J. Levy. Janus: A step towards distributed constraint programming. In Proc. of the North American Conf. on Logic Programming, Cambridge, MA, October 1990. MIT Press.
V. A. Saraswat, M. Rinard, and P. Panangaden. Semantic foundations of concurrent constraint programming. Technical Report SSL-90-86, Xerox PARC, Palo Alto, CA, October 1990.
E. Y. Shapiro. Algorithmic Program Debugging. ACM Distinguished Dissertation Series. MIT Press, Cambridge, MA, 1982.
A. Takeuchi. Algorithmic debugging of GHC programs and its implementation in GHC. In E. Shapiro, editor, Concurrent Prolog, volume 2, chapter V, pages 180–196. MIT Press, Cambridge, MA, 1987. Also in [22].
A. Takeuchi. Parallel Logic Programming, volume 2. Wiley, 1992.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1993 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Fromherz, M.P.J. (1993). Towards declarative debugging of concurrent constraint programs. In: Fritzson, P.A. (eds) Automated and Algorithmic Debugging. AADEBUG 1993. Lecture Notes in Computer Science, vol 749. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0019403
Download citation
DOI: https://doi.org/10.1007/BFb0019403
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-57417-0
Online ISBN: 978-3-540-48141-6
eBook Packages: Springer Book Archive