Program: 131686
Project: 131686
Buggy source:
private void buildModel(IloCplex cplex,DmvSolution initFeasSol) throws IloException {
  this.bounds=new CptBounds(this.idm);
  mp=new LpProblem();
  mp.origMatrix=cplex.LPMatrix("String_Node_Str");
  sto.init(cplex,mp.origMatrix,idm,bounds);
  int numConds=idm.getNumConds();
  sto.createModelParamVars();
  sto.addModelParamConstraints();
  DmvParseLpBuilder builder=new DmvParseLpBuilder(cplex,IlpFormulation.FLOW_PROJ_LPRELAX_FCOBJ);
  mp.pp=builder.buildDmvTreeProgram(corpus);
  builder.addConsToMatrix(mp.pp,mp.origMatrix);
  RltPrm rltPrm=prm.rltPrm;
  rltPrm.alwaysKeepRowFilter=new VarRltRowFilter(getObjVarPairs());
  if (prm.objVarFilter) {
    if (rltPrm.rowFilter != null && rltPrm.factorFilter != null) {
      log.warn("String_Node_Str");
    }
    rltPrm.rowFilter=new VarRltRowFilter(getObjVarPairs());
    rltPrm.factorFilter=new VarRltFactorFilter(getObjVarCols());
  }
  mp.rlt=new Rlt(cplex,mp.origMatrix,rltPrm);
  IloLPMatrix rltMat=mp.rlt.getRltMatrix();
  cplex.add(mp.origMatrix);
  cplex.add(rltMat);
  mp.objective=cplex.addMinimize();
  int[][] totSupFreqCm=idm.getTotSupervisedFreqCm(corpus);
  for (int c=0; c < numConds; c++) {
    for (int m=0; m < idm.getNumParams(c); m++) {
      if (totSupFreqCm[c][m] != 0) {
        cplex.setLinearCoef(mp.objective,-totSupFreqCm[c][m],sto.modelParamVars[c][m]);
      }
    }
  }
  mp.objVars=new IloNumVar[numConds][];
  for (int c=0; c < numConds; c++) {
    int numParams=idm.getNumParams(c);
    mp.objVars[c]=new IloNumVar[numParams];
    for (int m=0; m < numParams; m++) {
      mp.objVars[c][m]=mp.rlt.getRltVar(sto.modelParamVars[c][m],mp.pp.featCountVars[c][m]);
      cplex.setLinearCoef(mp.objective,-1.0,mp.objVars[c][m]);
    }
  }
}

Fixed version (ground truth):
private void buildModel(IloCplex cplex,DmvSolution initFeasSol) throws IloException {
  this.bounds=new CptBounds(this.idm);
  mp=new LpProblem();
  mp.origMatrix=cplex.LPMatrix("String_Node_Str");
  sto.init(cplex,mp.origMatrix,idm,bounds);
  int numConds=idm.getNumConds();
  sto.createModelParamVars();
  sto.addModelParamConstraints();
  DmvParseLpBuilder builder=new DmvParseLpBuilder(cplex,IlpFormulation.FLOW_PROJ_LPRELAX_FCOBJ);
  mp.pp=builder.buildDmvTreeProgram(corpus);
  builder.addConsToMatrix(mp.pp,mp.origMatrix);
  RltPrm rltPrm=prm.rltPrm;
  rltPrm.alwaysKeepRowFilter=new VarRltRowFilter(getObjVarPairs());
  if (prm.objVarFilter) {
    if (rltPrm.rowFilter != null && rltPrm.factorFilter != null) {
      log.warn("String_Node_Str");
    }
    rltPrm.rowFilter=new VarRltRowFilter(getObjVarPairs());
    rltPrm.factorFilter=new VarRltFactorFilter(getObjVarCols());
  }
  mp.rlt=new Rlt(cplex,mp.origMatrix,rltPrm);
  IloLPMatrix rltMat=mp.rlt.getRltMatrix();
  cplex.add(mp.origMatrix);
  cplex.add(rltMat);
  mp.objective=cplex.addMinimize();
  mp.objVars=new IloNumVar[numConds][];
  for (int c=0; c < numConds; c++) {
    int numParams=idm.getNumParams(c);
    mp.objVars[c]=new IloNumVar[numParams];
    for (int m=0; m < numParams; m++) {
      mp.objVars[c][m]=mp.rlt.getRltVar(sto.modelParamVars[c][m],mp.pp.featCountVars[c][m]);
      cplex.setLinearCoef(mp.objective,-1.0,mp.objVars[c][m]);
    }
  }
}