Program: 110835
Project: 110835
Buggy source:
@Override public ConfiguredAspect create(ConfiguredTarget base,RuleContext ruleContext,AspectParameters params) throws InterruptedException {
  ConfiguredAspect.Builder result=new ConfiguredAspect.Builder(this,params,ruleContext);
  Function<Artifact,Artifact> desugaredJars=desugarJarsIfRequested(base,ruleContext,result);
  TriState incrementalAttr=TriState.valueOf(params.getOnlyValueOfAttribute("String_Node_Str"));
  if (incrementalAttr == TriState.NO || (getAndroidConfig(ruleContext).getIncrementalDexingBinaries().isEmpty() && incrementalAttr != TriState.YES)) {
    return result.build();
  }
  if (JavaCommon.isNeverLink(ruleContext)) {
    return result.addProvider(DexArchiveProvider.NEVERLINK).build();
  }
  DexArchiveProvider.Builder dexArchives=new DexArchiveProvider.Builder().addTransitiveProviders(collectPrerequisites(ruleContext,DexArchiveProvider.class));
  JavaRuntimeJarProvider jarProvider=base.getProvider(JavaRuntimeJarProvider.class);
  if (jarProvider != null) {
    Set<Set<String>> aspectDexopts=aspectDexopts(ruleContext);
    for (    Artifact jar : jarProvider.getRuntimeJars()) {
      for (      Set<String> incrementalDexopts : aspectDexopts) {
        String filename=jar.getFilename() + Joiner.on("String_Node_Str").join(incrementalDexopts) + "String_Node_Str";
        Artifact dexArchive=createDexArchiveAction(ruleContext,ASPECT_DEXBUILDER_PREREQ,desugaredJars.apply(jar),incrementalDexopts,AndroidBinary.getDxArtifact(ruleContext,filename));
        dexArchives.addDexArchive(incrementalDexopts,dexArchive,jar);
      }
    }
  }
  return result.addProvider(dexArchives.build()).build();
}

Fixed version (ground truth):
@Override public ConfiguredAspect create(ConfiguredTarget base,RuleContext ruleContext,AspectParameters params) throws InterruptedException {
  ConfiguredAspect.Builder result=new ConfiguredAspect.Builder(this,params,ruleContext);
  Function<Artifact,Artifact> desugaredJars=desugarJarsIfRequested(base,ruleContext,result);
  TriState incrementalAttr=TriState.valueOf(params.getOnlyValueOfAttribute("String_Node_Str"));
  if (incrementalAttr == TriState.NO || (getAndroidConfig(ruleContext).getIncrementalDexingBinaries().isEmpty() && incrementalAttr != TriState.YES)) {
    return result.build();
  }
  if (JavaCommon.isNeverLink(ruleContext)) {
    return result.addProvider(DexArchiveProvider.NEVERLINK).build();
  }
  DexArchiveProvider.Builder dexArchives=new DexArchiveProvider.Builder().addTransitiveProviders(collectPrerequisites(ruleContext,DexArchiveProvider.class));
  JavaRuntimeJarProvider jarProvider=base.getProvider(JavaRuntimeJarProvider.class);
  if (jarProvider != null) {
    boolean basenameClash=checkBasenameClash(jarProvider.getRuntimeJars());
    Set<Set<String>> aspectDexopts=aspectDexopts(ruleContext);
    for (    Artifact jar : jarProvider.getRuntimeJars()) {
      for (      Set<String> incrementalDexopts : aspectDexopts) {
        String uniqueFilename=(basenameClash ? jar.getRootRelativePathString() : jar.getFilename()) + Joiner.on("String_Node_Str").join(incrementalDexopts) + "String_Node_Str";
        Artifact dexArchive=createDexArchiveAction(ruleContext,ASPECT_DEXBUILDER_PREREQ,desugaredJars.apply(jar),incrementalDexopts,AndroidBinary.getDxArtifact(ruleContext,uniqueFilename));
        dexArchives.addDexArchive(incrementalDexopts,dexArchive,jar);
      }
    }
  }
  return result.addProvider(dexArchives.build()).build();
}