Skip to main content

Declarative debugging of abstract data types in Gödel

  • Debugging Logic Programs II
  • Conference paper
  • First Online:

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

Abstract

Modern software engineering uses abstract data types to allow modular programming. When debugging, abstract data types cause problems because the user does not understand the implementation of the type. This is particularly true in declarative debugging where users must determine the validity of an atom. As the user of the type does not know how the type is implemented the user is unable to determine its validity when presented with the implementation. Frequently, the user visualises a structure which the type represents. This view can be used when displaying terms of this type during debugging. We introduce the concept of a representer, which, establishes an equivalence between a term and this view. During debugging, the representers are used to translate terms to and from their view. When inputting abstract data types, the representer will produce the hidden term from the visible term the user gave. When outputting abstract data types, the representer will produce a visible term from the hidden term. We also extend the idea of representers to be able to handle large data efficiently.

Supported by SERC grant number 91309576.

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. E. Av-Ron. Top-down diagnosis of Prolog programs. Masters Thesis, Weizmann Institute of Science, 1984.

    Google Scholar 

  2. P. Hill and J. W. Lloyd. The Gödel programming language. Technical Report CSTR-92-27, University of Bristol, October 1992 (Revised May 1993).

    Google Scholar 

  3. Yossi Lichtenstein and Ehud Shapiro. Abstract algorithmic debugging. In Robert A. Kowalski and Kenneth A. Bowen, editors, Proceedings of the Fifth International Conference and Symposium on Logic Programming, pages 512–531, Seattle, 1988. ALP, IEEE, The MIT Press.

    Google Scholar 

  4. J.W. Lloyd. Foundations of Logic Programming. Springer-Verlag, 1987.

    Google Scholar 

  5. Lee Naish. Declarative debugging of lazy functional programs. In Proceedings of the Post Conference Workshop on Logic Programming Environments (Joint International Conference and Symposium on Logic Programming), Washington, November 1992.

    Google Scholar 

  6. S. Renner. Location of logical errors on Pascal programs with an appendix on implementation problems in Waterloo Prolog/c. Technical Report UIUCDCS-F-82-896, Department of Computer Science, Univeristy of Illinois at Urbana, Champaign-Urbana, Illinois, April 1982.

    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

Binks, D. (1993). Declarative debugging of abstract data types in Gödel. 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/BFb0019409

Download citation

  • DOI: https://doi.org/10.1007/BFb0019409

  • 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