Skip to main content

A Propagation Tracer for GNU-Prolog: From Formal Definition to Efficient Implementation

  • Conference paper
Logic Programming (ICLP 2003)

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

Included in the following conference series:

Abstract

Tracers give some insight of program executions: with an execution trace a programmer can debug and tune programs. Traces can also be used by analysis tools, for example to produce statistics or build graphical views of program behaviors. Constraint propagation tracers are especially needed because constraint propagation problems are particularly hard to debug. Yet, there is no satisfactory tracer for CLP(FD) systems. Some do not provide enough information, others are very inefficient. The tracer formally described in this article provides more complete information than existing propagation tracers. Benchmarks show that its implementation is efficient. Its formal specification is useful both to implement the tracer and to understand the produced trace. It is designed to cover many debugging needs.

This work has been partially supported by the French RNTL project OADymPPaC, http://contraintes.inria.fr/OADymPPaC/

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 99.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 129.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Ägren, M., Szeredi, T., Beldiceanu, N., Carlsson, M.: Tracing and explaining execution of clp(fd) programs. In: Proc. of WLPE 2002 (2002) CoRR:cs.SE/0207047

    Google Scholar 

  2. Bracchi, C., Gefflot, C., Paulin, F.: Combining propagation information and search-tree visualization using opl studio. In: Proc. of WLPE 2001, Cyprus (2001)

    Google Scholar 

  3. Codognet, P., Diaz, D.: Compiling constraints in clp(FD). Journal of Logic Programming 27(3), 185–226 (1996)

    Article  MATH  MathSciNet  Google Scholar 

  4. Deransart, P., Ducassé, M., Langevine, L.: A generic trace model for finite domain solvers. In: O’Sullivan, B. (ed.) Proc. of UICS 2002, Ithaca, USA (2002)

    Google Scholar 

  5. Deransart, P., Ed-Dbali, A., Cervoni, L.: Prolog, The Standard; Reference Manual, April 1996. Springer, Heidelberg (1996)

    MATH  Google Scholar 

  6. Deransart, P., Hermenegildo, M., Maluszyński, J. (eds.): DiSCiPl 1999. LNCS, vol. 1870. Springer, Heidelberg (2000)

    Google Scholar 

  7. Diaz, D.: Gnu prolog, a free prolog compiler with constraint solving over finite domains. Distributed under the GNU GPL (2003), http://gprolog.sourceforge.net/

  8. Diaz, D., Codognet, P.: Design and implementation of the gnu prolog system. Journal of Functional and Logic Programming, 6–10 (2001)

    Google Scholar 

  9. Fages, F.: Clpgui: a generic graphical user interface for constraint logic programming over finite domains. In: Proc. of WLPE 2002 (2002) CoRR:cs.SE/0207048

    Google Scholar 

  10. Gent, I.P., Walsh, T.: CSPLib: a benchmark library for constraints. A presentation appears in the Proc. of CP 1999 (1999), http://csplib.cs.strath.ac.uk/

  11. Ilog. Solver 5.1 reference manual (2001)

    Google Scholar 

  12. Jahier, E., Ducassé, M.: Generic program monitoring by trace analysis. Theory and Practice of Logic Programming (2002)

    Google Scholar 

  13. Jussien, N., Barichard, V.: The palm system: explanation-based constraint programming. In: Proc. of TRICS 2000, Singapore, pp. 118–133 (September 2000)

    Google Scholar 

  14. Langevine, L.: Codeine, a propagation tracer for GNU-Prolog (2003), http://contraintes.inria.fr/~langevin/codeine

  15. Meier, M.: Debugging constraint programs. In: Montanari, U., Rossi, F. (eds.) CP 1995. LNCS, vol. 976. Springer, Heidelberg (1995)

    Google Scholar 

  16. Müller, T.: Practical investigation of constraints with graph views. In: Dechter, R. (ed.) CP 2000. LNCS, vol. 1894, p. 320. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  17. Schulte, C.: Oz Explorer: A Visual Constraint Programming Tool. In: Proc. of Iclp 1997, Leuven, Belgium, June 1997, pp. 286–300. The MIT Press, Cambridge (1997)

    Google Scholar 

  18. Somogyi, Z., Henderson, F.: The implementation technology of the Mercury debugger. In: Proc. of WLPE 1999. ENTCS, vol. 30(4). Elsevier, Amsterdam (1999)

    Google Scholar 

  19. Tolmach, A., Appel, A.W.: A debugger for Standard ML. Journal of Functional Programming 5(2), 155–200 (1995)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Langevine, L., Ducassé, M., Deransart, P. (2003). A Propagation Tracer for GNU-Prolog: From Formal Definition to Efficient Implementation. In: Palamidessi, C. (eds) Logic Programming. ICLP 2003. Lecture Notes in Computer Science, vol 2916. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24599-5_19

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-24599-5_19

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-20642-2

  • Online ISBN: 978-3-540-24599-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics