Next: , Previous: , Up: Writing Efficient Programs   [Contents][Index]

9.7 The Determinacy Checker

Please note: the Determinacy Checker tool is mostly superseded by the analysis performed by the SICStus Prolog IDE, SPIDER (see SICStus Prolog IDE). SPIDER will analyze the source code fully automatically and will annotate the edited source code to highlight unwanted nondeterminism. The analysis performed by SPIDER is more precise than the analysis implemented by the determinism checker described below.

The determinacy checker can help you spot unwanted nondeterminacy in your programs. This tool examines your program source code and points out places where nondeterminacy may arise. It is not in general possible to find exactly which parts of a program will be nondeterminate without actually running the program, best with the execution profiler, which endeavors to find exactly those parts. However, this tool can find most unwanted nondeterminacy. Unintended nondeterminacy should be eradicated because:

  1. it may give you wrong answers on backtracking
  2. it may cause a lot of memory to be wasted

Send feedback on this subject.