Based on experiments, it turned out that finding the smallest set of functions that have to be tested is trickier than initially expected.
To make the problem easier, we decided to overapproximate, meaning that we test each function that has changed and all of their callers.
The related discussion can be found here.