Writing multithreaded programs is hard, however, testing them is not easier at all. Thinking about all dangerous execution scenarios and writing tests for them is a difficult task, therefore it is often limited to a simple set of stress tests that are not always enough to detect an error. In order to solve this problem, the Lin-Check tool has been developed, which automatically checks a multithreaded Java code for linearizability. The first part of the talk is dedicated to various strategies and techniques for checking for linearizability. In the second part, we discuss the provided API and its ability to test your data structures.
Nikita Koval, Devexperts
Nikita is a research engineer at dxLab research group at Devexperts and in the second year of a master’s degree program in computer sciences at ITMO University, where he has been also teaching a course on concurrency programming. He is mainly interested in concurrent algorithms, their verification and practical applicable code analysis approaches.