Source: https://www.cs.cmu.edu/~priya/ICSOC-PhDSymp-2006-dist.pdf