Skip to content

Releases: loonwerks/jkind

JKind 4.1.0

11 May 03:53
Compare
Choose a tag to compare
  • Added support for Yices2 nonlinear analysis (supported in Yices 2.6.1 and later)
  • Added support for Yices2 for IVC analysis using native unsat-cores
  • Incorporates fixes for issues #45, #46, #47, #50

JKind v4.0.1

30 Apr 20:59
Compare
Choose a tag to compare

Fixed a bug in IVC generation (issue #44)

JKind v4.0

24 Jan 15:14
Compare
Choose a tag to compare
  • 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, and JKindResult
  • Various minor improvement and bug fixes

JKind v3.0.3

22 Feb 19:02
Compare
Choose a tag to compare

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

29 Nov 20:26
Compare
Choose a tag to compare

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

25 Mar 02:25
Compare
Choose a tag to compare
  • 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

21 Mar 16:05
Compare
Choose a tag to compare

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

17 Dec 17:51
Compare
Choose a tag to compare
  • 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

20 Aug 21:49
Compare
Choose a tag to compare
  • Fix bug in reconstruction of inductive counterexamples (Thanks to Steve Miller for finding this).
  • Support for mod and div 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

21 Jul 18:00
Compare
Choose a tag to compare

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