nus-yam/ex-repair huggingface dataset:
Program: 4971
Project: 4971
Buggy source:
@Override protected void configure(){
  bind(QueueClientFactory.class).to(InMemoryQueueClientFactory.class).in(Singleton.class);
  bind(QueueAdmin.class).to(InMemoryQueueAdmin.class).in(Singleton.class);
  bind(TxMetricsCollector.class).to(TransactionManagerMetricsCollector.class).in(Scopes.SINGLETON);
  bind(TransactionSystemClientService.class).to(DelegatingTransactionSystemClientService.class);
  install(new TransactionModules().getInMemoryModules());
  install(new TransactionExecutorModule());
}

Fixed version (ground truth):
@Override protected void configure(){
  bind(QueueClientFactory.class).to(InMemoryQueueClientFactory.class).in(Singleton.class);
  bind(QueueAdmin.class).to(InMemoryQueueAdmin.class).in(Singleton.class);
  bind(TxMetricsCollector.class).to(TransactionManagerMetricsCollector.class).in(Scopes.SINGLETON);
  bind(TransactionSystemClientService.class).to(DelegatingTransactionSystemClientService.class);
  install(new TransactionModules(txClientId).getInMemoryModules());
  install(new TransactionExecutorModule());
}
Program: 4972
Project: 4972
Buggy source:
@Override public Module getDistributedModules(){
  return new DataFabricDistributedModule();
}

Fixed version (ground truth):
@Override public Module getDistributedModules(){
  return new DataFabricDistributedModule(txClientId);
}
Program: 4973
Project: 4973
Buggy source:
@Override public Module getInMemoryModules(){
  return new DataFabricInMemoryModule();
}

Fixed version (ground truth):
@Override public Module getInMemoryModules(){
  return new DataFabricInMemoryModule(txClientId);
}
Program: 4976
Project: 4976
Buggy source:
@VisibleForTesting static Injector createInjector(CConfiguration cConf,Configuration hConf){
  return Guice.createInjector(new ConfigModule(cConf,hConf),new ZKClientModule(),new LocationRuntimeModule().getDistributedModules(),new NamespaceClientRuntimeModule().getDistributedModules(),new DiscoveryRuntimeModule().getDistributedModules(),new DataFabricModules().getDistributedModules(),new DataSetsModules().getDistributedModules(),new ExploreClientModule(),new ViewAdminModules().getDistributedModules(),new StreamAdminModules().getDistributedModules(),new NotificationFeedClientModule(),new KafkaClientModule(),new AuditModule().getDistributedModules(),new AuthorizationEnforcementModule().getDistributedModules(),new SecureStoreModules().getDistributedModules(),new AuthenticationContextModules().getMasterModule(),new MessagingClientModule(),new AbstractModule(){
    @Override protected void configure(){
      bind(UGIProvider.class).to(RemoteUGIProvider.class).in(Scopes.SINGLETON);
      bind(MetricsCollectionService.class).to(NoOpMetricsCollectionService.class).in(Scopes.SINGLETON);
      bind(PrivilegesManager.class).to(RemotePrivilegesManager.class);
      bind(OwnerAdmin.class).to(DefaultOwnerAdmin.class);
    }
  }
);
}

Fixed version (ground truth):
@VisibleForTesting static Injector createInjector(CConfiguration cConf,Configuration hConf){
  return Guice.createInjector(new ConfigModule(cConf,hConf),new ZKClientModule(),new LocationRuntimeModule().getDistributedModules(),new NamespaceClientRuntimeModule().getDistributedModules(),new DiscoveryRuntimeModule().getDistributedModules(),new DataFabricModules("String_Node_Str").getDistributedModules(),new DataSetsModules().getDistributedModules(),new ExploreClientModule(),new ViewAdminModules().getDistributedModules(),new StreamAdminModules().getDistributedModules(),new NotificationFeedClientModule(),new KafkaClientModule(),new AuditModule().getDistributedModules(),new AuthorizationEnforcementModule().getDistributedModules(),new SecureStoreModules().getDistributedModules(),new AuthenticationContextModules().getMasterModule(),new MessagingClientModule(),new AbstractModule(){
    @Override protected void configure(){
      bind(UGIProvider.class).to(RemoteUGIProvider.class).in(Scopes.SINGLETON);
      bind(MetricsCollectionService.class).to(NoOpMetricsCollectionService.class).in(Scopes.SINGLETON);
      bind(PrivilegesManager.class).to(RemotePrivilegesManager.class);
      bind(OwnerAdmin.class).to(DefaultOwnerAdmin.class);
    }
  }
);
}
Program: 4977
Project: 4977
Buggy source:
@VisibleForTesting static Injector createInjector(CConfiguration cConf,Configuration hConf){
  return Guice.createInjector(new ConfigModule(cConf,hConf),new IOModule(),new ZKClientModule(),new KafkaClientModule(),new MessagingClientModule(),new MetricsClientRuntimeModule().getDistributedModules(),new DiscoveryRuntimeModule().getDistributedModules(),new LocationRuntimeModule().getDistributedModules(),new NamespaceClientRuntimeModule().getDistributedModules(),new DataFabricModules().getDistributedModules(),new DataSetsModules().getDistributedModules(),new DataSetServiceModules().getDistributedModules(),new LoggingModules().getDistributedModules(),new ExploreClientModule(),new NamespaceClientRuntimeModule().getDistributedModules(),new MetadataServiceModule(),new RemoteSystemOperationsServiceModule(),new ViewAdminModules().getDistributedModules(),new StreamAdminModules().getDistributedModules(),new NotificationFeedClientModule(),new AuditModule().getDistributedModules(),new EntityVerifierModule(),new SecureStoreModules().getDistributedModules(),new AuthorizationEnforcementModule().getDistributedModules(),new AuthenticationContextModules().getMasterModule(),new AbstractModule(){
    @Override protected void configure(){
      bind(Store.class).to(DefaultStore.class);
      bind(UGIProvider.class).to(RemoteUGIProvider.class).in(Scopes.SINGLETON);
      bind(PrivilegesManager.class).to(RemotePrivilegesManager.class);
      bind(OwnerAdmin.class).to(DefaultOwnerAdmin.class);
    }
  }
);
}

Fixed version (ground truth):
@VisibleForTesting static Injector createInjector(CConfiguration cConf,Configuration hConf,String txClientId){
  return Guice.createInjector(new ConfigModule(cConf,hConf),new IOModule(),new ZKClientModule(),new KafkaClientModule(),new MessagingClientModule(),new MetricsClientRuntimeModule().getDistributedModules(),new DiscoveryRuntimeModule().getDistributedModules(),new LocationRuntimeModule().getDistributedModules(),new NamespaceClientRuntimeModule().getDistributedModules(),new DataFabricModules(txClientId).getDistributedModules(),new DataSetsModules().getDistributedModules(),new DataSetServiceModules().getDistributedModules(),new LoggingModules().getDistributedModules(),new ExploreClientModule(),new NamespaceClientRuntimeModule().getDistributedModules(),new MetadataServiceModule(),new RemoteSystemOperationsServiceModule(),new ViewAdminModules().getDistributedModules(),new StreamAdminModules().getDistributedModules(),new NotificationFeedClientModule(),new AuditModule().getDistributedModules(),new EntityVerifierModule(),new SecureStoreModules().getDistributedModules(),new AuthorizationEnforcementModule().getDistributedModules(),new AuthenticationContextModules().getMasterModule(),new AbstractModule(){
    @Override protected void configure(){
      bind(Store.class).to(DefaultStore.class);
      bind(UGIProvider.class).to(RemoteUGIProvider.class).in(Scopes.SINGLETON);
      bind(PrivilegesManager.class).to(RemotePrivilegesManager.class);
      bind(OwnerAdmin.class).to(DefaultOwnerAdmin.class);
    }
  }
);
}
Program: 4978
Project: 4978
Buggy source:
@Override protected Injector doInit(TwillContext context){
  CConfiguration cConf=getCConfiguration();
  Configuration hConf=getConfiguration();
  cConf.set(Constants.Dataset.Executor.ADDRESS,context.getHost().getHostName());
  injector=createInjector(cConf,hConf);
  injector.getInstance(LogAppenderInitializer.class).initialize();
  LoggingContextAccessor.setLoggingContext(new ServiceLoggingContext(NamespaceId.SYSTEM.getNamespace(),Constants.Logging.COMPONENT_NAME,Constants.Service.DATASET_EXECUTOR));
  return injector;
}

Fixed version (ground truth):
@Override protected Injector doInit(TwillContext context){
  CConfiguration cConf=getCConfiguration();
  Configuration hConf=getConfiguration();
  cConf.set(Constants.Dataset.Executor.ADDRESS,context.getHost().getHostName());
  String txClientId=String.format("String_Node_Str",Constants.Service.DATASET_EXECUTOR,context.getInstanceId());
  injector=createInjector(cConf,hConf,txClientId);
  injector.getInstance(LogAppenderInitializer.class).initialize();
  LoggingContextAccessor.setLoggingContext(new ServiceLoggingContext(NamespaceId.SYSTEM.getNamespace(),Constants.Logging.COMPONENT_NAME,Constants.Service.DATASET_EXECUTOR));
  return injector;
}
Program: 4979
Project: 4979
Buggy source:
@Override public int hashCode(){
  int result=name.hashCode();
  result=31 * result + description.hashCode();
  result=31 * result + type.hashCode();
  result=31 * result + (required ? 1 : 0);
  result=31 * result + (macroSupported ? 1 : 0);
  return result;
}

Fixed version (ground truth):
@Override public int hashCode(){
  return Objects.hash(name,description,type,required,macroSupported,macroEscapingEnabled);
}
Program: 4980
Project: 4980
Buggy source:
@Override public boolean equals(Object o){
  if (this == o) {
    return true;
  }
  if (o == null || getClass() != o.getClass()) {
    return false;
  }
  PluginPropertyField that=(PluginPropertyField)o;
  return required == that.required && name.equals(that.name) && description.equals(that.description) && type.equals(that.type) && macroSupported == that.macroSupported;
}

Fixed version (ground truth):
@Override public boolean equals(Object o){
  if (this == o) {
    return true;
  }
  if (o == null || getClass() != o.getClass()) {
    return false;
  }
  PluginPropertyField that=(PluginPropertyField)o;
  return required == that.required && name.equals(that.name) && description.equals(that.description) && type.equals(that.type) && macroSupported == that.macroSupported && macroEscapingEnabled == that.macroEscapingEnabled;
}
Program: 4981
Project: 4981
Buggy source:
public PluginPropertyField(String name,String description,String type,boolean required,boolean macroSupported){
  if (name == null) {
    throw new IllegalArgumentException("String_Node_Str");
  }
  if (description == null) {
    throw new IllegalArgumentException("String_Node_Str");
  }
  if (type == null) {
    throw new IllegalArgumentException("String_Node_Str");
  }
  this.name=name;
  this.description=description;
  this.type=type;
  this.required=required;
  this.macroSupported=macroSupported;
}

Fixed version (ground truth):
public PluginPropertyField(String name,String description,String type,boolean required,boolean macroSupported){
  this(name,description,type,required,macroSupported,false);
}
Program: 4982
Project: 4982
Buggy source:
private static Plugin getPlugin(Map.Entry<ArtifactDescriptor,PluginClass> pluginEntry,PluginProperties properties,String pluginType,String pluginName,PluginInstantiator pluginInstantiator){
  CollectMacroEvaluator collectMacroEvaluator=new CollectMacroEvaluator();
  MacroParser parser=new MacroParser(collectMacroEvaluator);
  for (  PluginPropertyField field : pluginEntry.getValue().getProperties().values()) {
    Preconditions.checkArgument(!field.isRequired() || (properties.getProperties().containsKey(field.getName())),"String_Node_Str",field.getName(),pluginType,pluginName);
    if (field.isMacroSupported()) {
      parser.parse(properties.getProperties().get(field.getName()));
    }
  }
  ArtifactId artifact=pluginEntry.getKey().getArtifactId();
  try {
    pluginInstantiator.addArtifact(pluginEntry.getKey().getLocation(),artifact);
  }
 catch (  IOException e) {
    Throwables.propagate(e);
  }
  return new Plugin(artifact,pluginEntry.getValue(),properties.setMacros(collectMacroEvaluator.getMacros()));
}

Fixed version (ground truth):
private static Plugin getPlugin(Map.Entry<ArtifactDescriptor,PluginClass> pluginEntry,PluginProperties properties,String pluginType,String pluginName,PluginInstantiator pluginInstantiator){
  CollectMacroEvaluator collectMacroEvaluator=new CollectMacroEvaluator();
  for (  PluginPropertyField field : pluginEntry.getValue().getProperties().values()) {
    Preconditions.checkArgument(!field.isRequired() || (properties.getProperties().containsKey(field.getName())),"String_Node_Str",field.getName(),pluginType,pluginName);
    if (field.isMacroSupported()) {
      MacroParser parser=new MacroParser(collectMacroEvaluator,field.isMacroEscapingEnabled());
      parser.parse(properties.getProperties().get(field.getName()));
    }
  }
  ArtifactId artifact=pluginEntry.getKey().getArtifactId();
  try {
    pluginInstantiator.addArtifact(pluginEntry.getKey().getLocation(),artifact);
  }
 catch (  IOException e) {
    Throwables.propagate(e);
  }
  return new Plugin(artifact,pluginEntry.getValue(),properties.setMacros(collectMacroEvaluator.getMacros()));
}
Program: 4983
Project: 4983
Buggy source:
public MacroParser(MacroEvaluator macroEvaluator){
  this.macroEvaluator=macroEvaluator;
}

Fixed version (ground truth):
public MacroParser(MacroEvaluator macroEvaluator,boolean escapingEnabled){
  this.macroEvaluator=macroEvaluator;
  this.escapingEnabled=escapingEnabled;
}
Program: 4984
Project: 4984
Buggy source:
/** 
 * Strips all preceding backslash '\' characters.
 * @param str the string to replace escaped syntax in
 * @return the string with no escaped syntax
 */
private String replaceEscapedSyntax(String str){
  StringBuilder syntaxRebuilder=new StringBuilder();
  boolean includeNextConsecutiveBackslash=false;
  for (int i=0; i < str.length(); i++) {
    if (str.charAt(i) != '\\' || includeNextConsecutiveBackslash) {
      syntaxRebuilder.append(str.charAt(i));
      includeNextConsecutiveBackslash=false;
    }
 else {
      includeNextConsecutiveBackslash=true;
    }
  }
  return syntaxRebuilder.toString();
}

Fixed version (ground truth):
/** 
 * Strips all preceding backslash '\' characters.
 * @param str the string to replace escaped syntax in
 * @return the string with no escaped syntax
 */
private String replaceEscapedSyntax(String str){
  if (!escapingEnabled) {
    return str;
  }
  StringBuilder syntaxRebuilder=new StringBuilder();
  boolean includeNextConsecutiveBackslash=false;
  for (int i=0; i < str.length(); i++) {
    if (str.charAt(i) != '\\' || includeNextConsecutiveBackslash) {
      syntaxRebuilder.append(str.charAt(i));
      includeNextConsecutiveBackslash=false;
    }
 else {
      includeNextConsecutiveBackslash=true;
    }
  }
  return syntaxRebuilder.toString();
}
Program: 4985
Project: 4985
Buggy source:
/** 
 * Returns whether or not the character at a given index in a string is escaped. Escaped characters have an odd number of preceding backslashes.
 * @param index the index of the character to check for escaping
 * @param str the string in which the character is located at 'index'
 * @return if the character at the provided index is escaped
 */
private boolean isEscaped(int index,String str){
  int numPrecedingParens=0;
  for (int i=index - 1; i >= 0; i--) {
    if (str.charAt(i) == '\\') {
      numPrecedingParens++;
    }
 else {
      break;
    }
  }
  return ((numPrecedingParens % 2) == 1);
}

Fixed version (ground truth):
/** 
 * Returns whether or not the character at a given index in a string is escaped. Escaped characters have an odd number of preceding backslashes.
 * @param index the index of the character to check for escaping
 * @param str the string in which the character is located at 'index'
 * @return if the character at the provided index is escaped
 */
private boolean isEscaped(int index,String str){
  if (!escapingEnabled) {
    return false;
  }
  int numPrecedingParens=0;
  for (int i=index - 1; i >= 0; i--) {
    if (str.charAt(i) == '\\') {
      numPrecedingParens++;
    }
 else {
      break;
    }
  }
  return ((numPrecedingParens % 2) == 1);
}
Program: 4986
Project: 4986
Buggy source:
private PluginProperties substituteMacros(Plugin plugin,@Nullable MacroEvaluator macroEvaluator){
  Map<String,String> properties=new HashMap<>();
  Map<String,PluginPropertyField> pluginPropertyFieldMap=plugin.getPluginClass().getProperties();
  boolean configTime=(macroEvaluator == null);
  TrackingMacroEvaluator trackingMacroEvaluator=new TrackingMacroEvaluator();
  MacroParser macroParser=new MacroParser(configTime ? trackingMacroEvaluator : macroEvaluator);
  for (  Map.Entry<String,String> property : plugin.getProperties().getProperties().entrySet()) {
    PluginPropertyField field=pluginPropertyFieldMap.get(property.getKey());
    String propertyValue=property.getValue();
    if (field != null && field.isMacroSupported()) {
      if (configTime) {
        macroParser.parse(propertyValue);
        propertyValue=getOriginalOrDefaultValue(propertyValue,property.getKey(),field.getType(),trackingMacroEvaluator);
      }
 else {
        propertyValue=macroParser.parse(propertyValue);
      }
    }
    properties.put(property.getKey(),propertyValue);
  }
  return PluginProperties.builder().addAll(properties).build();
}

Fixed version (ground truth):
private PluginProperties substituteMacros(Plugin plugin,@Nullable MacroEvaluator macroEvaluator){
  Map<String,String> properties=new HashMap<>();
  Map<String,PluginPropertyField> pluginPropertyFieldMap=plugin.getPluginClass().getProperties();
  boolean configTime=(macroEvaluator == null);
  TrackingMacroEvaluator trackingMacroEvaluator=new TrackingMacroEvaluator();
  for (  Map.Entry<String,String> property : plugin.getProperties().getProperties().entrySet()) {
    PluginPropertyField field=pluginPropertyFieldMap.get(property.getKey());
    String propertyValue=property.getValue();
    if (field != null && field.isMacroSupported()) {
      if (configTime) {
        MacroParser macroParser=new MacroParser(trackingMacroEvaluator,field.isMacroEscapingEnabled());
        macroParser.parse(propertyValue);
        propertyValue=getOriginalOrDefaultValue(propertyValue,property.getKey(),field.getType(),trackingMacroEvaluator);
      }
 else {
        MacroParser macroParser=new MacroParser(macroEvaluator,field.isMacroEscapingEnabled());
        propertyValue=macroParser.parse(propertyValue);
      }
    }
    properties.put(property.getKey(),propertyValue);
  }
  return PluginProperties.builder().addAll(properties).build();
}
Program: 4987
Project: 4987
Buggy source:
private Set<String> getFieldsWithMacro(Plugin plugin){
  Set<String> macroFields=new HashSet<>();
  Map<String,PluginPropertyField> pluginPropertyFieldMap=plugin.getPluginClass().getProperties();
  TrackingMacroEvaluator trackingMacroEvaluator=new TrackingMacroEvaluator();
  MacroParser macroParser=new MacroParser(trackingMacroEvaluator);
  for (  Map.Entry<String,PluginPropertyField> pluginEntry : pluginPropertyFieldMap.entrySet()) {
    if (pluginEntry.getValue() != null && pluginEntry.getValue().isMacroSupported()) {
      String macroValue=plugin.getProperties().getProperties().get(pluginEntry.getKey());
      if (macroValue != null) {
        macroParser.parse(macroValue);
        if (trackingMacroEvaluator.hasMacro()) {
          macroFields.add(pluginEntry.getKey());
          trackingMacroEvaluator.reset();
        }
      }
    }
  }
  return macroFields;
}

Fixed version (ground truth):
private Set<String> getFieldsWithMacro(Plugin plugin){
  Set<String> macroFields=new HashSet<>();
  Map<String,PluginPropertyField> pluginPropertyFieldMap=plugin.getPluginClass().getProperties();
  TrackingMacroEvaluator trackingMacroEvaluator=new TrackingMacroEvaluator();
  for (  Map.Entry<String,PluginPropertyField> pluginEntry : pluginPropertyFieldMap.entrySet()) {
    PluginPropertyField pluginField=pluginEntry.getValue();
    if (pluginEntry.getValue() != null && pluginField.isMacroSupported()) {
      String macroValue=plugin.getProperties().getProperties().get(pluginEntry.getKey());
      if (macroValue != null) {
        MacroParser macroParser=new MacroParser(trackingMacroEvaluator,pluginField.isMacroEscapingEnabled());
        macroParser.parse(macroValue);
        if (trackingMacroEvaluator.hasMacro()) {
          macroFields.add(pluginEntry.getKey());
          trackingMacroEvaluator.reset();
        }
      }
    }
  }
  return macroFields;
}
Program: 4988
Project: 4988
Buggy source:
@Test public void testContainsSimpleEscapedMacro() throws InvalidMacroException {
  assertContainsMacroParsing("String_Node_Str",true);
}

Fixed version (ground truth):
@Test public void testContainsSimpleEscapedMacro() throws InvalidMacroException {
  assertContainsMacroParsing("String_Node_Str",true);
  assertSubstitution("String_Node_Str","String_Node_Str",ImmutableMap.<String,String>of(),ImmutableMap.<String,String>of());
}
Program: 4989
Project: 4989
Buggy source:
@ProcessInput public void process(Purchase purchase){
  URL serviceURL=getContext().getServiceURL(PurchaseApp.APP_NAME,CatalogLookupService.SERVICE_NAME);
  if (serviceURL != null) {
    String catalog=getCatalogId(serviceURL,purchase.getProduct());
    if (catalog != null) {
      purchase.setCatalogId(catalog);
    }
  }
  metrics.count("String_Node_Str" + purchase.getCustomer(),1);
  LOG.info("String_Node_Str",purchase.getCustomer(),purchase.getProduct(),purchase.getCatalogId());
  store.write(Bytes.toBytes(purchase.getPurchaseTime()),purchase);
}

Fixed version (ground truth):
@ProcessInput public void process(Purchase purchase){
  URL serviceURL=getContext().getServiceURL(PurchaseApp.APP_NAME,CatalogLookupService.SERVICE_NAME);
  if (serviceURL != null) {
    String catalog=getCatalogId(serviceURL,purchase.getProduct());
    if (catalog != null) {
      purchase.setCatalogId(catalog);
    }
  }
  metrics.count("String_Node_Str" + purchase.getCustomer(),1);
  LOG.info("String_Node_Str",purchase.getCustomer(),purchase.getProduct(),purchase.getCatalogId());
  store.write(Bytes.toBytes(UUID.randomUUID()),purchase);
}
Program: 4990
Project: 4990
Buggy source:
private void initialize(){
  if (calendar == null) {
    ValidationResult vr=doValidate();
    Calendar calendar=vr.getCalendar();
    calendar.setTime(vr.getStartDate());
    startHour=calendar.get(Calendar.HOUR_OF_DAY);
    startMinute=calendar.get(Calendar.MINUTE);
    calendar.setTime(vr.getEndDate());
    endHour=calendar.get(Calendar.HOUR_OF_DAY);
    endMinute=calendar.get(Calendar.MINUTE);
    this.calendar=calendar;
  }
}

Fixed version (ground truth):
private void initialize(){
  if (calendar == null) {
    ValidationResult vr=doValidate();
    Calendar calendar=vr.getCalendar();
    calendar.setTime(vr.getStartDate());
    startHour=calendar.get(Calendar.HOUR_OF_DAY);
    startMinute=calendar.get(Calendar.MINUTE);
    calendar.setTime(vr.getEndDate());
    endHour=calendar.get(Calendar.HOUR_OF_DAY);
    endMinute=calendar.get(Calendar.MINUTE);
    isStartTimeSmaller=vr.getStartDate().compareTo(vr.getEndDate()) < 0;
    this.calendar=calendar;
  }
}
Program: 4991
Project: 4991
Buggy source:
@Override public ConstraintResult check(ProgramSchedule schedule,ConstraintContext context){
  initialize();
  calendar.setTimeInMillis(context.getCheckTime());
  int hourOfDay=calendar.get(Calendar.HOUR_OF_DAY);
  int minute=calendar.get(Calendar.MINUTE);
  boolean pastOrEqualStartRange=hourOfDay > startHour || (hourOfDay == startHour && minute >= startMinute);
  boolean pastEndRange=hourOfDay > endHour || (hourOfDay == endHour && minute >= endMinute);
  boolean satisfied=pastOrEqualStartRange && !pastEndRange;
  if (satisfied) {
    return ConstraintResult.SATISFIED;
  }
  if (pastEndRange) {
    calendar.add(Calendar.DAY_OF_YEAR,1);
  }
  calendar.set(Calendar.HOUR_OF_DAY,startHour);
  calendar.set(Calendar.MINUTE,startMinute);
  calendar.set(Calendar.SECOND,0);
  calendar.set(Calendar.MILLISECOND,0);
  return new ConstraintResult(ConstraintResult.SatisfiedState.NOT_SATISFIED,calendar.getTimeInMillis() - context.getCheckTime());
}

Fixed version (ground truth):
@Override public ConstraintResult check(ProgramSchedule schedule,ConstraintContext context){
  initialize();
  calendar.setTimeInMillis(context.getCheckTime());
  int hourOfDay=calendar.get(Calendar.HOUR_OF_DAY);
  int minute=calendar.get(Calendar.MINUTE);
  boolean pastOrEqualStartRange=hourOfDay > startHour || (hourOfDay == startHour && minute >= startMinute);
  boolean pastOrEqualEndRange=hourOfDay > endHour || (hourOfDay == endHour && minute >= endMinute);
  if (isStartTimeSmaller) {
    boolean satisfied=pastOrEqualStartRange && !pastOrEqualEndRange;
    if (satisfied) {
      return ConstraintResult.SATISFIED;
    }
  }
 else {
    boolean satisfied=pastOrEqualStartRange || !pastOrEqualEndRange;
    if (satisfied) {
      return ConstraintResult.SATISFIED;
    }
  }
  if (pastOrEqualEndRange && isStartTimeSmaller) {
    calendar.add(Calendar.DAY_OF_YEAR,1);
  }
  calendar.set(Calendar.HOUR_OF_DAY,startHour);
  calendar.set(Calendar.MINUTE,startMinute);
  calendar.set(Calendar.SECOND,0);
  calendar.set(Calendar.MILLISECOND,0);
  return new ConstraintResult(ConstraintResult.SatisfiedState.NOT_SATISFIED,calendar.getTimeInMillis() - context.getCheckTime());
}
Program: 4992
Project: 4992
Buggy source:
@Test public void testInit(){
  TimeRangeConstraint timeRangeConstraint=new TimeRangeConstraint("String_Node_Str","String_Node_Str",TimeZone.getTimeZone("String_Node_Str"));
  Assert.assertEquals("String_Node_Str",timeRangeConstraint.getTimeZone());
}

Fixed version (ground truth):
@Test public void testInit(){
  TimeRangeConstraint timeRangeConstraint=new TimeRangeConstraint("String_Node_Str","String_Node_Str",TimeZone.getTimeZone("String_Node_Str"));
  Assert.assertEquals("String_Node_Str",timeRangeConstraint.getTimeZone());
  new TimeRangeConstraint("String_Node_Str","String_Node_Str",TimeZone.getDefault());
  new TimeRangeConstraint("String_Node_Str","String_Node_Str",TimeZone.getDefault());
  new TimeRangeConstraint("String_Node_Str","String_Node_Str",TimeZone.getDefault());
  try {
    new TimeRangeConstraint("String_Node_Str","String_Node_Str",TimeZone.getDefault());
    Assert.fail();
  }
 catch (  IllegalArgumentException e) {
  }
}
Program: 4993
Project: 4993
Buggy source:
/** 
 * Performs the validation. Can be called by subclasses to validate and initialize.
 * @return Calendar, start and end date as a ValidationResult.
 */
protected ValidationResult doValidate(){
  ProtoConstraint.validateNotNull(timeZone,"String_Node_Str");
  TimeZone tz=TimeZone.getTimeZone(timeZone);
  Calendar calendar=Calendar.getInstance(tz);
  DateFormat formatter=new SimpleDateFormat("String_Node_Str");
  formatter.setTimeZone(tz);
  Date startDate, endDate;
  try {
    startDate=formatter.parse(startTime);
  }
 catch (  ParseException e) {
    throw new IllegalArgumentException(String.format("String_Node_Str",startTime),e);
  }
  try {
    endDate=formatter.parse(endTime);
  }
 catch (  ParseException e) {
    throw new IllegalArgumentException(String.format("String_Node_Str",endTime),e);
  }
  if (startDate.compareTo(endDate) >= 0) {
    throw new IllegalArgumentException("String_Node_Str");
  }
  return new ValidationResult(calendar,startDate,endDate);
}

Fixed version (ground truth):
/** 
 * Performs the validation. Can be called by subclasses to validate and initialize.
 * @return Calendar, start and end date as a ValidationResult.
 */
protected ValidationResult doValidate(){
  ProtoConstraint.validateNotNull(timeZone,"String_Node_Str");
  TimeZone tz=TimeZone.getTimeZone(timeZone);
  Calendar calendar=Calendar.getInstance(tz);
  DateFormat formatter=new SimpleDateFormat("String_Node_Str");
  formatter.setTimeZone(tz);
  Date startDate, endDate;
  try {
    startDate=formatter.parse(startTime);
  }
 catch (  ParseException e) {
    throw new IllegalArgumentException(String.format("String_Node_Str",startTime),e);
  }
  try {
    endDate=formatter.parse(endTime);
  }
 catch (  ParseException e) {
    throw new IllegalArgumentException(String.format("String_Node_Str",endTime),e);
  }
  if (startDate.compareTo(endDate) == 0) {
    throw new IllegalArgumentException(String.format("String_Node_Str",startTime,endTime));
  }
  return new ValidationResult(calendar,startDate,endDate);
}
Program: 4995
Project: 4995
Buggy source:
@Override public void register(DatasetDefinitionRegistry registry){
  DatasetDefinition<Table,? extends DatasetAdmin> tableDef=registry.get(Table.class.getName());
  registry.add(new JobQueueDatasetDefinition(JobQueueDataset.class.getName(),tableDef));
  DatasetDefinition<IndexedTable,? extends DatasetAdmin> indexedTableDef=registry.get(IndexedTable.class.getName());
  registry.add(new ProgramScheduleStoreDefinition(ProgramScheduleStoreDataset.class.getName(),indexedTableDef));
}

Fixed version (ground truth):
@Override public void register(DatasetDefinitionRegistry registry){
  DatasetDefinition<Table,? extends DatasetAdmin> tableDef=registry.get(Table.class.getName());
  registry.add(new JobQueueDatasetDefinition(JobQueueDataset.class.getName(),tableDef));
  DatasetDefinition<IndexedTable,? extends DatasetAdmin> indexedTableDef=registry.get(IndexedTable.class.getName());
  registry.add(new ProgramScheduleStoreDefinition(Schedulers.STORE_TYPE_NAME,indexedTableDef));
}
Program: 4996
Project: 4996
Buggy source:
@Test public void checkDatasetType() throws DatasetManagementException {
  DatasetFramework dsFramework=getInjector().getInstance(DatasetFramework.class);
  Assert.assertTrue(dsFramework.hasType(NamespaceId.SYSTEM.datasetType(ProgramScheduleStoreDataset.class.getName())));
}

Fixed version (ground truth):
@Test public void checkDatasetType() throws DatasetManagementException {
  DatasetFramework dsFramework=getInjector().getInstance(DatasetFramework.class);
  Assert.assertTrue(dsFramework.hasType(NamespaceId.SYSTEM.datasetType(Schedulers.STORE_TYPE_NAME)));
}
Program: 4997
Project: 4997
Buggy source:
@VisibleForTesting @Inject public ArtifactRepository(CConfiguration cConf,ArtifactStore artifactStore,MetadataStore metadataStore,PrivilegesManager privilegesManager,ProgramRunnerFactory programRunnerFactory,Impersonator impersonator,AuthorizationEnforcer authorizationEnforcer,AuthenticationContext authenticationContext){
  this.artifactStore=artifactStore;
  this.artifactClassLoaderFactory=new ArtifactClassLoaderFactory(cConf,programRunnerFactory);
  this.artifactInspector=new ArtifactInspector(cConf,artifactClassLoaderFactory);
  this.systemArtifactDirs=new ArrayList<>();
  for (  String dir : cConf.get(Constants.AppFabric.SYSTEM_ARTIFACTS_DIR).split("String_Node_Str")) {
    File file=new File(dir);
    if (!file.isDirectory()) {
      LOG.warn("String_Node_Str",file);
      continue;
    }
    systemArtifactDirs.add(file);
  }
  this.configReader=new ArtifactConfigReader();
  this.metadataStore=metadataStore;
  this.privilegesManager=privilegesManager;
  this.impersonator=impersonator;
  this.authorizationEnforcer=authorizationEnforcer;
  this.authenticationContext=authenticationContext;
}

Fixed version (ground truth):
@VisibleForTesting @Inject public ArtifactRepository(CConfiguration cConf,ArtifactStore artifactStore,MetadataStore metadataStore,PrivilegesManager privilegesManager,ProgramRunnerFactory programRunnerFactory,Impersonator impersonator,AuthorizationEnforcer authorizationEnforcer,AuthenticationContext authenticationContext){
  this.artifactStore=artifactStore;
  this.artifactClassLoaderFactory=new ArtifactClassLoaderFactory(cConf,programRunnerFactory);
  this.artifactInspector=new ArtifactInspector(cConf,artifactClassLoaderFactory);
  this.systemArtifactDirs=new ArrayList<>();
  String systemArtifactsDir=cConf.get(Constants.AppFabric.SYSTEM_ARTIFACTS_DIR);
  if (!Strings.isNullOrEmpty(systemArtifactsDir)) {
    for (    String dir : systemArtifactsDir.split("String_Node_Str")) {
      File file=new File(dir);
      if (!file.isDirectory()) {
        LOG.warn("String_Node_Str",file);
        continue;
      }
      systemArtifactDirs.add(file);
    }
  }
  this.configReader=new ArtifactConfigReader();
  this.metadataStore=metadataStore;
  this.privilegesManager=privilegesManager;
  this.impersonator=impersonator;
  this.authorizationEnforcer=authorizationEnforcer;
  this.authenticationContext=authenticationContext;
}
Program: 4999
Project: 4999
Buggy source:
/** 
 * Prepares the Spark 1 framework on the location
 * @param sparkConf the spark configuration
 * @param locationFactory the {@link LocationFactory} for saving the spark framework jar
 * @return A {@link SparkFramework} containing information about the spark framework in localization context.
 * @throws IOException If failed to prepare the framework.
 */
private static SparkFramework prepareSpark1Framework(Properties sparkConf,LocationFactory locationFactory) throws IOException {
  String sparkYarnJar=sparkConf.getProperty(SPARK_YARN_JAR);
  if (sparkYarnJar != null) {
    Location frameworkLocation=locationFactory.create(URI.create(sparkYarnJar));
    if (frameworkLocation.exists()) {
      return new SparkFramework(new LocalizeResource(resolveURI(frameworkLocation),false),SPARK_YARN_JAR);
    }
    LOG.warn("String_Node_Str",frameworkLocation,SPARK_YARN_JAR);
  }
  File sparkAssemblyJar=Iterables.getFirst(getLocalSparkLibrary(SparkCompat.SPARK1_2_10),null);
  Location frameworkDir=locationFactory.create("String_Node_Str");
  Location frameworkLocation=frameworkDir.append(sparkAssemblyJar.getName());
  if (!frameworkLocation.exists()) {
    frameworkDir.mkdirs("String_Node_Str");
    try (OutputStream os=frameworkLocation.getOutputStream("String_Node_Str")){
      Files.copy(sparkAssemblyJar.toPath(),os);
    }
   }
  return new SparkFramework(new LocalizeResource(resolveURI(frameworkLocation),false),SPARK_YARN_JAR);
}

Fixed version (ground truth):
/** 
 * Prepares the Spark 1 framework on the location
 * @param sparkConf the spark configuration
 * @param locationFactory the {@link LocationFactory} for saving the spark framework jar
 * @return A {@link SparkFramework} containing information about the spark framework in localization context.
 * @throws IOException If failed to prepare the framework.
 */
private static SparkFramework prepareSpark1Framework(Properties sparkConf,LocationFactory locationFactory) throws IOException {
  String sparkYarnJar=sparkConf.getProperty(SPARK_YARN_JAR);
  if (sparkYarnJar != null) {
    URI sparkYarnJarURI=URI.create(sparkYarnJar);
    if (locationFactory.getHomeLocation().toURI().getScheme().equals(sparkYarnJarURI.getScheme())) {
      Location frameworkLocation=locationFactory.create(sparkYarnJarURI);
      if (frameworkLocation.exists()) {
        return new SparkFramework(new LocalizeResource(resolveURI(frameworkLocation),false),SPARK_YARN_JAR);
      }
      LOG.warn("String_Node_Str",frameworkLocation,SPARK_YARN_JAR);
    }
  }
  File sparkAssemblyJar=Iterables.getFirst(getLocalSparkLibrary(SparkCompat.SPARK1_2_10),null);
  Location frameworkDir=locationFactory.create("String_Node_Str");
  Location frameworkLocation=frameworkDir.append(sparkAssemblyJar.getName());
  if (!frameworkLocation.exists()) {
    frameworkDir.mkdirs("String_Node_Str");
    try (OutputStream os=frameworkLocation.getOutputStream("String_Node_Str")){
      Files.copy(sparkAssemblyJar.toPath(),os);
    }
   }
  return new SparkFramework(new LocalizeResource(resolveURI(frameworkLocation),false),SPARK_YARN_JAR);
}
Program: 5001
Project: 5001
Buggy source:
/** 
 * Returns an array of URLs to be used for creation of classloader for Spark, based on the urls used by the given   {@link ClassLoader}.
 */
private URL[] getSparkClassloaderURLs(ClassLoader classLoader) throws IOException {
  List<URL> urls=ClassLoaders.getClassLoaderURLs(classLoader,new LinkedList<URL>());
  if (classLoader.getResource("String_Node_Str") == null) {
    Iterator<URL> itor=urls.iterator();
    while (itor.hasNext()) {
      URL url=itor.next();
      if (url.getPath().contains("String_Node_Str")) {
        itor.remove();
      }
    }
    for (    File file : SparkPackageUtils.getLocalSparkLibrary(providerSparkCompat)) {
      urls.add(file.toURI().toURL());
    }
  }
  return urls.toArray(new URL[urls.size()]);
}

Fixed version (ground truth):
/** 
 * Returns an array of URLs to be used for creation of classloader for Spark, based on the urls used by the given   {@link ClassLoader}.
 */
private URL[] getSparkClassloaderURLs(ClassLoader classLoader) throws IOException {
  List<URL> urls=ClassLoaders.getClassLoaderURLs(classLoader,new LinkedList<URL>());
  if (classLoader.getResource("String_Node_Str") == null) {
    Iterator<URL> itor=urls.iterator();
    while (itor.hasNext()) {
      URL url=itor.next();
      String filename=Paths.get(url.getPath()).getFileName().toString();
      if (filename.startsWith("String_Node_Str") || filename.startsWith("String_Node_Str")) {
        itor.remove();
      }
    }
    for (    File file : SparkPackageUtils.getLocalSparkLibrary(providerSparkCompat)) {
      urls.add(file.toURI().toURL());
    }
  }
  return urls.toArray(new URL[urls.size()]);
}
Program: 5002
Project: 5002
Buggy source:
@Override public boolean acceptPackage(String packageName){
  return !packageName.startsWith("String_Node_Str");
}

Fixed version (ground truth):
@Override public boolean acceptPackage(String packageName){
  return !packageName.startsWith("String_Node_Str") && !packageName.startsWith("String_Node_Str") && !packageName.startsWith("String_Node_Str");
}
Program: 5003
Project: 5003
Buggy source:
@Override public boolean acceptResource(String resource){
  return !resource.startsWith("String_Node_Str") && !"String_Node_Str".equals(resource);
}

Fixed version (ground truth):
@Override public boolean acceptResource(String resource){
  return !resource.startsWith("String_Node_Str") && !resource.startsWith("String_Node_Str") && !resource.startsWith("String_Node_Str")&& !"String_Node_Str".equals(resource);
}
Program: 5004
Project: 5004
Buggy source:
ScalaFilterClassLoader(ClassLoader parent){
  super(new FilterClassLoader(parent,new FilterClassLoader.Filter(){
    @Override public boolean acceptResource(    String resource){
      return !resource.startsWith("String_Node_Str") && !"String_Node_Str".equals(resource);
    }
    @Override public boolean acceptPackage(    String packageName){
      return !packageName.startsWith("String_Node_Str");
    }
  }
));
}

Fixed version (ground truth):
ScalaFilterClassLoader(ClassLoader parent){
  super(new FilterClassLoader(parent,new FilterClassLoader.Filter(){
    @Override public boolean acceptResource(    String resource){
      return !resource.startsWith("String_Node_Str") && !resource.startsWith("String_Node_Str") && !resource.startsWith("String_Node_Str")&& !"String_Node_Str".equals(resource);
    }
    @Override public boolean acceptPackage(    String packageName){
      return !packageName.startsWith("String_Node_Str") && !packageName.startsWith("String_Node_Str") && !packageName.startsWith("String_Node_Str");
    }
  }
));
}
Program: 5005
Project: 5005
Buggy source:
@Override protected void setupLaunchConfig(LaunchConfig launchConfig,Program program,ProgramOptions options,CConfiguration cConf,Configuration hConf,File tempDir) throws IOException {
  hConf.setBoolean(SparkRuntimeContextConfig.HCONF_ATTR_CLUSTER_MODE,true);
  if (SecurityUtil.isKerberosEnabled(cConf)) {
    hConf.setLong(SparkRuntimeContextConfig.HCONF_ATTR_CREDENTIALS_UPDATE_INTERVAL_MS,(long)((secureStoreRenewer.getUpdateInterval() + 5000) / 0.8));
  }
  ApplicationSpecification appSpec=program.getApplicationSpecification();
  SparkSpecification spec=appSpec.getSpark().get(program.getName());
  Map<String,String> clientArgs=RuntimeArguments.extractScope("String_Node_Str","String_Node_Str",options.getUserArguments().asMap());
  Resources resources=SystemArguments.getResources(clientArgs,spec.getClientResources());
  launchConfig.addRunnable(spec.getName(),new SparkTwillRunnable(spec.getName()),resources,1);
  Map<String,LocalizeResource> localizeResources=new HashMap<>();
  Map<String,String> extraEnv=new HashMap<>(SparkPackageUtils.getSparkClientEnv());
  SparkPackageUtils.prepareSparkResources(sparkCompat,locationFactory,tempDir,localizeResources,extraEnv);
  extraEnv.put(Constants.SPARK_COMPAT_ENV,sparkCompat.getCompat());
  launchConfig.addExtraResources(localizeResources).addExtraDependencies(SparkProgramRuntimeProvider.class).addExtraEnv(extraEnv).setClassAcceptor(createBundlerClassAcceptor());
}

Fixed version (ground truth):
@Override protected void setupLaunchConfig(LaunchConfig launchConfig,Program program,ProgramOptions options,CConfiguration cConf,Configuration hConf,File tempDir) throws IOException {
  hConf.setBoolean(SparkRuntimeContextConfig.HCONF_ATTR_CLUSTER_MODE,true);
  hConf.set("String_Node_Str",HiveAuthFactory.HS2_CLIENT_TOKEN);
  if (SecurityUtil.isKerberosEnabled(cConf)) {
    hConf.setLong(SparkRuntimeContextConfig.HCONF_ATTR_CREDENTIALS_UPDATE_INTERVAL_MS,(long)((secureStoreRenewer.getUpdateInterval() + 5000) / 0.8));
  }
  ApplicationSpecification appSpec=program.getApplicationSpecification();
  SparkSpecification spec=appSpec.getSpark().get(program.getName());
  Map<String,String> clientArgs=RuntimeArguments.extractScope("String_Node_Str","String_Node_Str",options.getUserArguments().asMap());
  Resources resources=SystemArguments.getResources(clientArgs,spec.getClientResources());
  launchConfig.addRunnable(spec.getName(),new SparkTwillRunnable(spec.getName()),resources,1);
  Map<String,LocalizeResource> localizeResources=new HashMap<>();
  Map<String,String> extraEnv=new HashMap<>(SparkPackageUtils.getSparkClientEnv());
  SparkPackageUtils.prepareSparkResources(sparkCompat,locationFactory,tempDir,localizeResources,extraEnv);
  extraEnv.put(Constants.SPARK_COMPAT_ENV,sparkCompat.getCompat());
  launchConfig.addExtraResources(localizeResources).addExtraDependencies(SparkProgramRuntimeProvider.class).addExtraEnv(extraEnv).setClassAcceptor(createBundlerClassAcceptor());
}
Program: 5007
Project: 5007
Buggy source:
/** 
 * Create the given streams and the Hive tables for the streams if explore is enabled.
 * @param namespaceId the namespace to have the stream created in
 * @param streamSpecs the set of stream specifications for streams to be created
 * @param ownerPrincipal the principal of the stream owner if one exists else null
 * @throws Exception if there was an exception creating a stream
 */
void createStreams(NamespaceId namespaceId,Iterable<StreamSpecification> streamSpecs,@Nullable KerberosPrincipalId ownerPrincipal) throws Exception {
  for (  StreamSpecification spec : streamSpecs) {
    Properties props=new Properties();
    if (spec.getDescription() != null) {
      props.put(Constants.Stream.DESCRIPTION,spec.getDescription());
    }
    if (ownerPrincipal != null) {
      props.put(Constants.Security.PRINCIPAL,ownerPrincipal.getPrincipal());
    }
    streamAdmin.create(namespaceId.stream(spec.getName()),props);
  }
}

Fixed version (ground truth):
/** 
 * Create the given streams and the Hive tables for the streams if explore is enabled.
 * @param namespaceId the namespace to have the stream created in
 * @param streamSpecs the set of stream specifications for streams to be created
 * @param ownerPrincipal the principal of the stream owner if one exists else null
 * @throws Exception if there was an exception creating a stream
 */
void createStreams(NamespaceId namespaceId,Iterable<StreamSpecification> streamSpecs,@Nullable KerberosPrincipalId ownerPrincipal) throws Exception {
  for (  StreamSpecification spec : streamSpecs) {
    Properties props=new Properties();
    if (spec.getDescription() != null) {
      props.put(Constants.Stream.DESCRIPTION,spec.getDescription());
    }
    if (ownerPrincipal != null) {
      props.put(Constants.Security.PRINCIPAL,ownerPrincipal.getPrincipal());
    }
    if (streamAdmin.create(namespaceId.stream(spec.getName()),props) != null) {
      LOG.info("String_Node_Str",namespaceId.getNamespace(),spec.getName());
    }
  }
}
Program: 5008
Project: 5008
Buggy source:
@Override public void execute(JobExecutionContext context) throws JobExecutionException {
  LOG.debug("String_Node_Str",context.getJobDetail().getKey().toString(),context.getTrigger().getKey().toString());
  Trigger trigger=context.getTrigger();
  String key=trigger.getKey().getName();
  String[] parts=key.split("String_Node_Str");
  Preconditions.checkArgument(parts.length == 6,String.format("String_Node_Str",key,parts.length));
  String namespaceId=parts[0];
  String applicationId=parts[1];
  String appVersion=parts[2];
  String scheduleName=parts[5];
  LOG.debug("String_Node_Str",key);
  ImmutableMap.Builder<String,String> builder=ImmutableMap.builder();
  builder.put(ProgramOptionConstants.SCHEDULE_NAME,scheduleName);
  Map<String,String> userOverrides=ImmutableMap.of(ProgramOptionConstants.LOGICAL_START_TIME,Long.toString(context.getScheduledFireTime().getTime()));
  ScheduleId scheduleId=new ApplicationId(namespaceId,applicationId,appVersion).schedule(scheduleName);
  try {
    taskPublisher.publishNotification(Notification.Type.TIME,scheduleId,builder.build(),userOverrides);
  }
 catch (  Throwable t) {
    LOG.warn("String_Node_Str",scheduleId,t);
    throw new JobExecutionException(t.getMessage(),t.getCause(),false);
  }
}

Fixed version (ground truth):
@Override public void execute(JobExecutionContext context) throws JobExecutionException {
  LOG.debug("String_Node_Str",context.getJobDetail().getKey().toString(),context.getTrigger().getKey().toString());
  Trigger trigger=context.getTrigger();
  String key=trigger.getKey().getName();
  String[] parts=key.split("String_Node_Str");
  Preconditions.checkArgument(parts.length == 6,String.format("String_Node_Str",key,parts.length));
  String namespaceId=parts[0];
  String applicationId=parts[1];
  String appVersion=parts[2];
  String scheduleName=parts[5];
  ImmutableMap.Builder<String,String> builder=ImmutableMap.builder();
  builder.put(ProgramOptionConstants.SCHEDULE_NAME,scheduleName);
  Map<String,String> userOverrides=ImmutableMap.of(ProgramOptionConstants.LOGICAL_START_TIME,Long.toString(context.getScheduledFireTime().getTime()));
  ScheduleId scheduleId=new ApplicationId(namespaceId,applicationId,appVersion).schedule(scheduleName);
  try {
    taskPublisher.publishNotification(Notification.Type.TIME,scheduleId,builder.build(),userOverrides);
  }
 catch (  Throwable t) {
    LOG.warn("String_Node_Str",scheduleId,t);
    throw new JobExecutionException(t.getMessage(),t.getCause(),false);
  }
}
Program: 5009
Project: 5009
Buggy source:
private void alterExploreStream(StreamId stream,boolean enable,@Nullable FormatSpecification format){
  if (cConf.getBoolean(Constants.Explore.EXPLORE_ENABLED)) {
    Preconditions.checkNotNull(exploreFacade,"String_Node_Str");
    try {
      if (enable) {
        exploreFacade.enableExploreStream(stream,tableNaming.getTableName(stream),format);
      }
 else {
        exploreFacade.disableExploreStream(stream,tableNaming.getTableName(stream));
      }
    }
 catch (    Exception e) {
      String msg=String.format("String_Node_Str",enable,stream,e.getMessage());
      LOG.error(msg,e);
    }
  }
}

Fixed version (ground truth):
private void alterExploreStream(StreamId stream,boolean enable,@Nullable FormatSpecification format){
  if (cConf.getBoolean(Constants.Explore.EXPLORE_ENABLED)) {
    Preconditions.checkNotNull(exploreFacade,"String_Node_Str");
    try {
      if (enable) {
        exploreFacade.enableExploreStream(stream,tableNaming.getTableName(stream),format);
        LOG.info("String_Node_Str",stream.getStream());
      }
 else {
        exploreFacade.disableExploreStream(stream,tableNaming.getTableName(stream));
      }
    }
 catch (    Exception e) {
      String msg=String.format("String_Node_Str",enable,stream,e.getMessage());
      LOG.error(msg,e);
    }
  }
}