Program: 143976
Project: 143976
Buggy source:
private ConsensusADMMSolver(AbstractBuilder<?> builder){
  super(builder);
  objective=(SumFunction)builder.objective;
  constraintsVariablesIndexes=builder.constraintsVariablesIndexes;
  constraints=builder.constraints;
  maximumNumberOfIterationsWithNoPointChange=builder.maximumNumberOfIterationsWithNoPointChange;
  absoluteTolerance=Math.sqrt(currentPoint.size()) * builder.absoluteTolerance;
  relativeTolerance=builder.relativeTolerance;
  checkForPrimalAndDualResidualConvergence=builder.checkForPrimalAndDualResidualConvergence;
  primalResidualSquaredTerms=Vectors.build(objective.getNumberOfTerms(),VectorType.DENSE);
  mu=builder.mu;
  tauIncrement=builder.tauIncrement;
  tauDecrement=builder.tauDecrement;
  penaltyParameterSettingMethod=builder.penaltyParameterSettingMethod;
  penaltyParameter=builder.penaltyParameter;
  subProblemSolver=builder.subProblemSolver;
  subProblemSelectionMethod=builder.subProblemSelectionMethod;
  subProblemSelector=builder.subProblemSelector;
  numberOfSubProblemSamples=builder.numberOfSubProblemSamples;
  taskExecutor=Executors.newFixedThreadPool(builder.numberOfThreads);
  variableCopiesCounts=Vectors.dense(currentPoint.size());
  for (  int[] variableIndexes : Iterables.concat(objective.getTermVariables(),constraintsVariablesIndexes)) {
    Vector termPoint=Vectors.build(variableIndexes.length,currentPoint.type());
    termPoint.set(currentPoint.get(variableIndexes));
    variableCopies.add(termPoint);
    lagrangeMultipliers.add(Vectors.build(variableIndexes.length,currentPoint.type()));
    for (    int variableIndex : variableIndexes)     variableCopiesCounts.set(variableIndex,variableCopiesCounts.get(variableIndex) + 1);
  }
  variableCopiesSum=currentPoint.multElementwise(variableCopiesCounts);
  if (checkForGradientConvergence || logGradientNorm) {
    try {
      currentGradient=objective.getGradient(currentPoint);
    }
 catch (    NonSmoothFunctionException e) {
      logger.info("String_Node_Str");
    }
  }
  if (checkForObjectiveConvergence || logObjectiveValue)   currentObjectiveValue=objective.getValue(currentPoint);
}

Fixed version (ground truth):
private ConsensusADMMSolver(AbstractBuilder<?> builder){
  super(builder);
  objective=(SumFunction)builder.objective;
  constraintsVariablesIndexes=builder.constraintsVariablesIndexes;
  constraints=builder.constraints;
  maximumNumberOfIterationsWithNoPointChange=builder.maximumNumberOfIterationsWithNoPointChange;
  absoluteTolerance=Math.sqrt(currentPoint.size()) * builder.absoluteTolerance;
  relativeTolerance=builder.relativeTolerance;
  checkForPrimalAndDualResidualConvergence=builder.checkForPrimalAndDualResidualConvergence;
  primalResidualSquaredTerms=Vectors.build(objective.getNumberOfTerms(),VectorType.DENSE);
  mu=builder.mu;
  tauIncrement=builder.tauIncrement;
  tauDecrement=builder.tauDecrement;
  penaltyParameterSettingMethod=builder.penaltyParameterSettingMethod;
  penaltyParameter=builder.penaltyParameter;
  subProblemSolver=builder.subProblemSolver;
  subProblemSelectionMethod=builder.subProblemSelectionMethod;
  subProblemSelector=builder.subProblemSelector;
  numberOfSubProblemSamples=builder.numberOfSubProblemSamples;
  numberOfThreads=builder.numberOfThreads;
  variableCopiesCounts=Vectors.dense(currentPoint.size());
  for (  int[] variableIndexes : Iterables.concat(objective.getTermVariables(),constraintsVariablesIndexes)) {
    Vector termPoint=Vectors.build(variableIndexes.length,currentPoint.type());
    termPoint.set(currentPoint.get(variableIndexes));
    variableCopies.add(termPoint);
    lagrangeMultipliers.add(Vectors.build(variableIndexes.length,currentPoint.type()));
    for (    int variableIndex : variableIndexes)     variableCopiesCounts.set(variableIndex,variableCopiesCounts.get(variableIndex) + 1);
  }
  variableCopiesSum=currentPoint.multElementwise(variableCopiesCounts);
  if (checkForGradientConvergence || logGradientNorm) {
    try {
      currentGradient=objective.getGradient(currentPoint);
    }
 catch (    NonSmoothFunctionException e) {
      logger.info("String_Node_Str");
    }
  }
  if (checkForObjectiveConvergence || logObjectiveValue)   currentObjectiveValue=objective.getValue(currentPoint);
}