Package daikon.simplify
Class Session
- Object
-
- Session
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
public class Session extends Object implements Closeable
A session is a channel to the Simplify theorem-proving tool. Once a session is started, commands may be applied to the session to make queries and manipulate its state.
-
-
Field Summary
Fields Modifier and Type Field Description static int
dkconfig_simplify_max_iterations
A non-negative integer, representing the largest number of iterations for which Simplify should be allowed to run on any single conjecture before giving up.static int
dkconfig_simplify_timeout
A non-negative integer, representing the longest time period (in seconds) Simplify should be allowed to run on any single conjecture before giving up.static boolean
dkconfig_trace_input
Boolean.static int
dkconfig_verbose_progress
Positive values mean to print extra indications as each candidate invariant is passed to Simplify during the--suppress_redundant
check.
-
Constructor Summary
Constructors Constructor Description Session()
Starts a new Simplify process, which runs concurrently; I/O with this process will block.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
Releases the resources held by this.static void
main(String[] args)
for testing and playing around, not for real use
-
-
-
Field Detail
-
dkconfig_simplify_max_iterations
public static int dkconfig_simplify_max_iterations
A non-negative integer, representing the largest number of iterations for which Simplify should be allowed to run on any single conjecture before giving up. Larger values may cause Simplify to run longer, but will increase the number of invariants that can be recognized as redundant. The default value is small enough to keep Simplify from running for more than a few seconds on any one conjecture, allowing it to verify most simple facts without getting bogged down in long searches. A value of 0 means not to bound the number of iterations at all, though see also thesimplify_timeout
parameter..
-
dkconfig_simplify_timeout
public static int dkconfig_simplify_timeout
A non-negative integer, representing the longest time period (in seconds) Simplify should be allowed to run on any single conjecture before giving up. Larger values may cause Simplify to run longer, but will increase the number of invariants that can be recognized as redundant. Roughly speaking, the time spent in Simplify will be bounded by this value, times the number of invariants generated, though it can be much less. A value of 0 means to not bound Simplify at all by time, though also see the optionsimplify_max_iterations
. Beware that using this option might make Daikon's output depend on the speed of the machine it's run on.
-
dkconfig_verbose_progress
public static int dkconfig_verbose_progress
Positive values mean to print extra indications as each candidate invariant is passed to Simplify during the--suppress_redundant
check. If the value is 1 or higher, a hyphen will be printed when each invariant is passed to Simplify, and then replaced by aT
if the invariant was redundant,F
if it was not found to be, and?
if Simplify gave up because of a time limit. If the value is 2 or higher, a<
or>
will also be printed for each invariant that is pushed onto or popped from from Simplify's assumption stack. This option is mainly intended for debugging purposes, but can also provide something to watch when Simplify takes a long time.
-
dkconfig_trace_input
public static boolean dkconfig_trace_input
Boolean. If true, the input to the Simplify theorem prover will also be directed to a file named simplifyN.in (where N is a number starting from 0) in the current directory. Simplify's operation can then be reproduced with a command likeSimplify -nosc <simplify0.in
. This is intended primarily for debugging when Simplify fails.
-
-
Constructor Detail
-
Session
public Session()
Starts a new Simplify process, which runs concurrently; I/O with this process will block. Initializes the simplify environment for interaction. UseCmd
objects to interact with this Session.
-
-
Method Detail
-
close
public void close(@GuardSatisfied Session this)
Releases the resources held by this.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
-
-