Source: https://hal.inria.fr/hal-03106919v1/document