kotlinx-lincheck
kotlinx-lincheck copied to clipboard
Framework for testing concurrent data structures
Consider the following example: ```kotlin val executorService = Executors.newFixedThreadPool(2) val future = executorService.submit(task) future.get() ``` Currently, if a lincheck test fails in such a case, it would also output in...
Currently, code using lambdas looks like follows in the trace: ``` SpinLockTestKt.withLock(SpinLock#1, LivelockRunConcurrentRepresentationTest$block$t1$1$1) at LivelockRunConcurrentRepresentationTest.block$lambda$0(RunConcurrentRepresentationTests.kt:254) ``` We want to improve the representation of lambdas, making them less verbose and more...
Consider the following example: ```kotlin var counter = 0 val map = ConcurrentHashMap() map.computeIfAbsent("abc") { counter++ } ``` Currently, if a lincheck test fails in such a case, it would...
Consider the following example: ```kotlin val executorService = Executors.newFixedThreadPool(2) executorService.asCoroutineDispatcher().use { dispatcher -> val job = launch(dispatcher) { counter++ } job.join() ``` Currently, if a lincheck test fails in such...
Consider the following code: ```kotlin var counter = 0 val map = ConcurrentHashMap() map.computeIfAbsent("abc") { counter++ } ``` In such examples, when outputting the trace we usually want to hide...
One of the features of Lincheck framework is the concurrent code model checker. Currently the model checker functionality in Lincheck is toughly coupled with the Lincheck's data structures testing API....
Investigate how to improve owner names representation in the trace.
Investigate where an object's identity hash-code is not substituted by `ObjectIdentityHashCodeTracker`.