Program: 9409
Project: 9409
Buggy source:
/** 
 * init only on initial batch compile? no file-specific options 
 */
private void initBcelWorld(IMessageHandler handler) throws IOException {
  bcelWorld=new BcelWorld(buildConfig.getClasspath(),handler,null);
  bcelWorld.setXnoInline(buildConfig.isXnoInline());
  bcelWorld.setXlazyTjp(buildConfig.isXlazyTjp());
  bcelWeaver=new BcelWeaver(bcelWorld);
  state.binarySourceFiles=new HashMap();
  for (Iterator i=buildConfig.getAspectpath().iterator(); i.hasNext(); ) {
    File f=(File)i.next();
    bcelWeaver.addLibraryJarFile(f);
  }
  if (buildConfig.getLintMode().equals(AjBuildConfig.AJLINT_DEFAULT)) {
    bcelWorld.getLint().loadDefaultProperties();
  }
 else {
    bcelWorld.getLint().setAll(buildConfig.getLintMode());
  }
  if (buildConfig.getLintSpecFile() != null) {
    bcelWorld.getLint().setFromProperties(buildConfig.getLintSpecFile());
  }
  for (Iterator i=buildConfig.getInJars().iterator(); i.hasNext(); ) {
    File inJar=(File)i.next();
    List unwovenClasses=bcelWeaver.addJarFile(inJar,buildConfig.getOutputDir(),false);
    state.binarySourceFiles.put(inJar.getPath(),unwovenClasses);
  }
  for (Iterator i=buildConfig.getInpath().iterator(); i.hasNext(); ) {
    File inPathElement=(File)i.next();
    if (!inPathElement.isDirectory()) {
      List unwovenClasses=bcelWeaver.addJarFile(inPathElement,buildConfig.getOutputDir(),true);
      state.binarySourceFiles.put(inPathElement.getPath(),unwovenClasses);
    }
 else {
      File[] binSrcs=FileUtil.listFiles(inPathElement,binarySourceFilter);
      for (int j=0; j < binSrcs.length; j++) {
        UnwovenClassFile ucf=bcelWeaver.addClassFile(binSrcs[j],inPathElement,buildConfig.getOutputDir());
        List ucfl=new ArrayList();
        ucfl.add(ucf);
        state.binarySourceFiles.put(binSrcs[j].getPath(),ucfl);
      }
    }
  }
  bcelWeaver.setReweavableMode(buildConfig.isXreweavable(),buildConfig.getXreweavableCompressClasses());
  bcelWorld.resolve("String_Node_Str");
}

Fixed version (ground truth):
/** 
 * init only on initial batch compile? no file-specific options 
 */
private void initBcelWorld(IMessageHandler handler) throws IOException {
  List cp=buildConfig.getBootclasspath();
  cp.addAll(buildConfig.getClasspath());
  bcelWorld=new BcelWorld(cp,handler,null);
  bcelWorld.setXnoInline(buildConfig.isXnoInline());
  bcelWorld.setXlazyTjp(buildConfig.isXlazyTjp());
  bcelWeaver=new BcelWeaver(bcelWorld);
  state.binarySourceFiles=new HashMap();
  for (Iterator i=buildConfig.getAspectpath().iterator(); i.hasNext(); ) {
    File f=(File)i.next();
    bcelWeaver.addLibraryJarFile(f);
  }
  if (buildConfig.getLintMode().equals(AjBuildConfig.AJLINT_DEFAULT)) {
    bcelWorld.getLint().loadDefaultProperties();
  }
 else {
    bcelWorld.getLint().setAll(buildConfig.getLintMode());
  }
  if (buildConfig.getLintSpecFile() != null) {
    bcelWorld.getLint().setFromProperties(buildConfig.getLintSpecFile());
  }
  for (Iterator i=buildConfig.getInJars().iterator(); i.hasNext(); ) {
    File inJar=(File)i.next();
    List unwovenClasses=bcelWeaver.addJarFile(inJar,buildConfig.getOutputDir(),false);
    state.binarySourceFiles.put(inJar.getPath(),unwovenClasses);
  }
  for (Iterator i=buildConfig.getInpath().iterator(); i.hasNext(); ) {
    File inPathElement=(File)i.next();
    if (!inPathElement.isDirectory()) {
      List unwovenClasses=bcelWeaver.addJarFile(inPathElement,buildConfig.getOutputDir(),true);
      state.binarySourceFiles.put(inPathElement.getPath(),unwovenClasses);
    }
 else {
      File[] binSrcs=FileUtil.listFiles(inPathElement,binarySourceFilter);
      for (int j=0; j < binSrcs.length; j++) {
        UnwovenClassFile ucf=bcelWeaver.addClassFile(binSrcs[j],inPathElement,buildConfig.getOutputDir());
        List ucfl=new ArrayList();
        ucfl.add(ucf);
        state.binarySourceFiles.put(binSrcs[j].getPath(),ucfl);
      }
    }
  }
  bcelWeaver.setReweavableMode(buildConfig.isXreweavable(),buildConfig.getXreweavableCompressClasses());
  bcelWorld.resolve("String_Node_Str");
}