Releases: loonwerks/jkind
JKind 4.1.0
JKind v4.0.1
Fixed a bug in IVC generation (issue #44)
JKind v4.0
- Added support for uninterpreted functions (see
uf_*.lus
files in testing directory) - Added
-obfuscate
flag 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
LustreUtil
,NodeBuilder
, andJKindResult
- Various minor improvement and bug fixes
JKind v3.0.3
JKind
- Fix soundness bug with 'unknown' results during invariant generation for non-linear models
JKindApi
- Ensure Excel workbooks are closed even if writing fails
- Expose more subclass functionality in
AnalysisResultLabelProvider
.
JKind v3.0.2
JKind
- 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
--help
- Add
-main
option to specify main node - Add
-no_slicing
flag to disable slicing - Output warnings and errors on stderr instead of stdout
JKindApi
- Terminate JKind gracefully from
JKindApi
- Add UI elements for inconsistent properties
- Various other API improvements requested by users
- Add JCoverage example using JKindApi and IVCs to determine coverage metrics
JKind v3.0.1
- 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
JKind v3.0
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.
Other notes
- Added
LustreParseUtil
to 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
--%IVC
and the flag-ivc
. - 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).
- Added
EquationBuilder
. - Added
JLustre2ExcelApi
.
JKind v2.3
- From Elaheh Ghassabani: add new
-support
flag and corresponding--%SUPPORT
annotation. 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
-version
flag. - Flush XML file only after major events to prevent file system strain.
Support
The new -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.
JKind v2.2.1
- Fix bug in reconstruction of inductive counterexamples (Thanks to Steve Miller for finding this).
- Support for
mod
anddiv
in Yices 2 now that Yices 2.4.1 supports those operators - Check
<SOLVER>_HOME/bin
and<SOLVER>_HOME
for solver executables
JKind v2.2
Inlining
JKind now performs simple inlining to improve analysis performance. Recent models have shown a significant improvement from this optimization, particularly in models that are automatically generated and thus have many easily inlinable equations.
Other Changes
- Upgrade internal SMTInterpol version which fixes some bugs
- Fix bug with exit codes on Windows when processes are destroyed in JKindApi
- Check for Kind 2 server abort in JKindApi
- Provide more debugging information for failures in JKindApi