Program: 9539
Project: 9539
Buggy source:
public void performCompilation(List files){
  if (progressListener != null) {
    compiledCount=0;
    sourceFileCount=files.size();
    progressListener.setText("String_Node_Str");
  }
  String[] filenames=new String[files.size()];
  String[] encodings=new String[files.size()];
  for (int i=0; i < files.size(); i++) {
    filenames[i]=((File)files.get(i)).getPath();
  }
  List cps=buildConfig.getFullClasspath();
  String[] classpaths=new String[cps.size()];
  for (int i=0; i < cps.size(); i++) {
    classpaths[i]=(String)cps.get(i);
  }
  INameEnvironment environment=getLibraryAccess(classpaths,filenames);
  if (!state.classesFromName.isEmpty()) {
    environment=new StatefulNameEnvironment(environment,state.classesFromName);
  }
  AjCompiler compiler=new AjCompiler(environment,DefaultErrorHandlingPolicies.proceedWithAllProblems(),buildConfig.getJavaOptions(),getBatchRequestor(),getProblemFactory());
  AjProblemReporter pr=new AjProblemReporter(DefaultErrorHandlingPolicies.proceedWithAllProblems(),compiler.options,getProblemFactory());
  compiler.problemReporter=pr;
  AjLookupEnvironment le=new AjLookupEnvironment(compiler,compiler.options,pr,environment);
  EclipseFactory factory=new EclipseFactory(le);
  le.factory=factory;
  pr.world=factory;
  le.factory.buildManager=this;
  compiler.lookupEnvironment=le;
  compiler.parser=new AjParser(pr,compiler.options.parseLiteralExpressionsAsConstants);
  CompilerOptions options=compiler.options;
  options.produceReferenceInfo(true);
  compiler.compile(getCompilationUnits(filenames,encodings));
  environment.cleanup();
}

Fixed version (ground truth):
public void performCompilation(List files){
  if (progressListener != null) {
    compiledCount=0;
    sourceFileCount=files.size();
    progressListener.setText("String_Node_Str");
  }
  String[] filenames=new String[files.size()];
  String[] encodings=new String[files.size()];
  for (int i=0; i < files.size(); i++) {
    filenames[i]=((File)files.get(i)).getPath();
  }
  List cps=buildConfig.getFullClasspath();
  String[] classpaths=new String[cps.size()];
  for (int i=0; i < cps.size(); i++) {
    classpaths[i]=(String)cps.get(i);
  }
  INameEnvironment environment=getLibraryAccess(classpaths,filenames);
  if (!state.classesFromName.isEmpty()) {
    environment=new StatefulNameEnvironment(environment,state.classesFromName);
  }
  AjCompiler compiler=new AjCompiler(environment,DefaultErrorHandlingPolicies.proceedWithAllProblems(),buildConfig.getJavaOptions(),getBatchRequestor(),getProblemFactory());
  AjProblemReporter pr=new AjProblemReporter(DefaultErrorHandlingPolicies.proceedWithAllProblems(),compiler.options,getProblemFactory());
  compiler.problemReporter=pr;
  AjLookupEnvironment le=new AjLookupEnvironment(compiler,compiler.options,pr,environment);
  EclipseFactory factory=new EclipseFactory(le);
  le.factory=factory;
  pr.factory=factory;
  le.factory.buildManager=this;
  compiler.lookupEnvironment=le;
  compiler.parser=new AjParser(pr,compiler.options.parseLiteralExpressionsAsConstants);
  CompilerOptions options=compiler.options;
  options.produceReferenceInfo(true);
  compiler.compile(getCompilationUnits(filenames,encodings));
  environment.cleanup();
}