Program: 131644
Project: 131644
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(prm.parsePrm,cplex);
  mp.pp=builder.buildDmvTreeProgram(corpus);
  builder.addConsToMatrix(mp.pp,mp.origMatrix);
  DimReducer dr=new DimReducer(prm.drPrm);
  mp.drMatrix=cplex.LPMatrix("String_Node_Str");
  dr.reduceDimensionality(mp.origMatrix,mp.drMatrix);
  if (mp.drMatrix.getNrows() == 0) {
    mp.drMatrix=null;
  }
  RltPrm rltPrm=prm.rltPrm;
  if (prm.objVarFilter) {
    if (rltPrm.rowAdder != null && rltPrm.factorFilter != null) {
      log.warn("String_Node_Str");
    }
    rltPrm.factorFilter=new VarRltFactorFilter(getObjVarCols());
    rltPrm.rowAdder=new VarRltRowAdder(getObjVarPairs());
  }
 else {
    rltPrm.rowAdder=new UnionRltRowAdder(new VarRltRowAdder(getObjVarPairs()),rltPrm.rowAdder);
  }
  if (mp.drMatrix == null) {
    log.info("String_Node_Str");
    mp.rlt=new Rlt(cplex,mp.origMatrix,rltPrm);
    IloLPMatrix rltMat=mp.rlt.getRltMatrix();
    cplex.add(mp.origMatrix);
    cplex.add(rltMat);
  }
 else {
    log.info("String_Node_Str");
    mp.rlt=new Rlt(cplex,mp.drMatrix,rltPrm);
    IloLPMatrix rltMat=mp.rlt.getRltMatrix();
    cplex.add(mp.origMatrix);
    cplex.add(mp.drMatrix);
    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]);
    }
  }
  log.info(CplexUtils.getMatrixStats(mp.origMatrix));
  if (mp.drMatrix != null) {
    log.info(CplexUtils.getMatrixStats(mp.drMatrix));
  }
  log.info(CplexUtils.getMatrixStats(mp.rlt.getRltMatrix()));
}

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(prm.parsePrm,cplex);
  mp.pp=builder.buildDmvTreeProgram(corpus);
  builder.addConsToMatrix(mp.pp,mp.origMatrix);
  DimReducer dr=new DimReducer(prm.drPrm);
  mp.drMatrix=cplex.LPMatrix("String_Node_Str");
  dr.reduceDimensionality(mp.origMatrix,mp.drMatrix);
  if (mp.drMatrix.getNrows() == 0) {
    mp.drMatrix=null;
  }
  RltPrm rltPrm=prm.rltPrm;
  if (prm.objVarFilter) {
    if (rltPrm.rowAdder != null && rltPrm.factorFilter != null) {
      log.warn("String_Node_Str");
    }
    rltPrm.factorFilter=new VarRltFactorFilter(getObjVarCols());
    rltPrm.rowAdder=new VarRltRowAdder(getObjVarPairs(),false);
  }
 else {
    VarRltRowAdder envelopeAdder=new VarRltRowAdder(getObjVarPairs(),true);
    rltPrm.rowAdder=new UnionRltRowAdder(envelopeAdder,rltPrm.rowAdder);
  }
  if (mp.drMatrix == null) {
    log.info("String_Node_Str");
    mp.rlt=new Rlt(cplex,mp.origMatrix,rltPrm);
    IloLPMatrix rltMat=mp.rlt.getRltMatrix();
    cplex.add(mp.origMatrix);
    cplex.add(rltMat);
  }
 else {
    log.info("String_Node_Str");
    mp.rlt=new Rlt(cplex,mp.drMatrix,rltPrm);
    IloLPMatrix rltMat=mp.rlt.getRltMatrix();
    cplex.add(mp.origMatrix);
    cplex.add(mp.drMatrix);
    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]);
    }
  }
  log.info(CplexUtils.getMatrixStats(mp.origMatrix));
  if (mp.drMatrix != null) {
    log.info(CplexUtils.getMatrixStats(mp.drMatrix));
  }
  log.info(CplexUtils.getMatrixStats(mp.rlt.getRltMatrix()));
}