CORAL 0.7.0 Release Notes

REQUERIMENTS

Same as before (Java 1.6).

ADDITIONS

  • Added a new solver: AVM (Alternating Variables Method)
  • Added support for casts in the input language of CORAL (double->int and int->double)
  • Added an option to simplify the constraint with info from the interval solver.
  • The PID of the current process is appended to the name of the temporary input file used by RealPaver. This avoids problems when running two or more instances of CORAL concurrently.
  • Redundant calls to the interval solver were removed.

FIXES

  • Fixed a bug when CORAL tried to combine an empty Env returned by a solver
  • Fixed a bug with the canonicalization/translation to input language of constraints with BNOT. Thanks to Saswat Anand for reporting this.
  • More little bugs :)

CORAL 0.6.0 Release Notes

REQUERIMENTS

Same as before (Java 1.6).

ADDITIONS

  • Added support for use of interval-based constraint solvers to seed the search population. Currently supported solvers: RealPaver, ICOS. Look at this page for more details.
  • Constraints are now "canonicalized" before they are sent to the solver. Ex:
 original: AND((((1.0*1.0)-$V12) <= 0.0),($V12 == $V14)) 
 canon.  : AND((((1.0*1.0)-$V1) <= 0.0),($V1 == $V2))
  • Solved constraints are now cached.
  • Added a visitor to translate constraints to the input language of CORAL (useful if you want to extract constraints from an execution of Symbolic Pathfinder for later use).
  • Added support for "flexible" range inference (thanks to Saswat Anand for the idea). With the old behavior, the bounds of a variable could only be equal or smaller than the limits configured in "rangeLO/rangeHI". Now, the inferred bound can be bigger/smaller than the defined limits. Ex:
  PC = x < 3000; range.HI = 100  
  range of 'x' with flexibleRange=false: [-100,100]
  range of 'x' with flexibleRange=true:  [-100,3000]

FIXES

  • Spaces within a constraint are ignored now.
  • Fixed a bug with the inference of intervals of variables (thanks to Saswat Anand for the test case that revealed the bug)
  • Some other little bugs :)