A Tracer Driver to Enable Debugging, Monitoring and Visualization of CLP Executions from a Single Tracer

  • Ludovic Langevine
  • Mireille Ducassé
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3132)


Tracers provide users with useful information about program executions. A tracer can be used for many purposes. Embedded in an interactive console, it enables users to investigate program executions. It can also be the front-end of visualization tools, or it can be used by an automatic process to monitor execution behaviors. For each purpose, the requested information is similar but slightly different. It is therefore important to be able to interact with the tracer in order to tune the sent information.

We propose a so-called “tracer driver”. From a single tracer, it provides a powerful front-end for multiple dynamic analysis tools while limiting the overhead of the trace generation. The tracer driver can be used both synchronously and asynchronously. The relevant execution information is specified by flexible event patterns. A large variety of trace data can be given either systematically or “on demand”. The proposed tracer driver has been designed and experimented in the context of constraint logic programming, within Codeine, a tracer for GNU-Prolog [1], and connected to a set of graphical tools.


  1. 1.
    Langevine, L., Ducassé, M., Deransart, P.: A propagation tracer for gnu-prolog: from formal definition to efficient implementation. In: Palamidessi, C. (ed.) ICLP 2003. LNCS, vol. 2916, pp. 269–283. Springer, Heidelberg (2003)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Ludovic Langevine
    • 1
  • Mireille Ducassé
    • 2
  1. 1.Inria Rocquencourt 
  2. 2.Irisa/Insa de Rennes 

Personalised recommendations