Releases: devexperts/lin-check
Releases · devexperts/lin-check
Lincheck v3.0 - MPL 2.0 release
License changed to the MPL 2.0
Lincheck v2.0
Major changes in the release 2.0
General API changes (most of them are incompatible with the previous versions!):
coremodule is renamed tolincheck, what makes Lin-Check dependency specification more clear (com.devexperts.lincheck:lincheck:...instead ofcom.devexperts.lincheck:core:...);- Execution scenario began including not only a parallel part of the execution but initial and post-parts as well (see
ExecutionScenarioclass); actorsPerThreadoption is removed, simplerthreads,actorsPerThread,actorsBefore, andactorsAfteroptions are introduced instead;@Resetmethod is removed, the default constructor is used instead;- Default parameter generators for the supported primitive types and strings are used if no one is specified;
- Logging level control is introduced.
Verification changes:
- All verifiers are moved to
verifierpackage; - Different relaxed contracts (quiescent consistency, serializability, quantitative relaxation) are supported;
- All verifiers start using a labeled transition system (LTS) for their algorithms, what makes their logic more clear;
- All verifiers are based on a new
CacheVerifierabstract verifier which keeps previous results and looks at them at first (results repeat in up to 80% of the time).
- All verifiers are based on a new
Other features:
- An infrastructure for managed strategies is introduced (look at the skeleton for random-switch strategy);
- Pretty printing for execution scenario and result is added;
- Kotlin becomes a primary language for new features.