Learning From Large Codebases