Skip to content

Releases: JetBrains/lincheck

Lincheck 2.16

18 Nov 12:25
Compare
Choose a tag to compare

This release fixes a couple of bugs and provides code of conduct and contributing guidelines.

Bug Fixes:

  • Fix NPE when trying to finish on deadlock detection (#126)
  • Do not show an internal exception when a validation function fails

Documentation:

  • Add code of conduct
  • Add contributing guidelines
  • Fix documentation-related steps in RELEASE.md

lincheck-2.15

12 Oct 11:58
Compare
Choose a tag to compare

In this version, we added a lincheck guide!

Bug Fixes:

  • Fixed LinCheck failing when state representation is not deterministic (#108)
  • Fixed non-determinism in the model checker caused by resetting TestThread.cont (#109)
  • Equal objects must have different representation numbers (#110)
  • Do not transform Kover coverage framework classes

lincheck-2.14.1

30 Jun 14:29
Compare
Choose a tag to compare

Bug fixes:

  1. Do not call Thread.stop() when no hang has been detected (#102)

lincheck-2.14

12 Jun 19:14
Compare
Choose a tag to compare

Improvements:

  1. Support thread-local randoms in Striped64 (#97)
  2. Fix the missed state equivalence message (#98)
  3. Provide default value in ManagedOptions.verboseTrace(..) (#99)
  4. Add a nicer Options.addCustomScenario function (#100)
  5. Support standard singleton collections representation in model checking traces (#101)

lincheck-2.13

01 Jun 11:24
Compare
Choose a tag to compare

Features

  1. Custom scenarios DSL (#8)

Improvements

  1. Do not require state equivalence implementation by default (#95)

Bug Fixes

  1. OutOfMemoryError when minimizing scenario has been fixed (#93)
  2. Fix NoSuchFieldException when a field is inherited from an interface (#84)
  3. Handle null-s as results properly (#83)
  4. Fix a big in wait/notify processing in model checking (#82)

lincheck-2.12

02 Feb 18:06
Compare
Choose a tag to compare

Improvements

  1. Thread.yield should be ignored in model checking (#70)
  2. Add a parameter generator for Boolean
  3. Handle the exceptions related to invalid access from unnamed modules in model checking and provide the fix in the exception message

lincheck-2.11

07 Dec 21:35
Compare
Choose a tag to compare

Features

  1. Add an option for verbose trace for managed strategies (#65)

Improvements

  1. Migrate from Maven to Gradle (#54)
  2. Improve scenario generation diversity (#62)
  3. Remove CheckClassAdapter for faster transformation (#63)

Bug Fixes

  1. Add switch points into cancellation handlers for the model checking strategy (#66)
  2. Prompt cancellation should be emulated by canceling the parent job (#67)
  3. Fixed IllegalAccessError when accessing package-private methods in ThreadLocalRandom after the code transformation for model checking (#64)

lincheck-2.10

17 Nov 20:49
Compare
Choose a tag to compare

Features

  1. Allow some of the operations to be blocking while testing for obstruction-freedom (#55, #58)
  2. Support prompt cancellation (#57, #59)

Bug Fixes

  1. The last event was not logged sometimes on obstruction freedom violation

lincheck-2.9

03 Nov 11:58
Compare
Choose a tag to compare

This is a very major release that introduces a model checking mode (#40)! In this mode, Lincheck studies all possible schedules with a bounded number of context switches by fully controlling the execution and putting context switches in different locations in threads. In order to make the test time predictable, Lincheck bounds the number of schedules to be studied and increases the number of context switches gradually. The main advantages of the model checking mode are better coverage and providing a trace that reproduces the found error.

lincheck-2.8

03 Nov 10:30
Compare
Choose a tag to compare

Features

  1. Allow extra suspensions in the dual data structures formalism (#43, #48)
  2. Support Serializable classes as operation parameters and results (#46)
  3. Add a mechanism to provide the thread number as an operation parameter (#47)

Bug Fixes

  1. Do not show old threads in deadlock/livelock thread dumps (#41)

Improvements

  1. Improve the execution performance by Implementing a custom executor for ParallelThreadsRunner that keeps the threads active (#44)