Program: 108141
Project: 108141
Buggy source:
/** 
 * Semantics of method name: monotonicity of criteria + monotonicity of metric.
 * @param solutionSpace
 * @param checker
 * @param strategy
 * @return
 */
private static AbstractAlgorithm createFullFull(final SolutionSpace solutionSpace,final NodeChecker checker,final FLASHStrategy strategy){
  PredictiveProperty anonymityProperty=solutionSpace.getPropertyAnonymous();
  NodeAction triggerSkip=new NodeAction(){
    @Override public boolean appliesTo(    Transformation node){
      return node.hasProperty(solutionSpace.getPropertyAnonymous()) || node.hasProperty(solutionSpace.getPropertyNotAnonymous());
    }
  }
;
  NodeAction triggerTag=new NodeAction(){
    @Override public void action(    Transformation node){
      if (node.hasProperty(solutionSpace.getPropertyAnonymous())) {
        node.setPropertyToNeighbours(solutionSpace.getPropertyAnonymous());
        node.setPropertyToNeighbours(solutionSpace.getPropertySuccessorsPruned());
        node.setProperty(solutionSpace.getPropertySuccessorsPruned());
      }
 else {
        node.setPropertyToNeighbours(solutionSpace.getPropertyNotAnonymous());
      }
    }
    @Override public boolean appliesTo(    Transformation node){
      return node.hasProperty(solutionSpace.getPropertyAnonymous()) || node.hasProperty(solutionSpace.getPropertyNotAnonymous());
    }
  }
;
  NodeAction triggerEvaluate=new NodeActionConstant(false);
  NodeAction triggerCheck=new NodeActionInverse(triggerSkip);
  NodeAction triggerFireEvent=new NodeActionOR(triggerSkip){
    @Override protected boolean additionalConditionAppliesTo(    Transformation node){
      return node.hasProperty(solutionSpace.getPropertySuccessorsPruned());
    }
  }
;
  FLASHConfiguration config=FLASHConfiguration.createBinaryPhaseConfiguration(new FLASHPhaseConfiguration(anonymityProperty,triggerTag,triggerCheck,triggerEvaluate,triggerSkip),triggerFireEvent,StorageStrategy.NON_ANONYMOUS,false,true);
  return new FLASHAlgorithmImpl(solutionSpace,checker,strategy,config);
}

Fixed version (ground truth):
/** 
 * Semantics of method name: monotonicity of criteria + monotonicity of metric.
 * @param solutionSpace
 * @param checker
 * @param strategy
 * @return
 */
private static AbstractAlgorithm createFullFull(final SolutionSpace solutionSpace,final NodeChecker checker,final FLASHStrategy strategy){
  PhaseAnonymityProperty anonymityProperty=PhaseAnonymityProperty.ANONYMITY;
  NodeAction triggerSkip=new NodeAction(){
    @Override public boolean appliesTo(    Transformation node){
      return node.hasProperty(solutionSpace.getPropertyAnonymous()) || node.hasProperty(solutionSpace.getPropertyNotAnonymous());
    }
  }
;
  NodeAction triggerTag=new NodeAction(){
    @Override public void action(    Transformation node){
      if (node.hasProperty(solutionSpace.getPropertyAnonymous())) {
        node.setPropertyToNeighbours(solutionSpace.getPropertyAnonymous());
        node.setPropertyToNeighbours(solutionSpace.getPropertySuccessorsPruned());
        node.setProperty(solutionSpace.getPropertySuccessorsPruned());
      }
 else {
        node.setPropertyToNeighbours(solutionSpace.getPropertyNotAnonymous());
      }
    }
    @Override public boolean appliesTo(    Transformation node){
      return node.hasProperty(solutionSpace.getPropertyAnonymous()) || node.hasProperty(solutionSpace.getPropertyNotAnonymous());
    }
  }
;
  NodeAction triggerEvaluate=new NodeActionConstant(false);
  NodeAction triggerCheck=new NodeActionInverse(triggerSkip);
  NodeAction triggerFireEvent=new NodeActionOR(triggerSkip){
    @Override protected boolean additionalConditionAppliesTo(    Transformation node){
      return node.hasProperty(solutionSpace.getPropertySuccessorsPruned());
    }
  }
;
  FLASHConfiguration config=FLASHConfiguration.createBinaryPhaseConfiguration(new FLASHPhaseConfiguration(anonymityProperty,triggerTag,triggerCheck,triggerEvaluate,triggerSkip),triggerFireEvent,StorageStrategy.NON_ANONYMOUS,false,true);
  return new FLASHAlgorithmImpl(solutionSpace,checker,strategy,config);
}