A Tracer Driver for Versatile Dynamic Analyses of Constraint Logic Programs
Ludovic Langevine, Mireille Ducasse

TL;DR
This paper introduces a versatile tracer driver architecture that enables efficient, customizable debugging of constraint logic programs by filtering execution data according to specific tool needs, improving performance.
Contribution
It proposes a general tracer-driver framework that adapts trace content dynamically for various debugging tools in constraint programming, enhancing flexibility and efficiency.
Findings
Effective filtering of trace data improves debugging performance.
Supports multiple tools with diverse data needs simultaneously.
Experimental results demonstrate good performance in constraint logic programming.
Abstract
Programs with constraints are hard to debug. In this paper, we describe a general architecture to help develop new debugging tools for constraint programming. The possible tools are fed by a single general-purpose tracer. A tracer-driver is used to adapt the actual content of the trace, according to the needs of the tool. This enables the tools and the tracer to communicate in a client-server scheme. Each tool describes its needs of execution data thanks to event patterns. The tracer driver scrutinizes the execution according to these event patterns and sends only the data that are relevant to the connected tools. Experimental measures show that this approach leads to good performance in the context of constraint logic programming, where a large variety of tools exists and the trace is potentially huge.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsConstraint Satisfaction and Optimization · Logic, programming, and type systems · Model-Driven Software Engineering Techniques
