Record-and-replay is one of the main techniques for building contemporary tools, allowing to reproduce concurrency bugs. It consists of logging relevant information during the execution of a program that allows the interleaving that causes the bug to be reproduced later.