Be notified of new releases
Create your free GitHub account today to subscribe to this repository for new releases and build software alongside 28 million developers.Sign up
- Added support for uninterpreted functions (see
uf_*.lusfiles in testing directory)
-obfuscateflag to JLustre2Kind for obfuscating variable names in sensitive files
- Updated PDR to only disable for individual non-linear properties (previously any non-linearities in a program disabled PDR)
- Removed interval generalization
- Add more utility functions to
- Various minor improvement and bug fixes
- Fix soundness bug with 'unknown' results during invariant generation for non-linear models
- Ensure Excel workbooks are closed even if writing fails
- Expose more subclass functionality in
- Changed multi-line comments from
/* ... */to
(* ... *)
- Return error code when an engine crashes
- Check for inconsistency during base realizability checks
- Fix default SMT solver in
-mainoption to specify main node
-no_slicingflag to disable slicing
- Output warnings and errors on stderr instead of stdout
- Terminate JKind gracefully from
- Add UI elements for inconsistent properties
- Various other API improvements requested by users
- Add JCoverage example using JKindApi and IVCs to determine coverage metrics
- Fix bug in type comparison for advice files
- Pretty print time values, e.g. 2h 23m 48s
- Change timeout and depth to be unbounded by default
The big focus of JKind v3.0 is bundling and ease-of-use. The default solver has changed from Yices to SMTInterpol. This means users will no longer need to install an SMT solver by default. In addition, JKindApi has been updated to make it possible to bundle JKind into existing applications. Tools like AGREE, Spear, and JKind-Xtext have been updated to bundle JKind. Thus tool users won't need to install JKind or any SMT solvers. Everything will work out of the box.
LustreParseUtilto allow JKindApi users to specify ASTs using concrete syntax together with substitutions for variables.
- Error messages about the input Lustre now display and highlight the relevant portion of the input file.
- "Set of support" has been renamed to "inductive validity core." This now uses the annotation
--%IVCand the flag
- Enabled smoothing for Z3.
- Shell scripts now work on Linux and OS X (Thanks to Dave Greve).
- BigFraction.doubleValue() is now stable for large fractions (Thanks to Dave Greve).
- From Elaheh Ghassabani: add new
-supportflag and corresponding
--%SUPPORTannotation. See below for details.
- Use truncated decimal values instead of fractions for console output.
- Add note to truncated decimal values in Excel output.
- Move some Lustre translation passes so they are visible in JKindApi.
- Add debug option to JKindApi which causes intermediate files to be saved and commands to be logged.
- Display detected SMT solvers when run with
- Flush XML file only after major events to prevent file system strain.
-support flag in JKind causes two things for each valid property. First, the set of invariants used to prove the property is reduced and reported (thus replacing the
-reduce_inv flag). Second, any variables listed in a
--%SUPPORT annotation are analyzed to see if the equations for those variables are necessary to prove the property and its reduced set of invariants. The set of necessary variable equations is reported.
- Fix bug in reconstruction of inductive counterexamples (Thanks to Steve Miller for finding this).
- Support for
divin Yices 2 now that Yices 2.4.1 supports those operators
<SOLVER>_HOMEfor solver executables