lincheck

Framework for testing concurrent data structures

MPL-2.0 License

Stars
520
Committers
18

Bot releases are hidden (Show)

lincheck - Lincheck 2.33 Latest Release

Published by ndkoval 3 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/JetBrains/lincheck/compare/lincheck-2.32...lincheck-2.33

lincheck - Lincheck 2.32

Published by ndkoval 5 months ago

Improvements

lincheck - Lincheck 2.31

Published by ndkoval 5 months ago

Improvements

IntelliJ IDEA Plugin support:

lincheck - Lincheck 2.30

Published by ndkoval 6 months ago

This is a big release for Lincheck. We changed how Lincheck instruments byte-code, so no more annoying add-opens ... are needed πŸŽ‰

Improvements

Full Changelog: https://github.com/JetBrains/lincheck/compare/lincheck-2.29...lincheck-2.30

lincheck - Lincheck 2.29

Published by ndkoval 6 months ago

Improvements:

lincheck - Lincheck 2.28.1

Published by ndkoval 7 months ago

Bug Fixes

lincheck - Lincheck 2.28

Published by ndkoval 7 months ago

Improvements

Refactoring

lincheck - Lincheck 2.27

Published by ndkoval 7 months ago

Bug Fixes:

lincheck - Lincheck 2.26

Published by ndkoval 8 months ago

Bug Fixes

  • Fix non-determinism in the model checker and support recent changes in the Kotlin coroutines API (#273)
lincheck - Liincheck 2.25

Published by ndkoval 8 months ago

Bug Fixes:

  • Do not call Thread.stop() in FixedActiveThreadsExecutor on Java 20+ (#271)
  • Allow passing null-s to System.identityHashCode(..) in the model checking mode (#266)
  • Fix ExpandingRangeGeneratorTest failing on JDK 19+

Improvements:

  • Bump Kotlin, Gradle, Kotlin Coroutines, and ASM versions (#268)
  • Do not filter Lincheck events when printing a thread dump if the thread has hung in the Lincheck internals
lincheck - Lincheck 2.24

Published by ndkoval 9 months ago

Bug fixes:

  • Fix hashCode() support (#263, #131)
  • Fix representation of anonymous objects in interleaving traces (#245)

Improvements:

  • Enable validation function tracing (#240)
  • Allow at most one validation function (#243)
  • Execute init and post parts via the same mechanism as for the parallel one. (#238)
  • Call validation functions only at the end of the scenario (#237)
  • Cache instrumented classes (#229)
lincheck - Lincheck 2.23

Published by ndkoval about 1 year ago

Bug fixes:

  • Interleaving replay after a spin cycle is added to avoid side effects (#224)
  • Fix an infinite loop in TraceCollector and analyze only the first spin lock cycle when detecting one (#216)
  • Allow removing all operations in the parallel part during minimization (#217)
lincheck - Lincheck 2.22

Published by ndkoval over 1 year ago

Bug Fixes:

  • Validation functions are now running in ignored section (#213)
  • Do not transform DebugKt to avoid ExceptionInInitializerError (#212)
  • Show operation calls in the execution trace even when no events occur in them (#205)
lincheck - Lincheck 2.21

Published by ndkoval over 1 year ago

Improvements:

  • Shorten spin locks in traces (#191)
  • Optimize synchronization when the number of threads exceeds the number of cores (#204)
lincheck - Lincheck 2.20

Published by ndkoval over 1 year ago

New Features:

  • Add a parameter generator for enum classes (#187)

Bug Fixes:

  • Fix a race in FixedActiveThreadsExecutor (#202)
  • Bugfix for wait/notify support with lock re-entrance (#145)

Improvements:

  • Run init/post parts of the scenario in the 1st thread, changing the scenario and trace output formats correspondingly (#146)
  • Consider all exceptions as possible execution results (#181)
  • Validation exception stack trace shortened (#198)
  • Print operation results in interleaving traces (#197)

Thanks to @eupp and @avpotapov00 for your effort in significantly improving Lincheck in this release!

lincheck - Lincheck-2.19

Published by ndkoval over 1 year ago

With this release, Lincheck tests are now up to 2x (!) faster on some machines (#173)

Improvements:

  • Cleanup the user guide (#144)
  • Fix a typo in ObstructionFreedomViolationTest.kt file name (#147)
  • Add a link to the KotlinConf 2023 talk on Lincheck (#182)
lincheck - lincheck-2.18.1

Published by ndkoval over 1 year ago

In the previous release, we accidentally changed the package of parameter generators. This release fixes the issue.

lincheck - lincheck 2.18

Published by ndkoval over 1 year ago

License change!

Lincheck is now licensed under MPL-2.0 instead of LGPL-3.0 πŸŽ‰

Bug fixes

  • Reset parameter generator expanding ranges for each scenario (#180)
  • Fixed String generator (#172)
  • Correct the name and missing package line in CustomScenarioDSLTest.kt. (#183), thanks to @lowasser
lincheck - Lincheck 2.17

Published by ndkoval over 1 year ago

Improvements

  • Parameter generation has been improved (#149)
  • The verboseTrace configuration option has been removed, now both shortened and detailed traces are always printed (#148)
  • Lincheck does not ask for equals/hashCode anymore (#135)
  • Bumped Java, Kotlin, AtomicFU, and Gradle versions (#161)
  • Deprecate @Operation.group and @OpGroupConfig and introduce @Operation.nonParallelGroup as a replacement (#163)

Bug Fixes

  • Biasing in parameter generation has been fixed (#120)
  • Fixed a memory leak in the verifier (#128)
lincheck - Lincheck 2.16

Published by ndkoval almost 2 years ago

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