Program: 61313
Project: 61313
Buggy source:
@Override public void configure(JobConf jobConf){
  String dataModelFile=jobConf.get(RecommenderReducer.DATA_MODEL_FILE);
  String recommenderClassName=jobConf.get(RecommenderReducer.RECOMMENDER_CLASS_NAME);
  FileDataModel fileDataModel;
  try {
    Path dataModelPath=new Path(dataModelFile);
    FileSystem fs=FileSystem.get(dataModelPath.toUri(),jobConf);
    File tempDataFile=File.createTempFile("String_Node_Str","String_Node_Str");
    tempDataFile.deleteOnExit();
    fs.copyToLocalFile(dataModelPath,new Path(tempDataFile.getAbsolutePath()));
    fileDataModel=new FileDataModel(tempDataFile);
    String usersFilePathString=jobConf.get(RecommenderReducer.USERS_FILE);
    if (usersFilePathString == null) {
      usersToRecommendFor=null;
    }
 else {
      usersToRecommendFor=new FastIDSet();
      Path usersFilePath=new Path(usersFilePathString).makeQualified(fs);
      FSDataInputStream in=fs.open(usersFilePath);
      for (      String line : new FileLineIterable(in)) {
        usersToRecommendFor.add(Long.parseLong(line));
      }
    }
  }
 catch (  IOException ioe) {
    throw new IllegalStateException(ioe);
  }
  try {
    Class<? extends Recommender> recommenderClass=Class.forName(recommenderClassName).asSubclass(Recommender.class);
    Constructor<? extends Recommender> constructor=recommenderClass.getConstructor(DataModel.class);
    recommender=constructor.newInstance(fileDataModel);
  }
 catch (  NoSuchMethodException nsme) {
    throw new IllegalStateException(nsme);
  }
catch (  ClassNotFoundException cnfe) {
    throw new IllegalStateException(cnfe);
  }
catch (  InstantiationException ie) {
    throw new IllegalStateException(ie);
  }
catch (  IllegalAccessException iae) {
    throw new IllegalStateException(iae);
  }
catch (  InvocationTargetException ite) {
    throw new IllegalStateException(ite.getCause());
  }
  recommendationsPerUser=jobConf.getInt(RecommenderReducer.RECOMMENDATIONS_PER_USER,10);
}

Fixed version (ground truth):
@Override public void configure(JobConf jobConf){
  String dataModelFile=jobConf.get(DATA_MODEL_FILE);
  String recommenderClassName=jobConf.get(RECOMMENDER_CLASS_NAME);
  FileDataModel fileDataModel;
  try {
    Path dataModelPath=new Path(dataModelFile);
    FileSystem fs=FileSystem.get(dataModelPath.toUri(),jobConf);
    File tempDataFile=File.createTempFile("String_Node_Str","String_Node_Str");
    tempDataFile.deleteOnExit();
    fs.copyToLocalFile(dataModelPath,new Path(tempDataFile.getAbsolutePath()));
    fileDataModel=new FileDataModel(tempDataFile);
    String usersFilePathString=jobConf.get(USERS_FILE);
    if (usersFilePathString == null) {
      usersToRecommendFor=null;
    }
 else {
      usersToRecommendFor=new FastIDSet();
      Path usersFilePath=new Path(usersFilePathString).makeQualified(fs);
      FSDataInputStream in=fs.open(usersFilePath);
      for (      String line : new FileLineIterable(in)) {
        usersToRecommendFor.add(Long.parseLong(line));
      }
    }
  }
 catch (  IOException ioe) {
    throw new IllegalStateException(ioe);
  }
  try {
    Class<? extends Recommender> recommenderClass=Class.forName(recommenderClassName).asSubclass(Recommender.class);
    Constructor<? extends Recommender> constructor=recommenderClass.getConstructor(DataModel.class);
    recommender=constructor.newInstance(fileDataModel);
  }
 catch (  NoSuchMethodException nsme) {
    throw new IllegalStateException(nsme);
  }
catch (  ClassNotFoundException cnfe) {
    throw new IllegalStateException(cnfe);
  }
catch (  InstantiationException ie) {
    throw new IllegalStateException(ie);
  }
catch (  IllegalAccessException iae) {
    throw new IllegalStateException(iae);
  }
catch (  InvocationTargetException ite) {
    throw new IllegalStateException(ite.getCause());
  }
  recommendationsPerUser=jobConf.getInt(RECOMMENDATIONS_PER_USER,10);
}