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/
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
Ä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
Bracchi, C., Gefflot, C., Paulin, F.: Combining propagation information and search-tree visualization using opl studio. In: Proc. of WLPE 2001, Cyprus (2001)
Codognet, P., Diaz, D.: Compiling constraints in clp(FD). Journal of Logic Programming 27(3), 185–226 (1996)
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)
Deransart, P., Ed-Dbali, A., Cervoni, L.: Prolog, The Standard; Reference Manual, April 1996. Springer, Heidelberg (1996)
Deransart, P., Hermenegildo, M., Maluszyński, J. (eds.): DiSCiPl 1999. LNCS, vol. 1870. Springer, Heidelberg (2000)
Diaz, D.: Gnu prolog, a free prolog compiler with constraint solving over finite domains. Distributed under the GNU GPL (2003), http://gprolog.sourceforge.net/
Diaz, D., Codognet, P.: Design and implementation of the gnu prolog system. Journal of Functional and Logic Programming, 6–10 (2001)
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
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/
Ilog. Solver 5.1 reference manual (2001)
Jahier, E., Ducassé, M.: Generic program monitoring by trace analysis. Theory and Practice of Logic Programming (2002)
Jussien, N., Barichard, V.: The palm system: explanation-based constraint programming. In: Proc. of TRICS 2000, Singapore, pp. 118–133 (September 2000)
Langevine, L.: Codeine, a propagation tracer for GNU-Prolog (2003), http://contraintes.inria.fr/~langevin/codeine
Meier, M.: Debugging constraint programs. In: Montanari, U., Rossi, F. (eds.) CP 1995. LNCS, vol. 976. Springer, Heidelberg (1995)
Müller, T.: Practical investigation of constraints with graph views. In: Dechter, R. (ed.) CP 2000. LNCS, vol. 1894, p. 320. Springer, Heidelberg (2000)
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)
Somogyi, Z., Henderson, F.: The implementation technology of the Mercury debugger. In: Proc. of WLPE 1999. ENTCS, vol. 30(4). Elsevier, Amsterdam (1999)
Tolmach, A., Appel, A.W.: A debugger for Standard ML. Journal of Functional Programming 5(2), 155–200 (1995)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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