https://doi.org/10.1145/1508244.1508275
[pdf]
https://users.cs.northwestern.edu/~robby/courses/322-2013-sp...
https://doi.org/10.1145/1508244.1508275