Fixpoint tracer

Author(s): The Ciao Development Team.

This module provides entrypoints for tracing fixpoint operations during the fixpoint computation. Tracing is inhibited by default (since it may slow-down the analysis) by compiling CiaoPP using the ciaopp(plai/notrace) package (in the fixpoint_options.pl file).

Usage and interface

Documentation on exports

PREDICATEtrace_init/0
No further documentation available for this predicate.

PREDICATEtrace_end/0
No further documentation available for this predicate.

PREDICATEtrace_reset/0
No further documentation available for this predicate.

No further documentation available for this predicate.

Usage:trace_option(F)

F is a valid type of fixpoint tracing:

  • no — disables fixpoint tracing.
- `trace` — shows certain relevant spy points during the fixpoint
  computation.
- `op_count` — counts the steps of the fixpoint operations.
- `view` — displays the analysis graph while being constructed.
- `debug` — displays debugging messages relating the source's
  subgoal being analyzed.

    PREDICATEtrace_fixp/1
    Toggle a trace of the fixpoint computation during analysis. The (X=op_count) option counts steps of fixpoint operations, show certain relevant spy points during analysis (X=trace), and/or display the analysis graph which is being constructed (X=view). The information added up can be seen at end of analysis with show_fixpoint_op_count.

    Usage 1:trace_fixp(X)

    Mode for setting the current flag to a single value.

    • The following properties should hold at call time:
      (trace_option/1)X is a valid type of fixpoint tracing:
      • no — disables fixpoint tracing.
      - `trace` — shows certain relevant spy points during the fixpoint
        computation.
      - `op_count` — counts the steps of the fixpoint operations.
      - `view` — displays the analysis graph while being constructed.
      - `debug` — displays debugging messages relating the source's
        subgoal being analyzed.
    • The following properties should hold globally:
      (not_further_inst/2)X is not further instantiated.

    Usage 2:trace_fixp(X)

    Mode for setting the current flag to several values.

    • The following properties should hold at call time:
      (list/2)X is a list of trace_options.
    • The following properties should hold globally:
      (not_further_inst/2)X is not further instantiated.

    Usage 3:trace_fixp(X)

    Mode for getting all selected tracing options.

    • The following properties should hold at call time:
      (var/1)X is a free variable.
    • The following properties should hold upon exit:
      (list/2)X is a list of trace_options.

    Usage:

    Shows, for each node in the analysis graph, how many times each operation was performed. It only shows this information if trace_fixp/1 includes the trace option.

      Usage:memotable_trace(IdMess,Id,SgKey)

      Traces memotable updates.

      • The following properties should hold at call time:
        (nonvar/1)IdMess is currently a term which is not a free variable.
        (nonvar/1)Id is currently a term which is not a free variable.
        (nonvar/1)SgKey is currently a term which is not a free variable.

      No further documentation available for this predicate.