Program: 144034
Project: 144034
Buggy source:
private ConsensusAlternatingDirectionsMethodOfMultipliersSolver(AbstractBuilder<?> builder){
  super(builder);
  objective=(SumFunction)builder.objective;
  constraintsVariablesIndexes=builder.constraintsVariablesIndexes;
  constraints=builder.constraints;
  primalResidualTolerance=builder.primalResidualTolerance;
  dualResidualTolerance=builder.dualResidualTolerance;
  checkForPrimalResidualConvergence=builder.checkForPrimalResidualConvergence;
  checkForDualResidualConvergence=builder.checkForDualResidualConvergence;
  checkForPrimalAndDualResidualConvergence=builder.checkForPrimalAndDualResidualConvergence;
  penaltyParameterSettingMethod=builder.penaltyParameterSettingMethod;
  mu=builder.mu;
  tauIncrement=builder.tauIncrement;
  tauDecrement=builder.tauDecrement;
  penaltyParameter=builder.penaltyParameter;
  subProblemSolver=builder.subProblemSolver;
  taskExecutor=Executors.newFixedThreadPool(builder.numberOfThreads);
  variableCopiesCounts=Vectors.dense(currentPoint.size());
  for (  int[] variableIndexes : objective.getTermsVariables()) {
    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);
  }
  for (  int[] variableIndexes : 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);
  }
}

Fixed version (ground truth):
private ConsensusAlternatingDirectionsMethodOfMultipliersSolver(AbstractBuilder<?> builder){
  super(builder);
  objective=(SumFunction)builder.objective;
  constraintsVariablesIndexes=builder.constraintsVariablesIndexes;
  constraints=builder.constraints;
  absoluteTolerance=builder.absoluteTolerance;
  relativeTolerance=builder.relativeTolerance;
  checkForPrimalAndDualResidualConvergence=builder.checkForPrimalAndDualResidualConvergence;
  primalResidualSquaredTerms=Vectors.build(objective.getNumberOfTerms(),VectorType.DENSE);
  primalToleranceSquaredTerms=Vectors.build(objective.getNumberOfTerms(),VectorType.DENSE);
  dualToleranceSquaredTerms=Vectors.build(objective.getNumberOfTerms(),VectorType.DENSE);
  penaltyParameterSettingMethod=builder.penaltyParameterSettingMethod;
  mu=builder.mu;
  tauIncrement=builder.tauIncrement;
  tauDecrement=builder.tauDecrement;
  penaltyParameter=builder.penaltyParameter;
  subProblemSolver=builder.subProblemSolver;
  taskExecutor=Executors.newFixedThreadPool(builder.numberOfThreads);
  variableCopiesCounts=Vectors.dense(currentPoint.size());
  for (  int[] variableIndexes : objective.getTermsVariables()) {
    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);
  }
  for (  int[] variableIndexes : 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);
  }
}