Skip to main content

Towards declarative debugging of concurrent constraint programs

  • Testing and Debugging of Concurrent and Distributed Systems
  • Conference paper
  • First Online:
Automated and Algorithmic Debugging (AADEBUG 1993)

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

Included in the following conference series:

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.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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.

    Google Scholar 

  2. 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.

    Google Scholar 

  3. Y. Feldman. Animation of Concurrent Computation. PhD thesis, The Weizmann Institute of Science, Rehovot, Israel, 1993.

    Google Scholar 

  4. 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.

    Google Scholar 

  5. G. Ferrand. Error diagnosis in logic programming, an adaptation of E. Y. Shapiro's method. Journal of Logic Programming, 4:177–198, 1987.

    Google Scholar 

  6. P. Van Hentenryck, V. A. Saraswat, and Y. Deville. Constraint processing in cc(FD). Technical report, Brown University, 1992.

    Google Scholar 

  7. M. Huntbach. Algorithmic Parlog debugging. In Proc. IEEE Symposium on Logic Programming, San Francisco, September 1987.

    Google Scholar 

  8. 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.

    Google Scholar 

  9. 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.

    Google Scholar 

  10. J. W. Lloyd. Declarative error diagnosis. New Generation Computing, (5):133–154, 1987.

    Google Scholar 

  11. J. W. Lloyd. Foundations of Logic Programming. Springer-Verlag, Berlin, Heidelberg, second edition, 1987.

    Google Scholar 

  12. J. W. Lloyd and A. Takeuchi. A framework for debugging GHC. Technical Report TR-186, ICOT, Institute for New Generation Computer Technology, Tokyo, 1986.

    Google Scholar 

  13. L. Naish. Declarative diagnosis of missing answers. Technical Report 88/9, Univ. of Melbourne, Dept. of Computer Science, 1988.

    Google Scholar 

  14. L. Naish. Declarative debugging of lazy functional programs. Technical Report 92/6, Univ. of Melbourne, Dept. of Computer Science, 1992.

    Google Scholar 

  15. 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.

    Google Scholar 

  16. 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.

    Google Scholar 

  17. V. A. Saraswat. Concurrent Constraint Programming Languages. Logic Programming Series. MIT Press, Cambridge, MA, 1993.

    Google Scholar 

  18. 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.

    Google Scholar 

  19. 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.

    Google Scholar 

  20. E. Y. Shapiro. Algorithmic Program Debugging. ACM Distinguished Dissertation Series. MIT Press, Cambridge, MA, 1982.

    Google Scholar 

  21. 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].

    Google Scholar 

  22. A. Takeuchi. Parallel Logic Programming, volume 2. Wiley, 1992.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Peter A. Fritzson

Rights and permissions

Reprints 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

Publish with us

Policies and ethics