A Tracer Driver to Enable Concurrent Dynamic Analyses
Résumé
Tracers provide users with useful information about program executions. In this report, we propose a ``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 events are specified by flexible event patterns and 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 GNU-Prolog. Its principles are, however, independent of the traced programming language. Experimental measures show that the flexibility and power of the described architecture are also the basis of reasonable performances.