Program: 115438
Project: 115438
Buggy source:
@Override public void onParentScalingEvent(ScalingEvent scalingEvent){
  if (log.isDebugEnabled()) {
    log.debug("String_Node_Str" + this.getClusterId() + "String_Node_Str"+ scalingEvent.getNetworkPartitionId()+ "String_Node_Str"+ scalingEvent.getId()+ "String_Node_Str"+ scalingEvent.getInstanceId()+ "String_Node_Str"+ scalingEvent.getFactor());
  }
  float scalingFactorBasedOnDependencies=scalingEvent.getFactor();
  ClusterContext vmClusterContext=clusterContext;
  String instanceId=scalingEvent.getInstanceId();
  ClusterInstanceContext clusterInstanceContext=getClusterInstanceContext(scalingEvent.getNetworkPartitionId(),instanceId);
  float requiredInstanceCount=clusterInstanceContext.getMinInstanceCount() * scalingFactorBasedOnDependencies;
  int roundedRequiredInstanceCount=getRoundedInstanceCount(requiredInstanceCount,vmClusterContext.getAutoscalePolicy().getInstanceRoundingFactor());
  clusterInstanceContext.setRequiredInstanceCountBasedOnDependencies(roundedRequiredInstanceCount);
  clusterInstanceContext.getDependentScaleCheckKnowledgeSession().setGlobal("String_Node_Str",getClusterId());
  clusterInstanceContext.getDependentScaleCheckKnowledgeSession().setGlobal("String_Node_Str",roundedRequiredInstanceCount);
  clusterInstanceContext.getDependentScaleCheckKnowledgeSession().setGlobal("String_Node_Str",clusterInstanceContext.getPartitionAlgorithm());
  if (log.isDebugEnabled()) {
    log.debug(String.format("String_Node_Str" + "String_Node_Str",clusterInstanceContext.getId(),clusterId));
  }
  clusterInstanceContext.setDependentScaleCheckFactHandle(evaluate(clusterInstanceContext.getDependentScaleCheckKnowledgeSession(),clusterInstanceContext.getDependentScaleCheckFactHandle(),clusterInstanceContext));
}

Fixed version (ground truth):
@Override public void onParentScalingEvent(ScalingEvent scalingEvent){
  if (log.isDebugEnabled()) {
    log.debug("String_Node_Str" + this.getClusterId() + "String_Node_Str"+ scalingEvent.getNetworkPartitionId()+ "String_Node_Str"+ scalingEvent.getId()+ "String_Node_Str"+ scalingEvent.getInstanceId()+ "String_Node_Str"+ scalingEvent.getFactor());
  }
  float scalingFactorBasedOnDependencies=scalingEvent.getFactor();
  ClusterContext vmClusterContext=clusterContext;
  String instanceId=scalingEvent.getInstanceId();
  ClusterInstanceContext clusterInstanceContext=getClusterInstanceContext(scalingEvent.getNetworkPartitionId(),instanceId);
  float requiredInstanceCount=clusterInstanceContext.getMinInstanceCount() * scalingFactorBasedOnDependencies;
  int roundedRequiredInstanceCount=getRoundedInstanceCount(requiredInstanceCount,vmClusterContext.getAutoscalePolicy().getInstanceRoundingFactor());
  clusterInstanceContext.setRequiredInstanceCountBasedOnDependencies(roundedRequiredInstanceCount);
  clusterInstanceContext.getDependentScaleCheckKnowledgeSession().setGlobal("String_Node_Str",getClusterId());
  clusterInstanceContext.getDependentScaleCheckKnowledgeSession().setGlobal("String_Node_Str",roundedRequiredInstanceCount);
  clusterInstanceContext.getDependentScaleCheckKnowledgeSession().setGlobal("String_Node_Str",clusterInstanceContext.getPartitionAlgorithm());
  clusterInstanceContext.getDependentScaleCheckKnowledgeSession().setGlobal("String_Node_Str",scalingDecisionPublisher);
  if (log.isDebugEnabled()) {
    log.debug(String.format("String_Node_Str" + "String_Node_Str",clusterInstanceContext.getId(),clusterId));
  }
  clusterInstanceContext.setDependentScaleCheckFactHandle(evaluate(clusterInstanceContext.getDependentScaleCheckKnowledgeSession(),clusterInstanceContext.getDependentScaleCheckFactHandle(),clusterInstanceContext));
}