
Summary: Tracing by automatic program source instrumentation has major advantages over compiled code instrumentation: it is more portable from one Prolog system to another, it produces traces in terms of the original program, and it can be tailored to specific debugging needs. The main argument usually put forward in favor of compiled code instrumentation is its supposed efficiency. We have compared the performances of two operational low-level Prolog tracers with source instrumentation. We have executed classical Prolog benchmark programs, collecting trace information without displaying it. On average, collecting trace information by program instrumentation is about as fast as using a low-level tracer in one case, and only twice slower in the other. This is a minor penalty to pay, compared to the advantages of the approach. To our knowledge, this is the first time that a quantitative comparison of both approaches is made for any programming language.
[INFO.INFO-PL]Computer Science [cs]/Programming Languages [cs.PL], Logic, Program instrumentation, tracing, Prolog debugging, Logic programming, [INFO.INFO-PL] Computer Science [cs]/Programming Languages [cs.PL], ACM: D.: Software/D.3: PROGRAMMING LANGUAGES/D.3.2: Language Classifications/D.3.2.2: Constraint and logic languages, Benchmarking, source to source transformation, Prolog, Prolog system, ACM: D.: Software/D.2: SOFTWARE ENGINEERING/D.2.5: Testing and Debugging/D.2.5.9: Tracing, Debugging, benchmarking
[INFO.INFO-PL]Computer Science [cs]/Programming Languages [cs.PL], Logic, Program instrumentation, tracing, Prolog debugging, Logic programming, [INFO.INFO-PL] Computer Science [cs]/Programming Languages [cs.PL], ACM: D.: Software/D.3: PROGRAMMING LANGUAGES/D.3.2: Language Classifications/D.3.2.2: Constraint and logic languages, Benchmarking, source to source transformation, Prolog, Prolog system, ACM: D.: Software/D.2: SOFTWARE ENGINEERING/D.2.5: Testing and Debugging/D.2.5.9: Tracing, Debugging, benchmarking
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 7 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Top 10% | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
