Topic: Whether it is possible to find somehow automatically bugs in the multi-threaded code?
Often happens that bugs in the multi-threaded code are not shown on the test data. Whether there is any tool which could run the test and produce an error if the test relied on not guaranteed behavior, we tell so. I while can invent only - to launch this test for a heap of flows by the multiprocessor machine, to simulate as much as possible excited environment if it is possible so to express and wait while falls. But besides it guarantees nothing and moreover, a row of errors like rescheduling of instructions by the processor (when one flow sees changes not in that order in which they are done by other flow) as I understand, on x86 will not be shown at all since the architecture of the processor of it does not admit (but on any ARM already can it will be shown, only I for tests have to take it). In Java basically there is a rule happens-before and there can be someone made any toolkit which under debugging checks each instruction and detects, when this instruction can meet a polysemy? Or something similar.