Uncovering source code reuse in large-scale academic environments