Program: 96689
Project: 96689
Buggy source:
private void processStatement(VCastInstrumentedFile lisFile,VCastLisFileParser lisFileParser,int fileNum,int functionNum,VCastFunction function,VCastStatementCoverage statementCoverageItem,boolean isMCDCFile,Map<String,Discrepancy> discrepancies,OperationReport report){
  Integer functionNumber=function.getFindex();
  Integer lineNumber=statementCoverageItem.getLine();
  Pair<String,Boolean> lineData=null;
  try {
    lineData=lisFileParser.getSourceCodeForLine(functionNumber,lineNumber);
  }
 catch (  Exception ex) {
    report.addEntry("String_Node_Str",ex.getMessage(),ERROR);
  }
  String location;
  if (lineData != null) {
    boolean isMCDCPair=statementCoverageItem.getIsMCDCPair();
    String text;
    if (isMCDCPair) {
      location=String.format("String_Node_Str",lineNumber,statementCoverageItem.getAbbrevCondition(),"String_Node_Str");
      String location2=String.format("String_Node_Str",lineNumber,statementCoverageItem.getAbbrevCondition(),"String_Node_Str");
      if (!lineData.getFirst().matches("String_Node_Str")) {
        text=statementCoverageItem.getFullCondition();
        addDiscrepancy(discrepancies,location,text);
        addDiscrepancy(discrepancies,location2,text);
      }
 else {
        text=lineData.getFirst().trim();
        addDiscrepancy(discrepancies,location,text);
      }
    }
 else {
      text=lineData.getFirst().trim();
      if (statementCoverageItem.getNumConditions() == 2) {
        location=String.format("String_Node_Str",lineNumber,"String_Node_Str");
        addDiscrepancy(discrepancies,location,text);
        location=String.format("String_Node_Str",lineNumber,"String_Node_Str");
        addDiscrepancy(discrepancies,location,text);
      }
 else {
        location=String.valueOf(lineNumber);
        addDiscrepancy(discrepancies,location,text);
      }
    }
    if (lineData.getSecond()) {
      String datId=generateDatId(fileNum,functionNum,location);
      datIdsCoveredByException.add(datId);
    }
  }
}

Fixed version (ground truth):
private void processStatement(VCastInstrumentedFile lisFile,VCastLisFileParser lisFileParser,int fileNum,int functionNum,VCastFunction function,VCastStatementCoverage statementCoverageItem,boolean isMCDCFile,Map<String,Discrepancy> discrepancies,OperationReport report){
  Integer functionNumber=function.getFindex();
  Integer lineNumber=statementCoverageItem.getLine();
  Pair<String,Boolean> lineData=null;
  try {
    lineData=lisFileParser.getSourceCodeForLine(functionNumber,lineNumber);
  }
 catch (  Exception ex) {
    report.addEntry("String_Node_Str",ex.getMessage(),ERROR);
  }
  String location="String_Node_Str";
  if (lineData != null) {
    boolean isMCDCPair=statementCoverageItem.getIsMCDCPair();
    String text;
    if (isMCDCPair) {
      location=String.format("String_Node_Str",lineNumber,statementCoverageItem.getAbbrevCondition(),"String_Node_Str");
      String location2=String.format("String_Node_Str",lineNumber,statementCoverageItem.getAbbrevCondition(),"String_Node_Str");
      if (!lineData.getFirst().matches(WHEN_FOR)) {
        text=statementCoverageItem.getFullCondition();
        addDiscrepancy(discrepancies,location,text);
        addDiscrepancy(discrepancies,location2,text);
      }
 else {
        text=lineData.getFirst().trim();
        addDiscrepancy(discrepancies,location,text);
      }
    }
 else {
      text=lineData.getFirst().trim();
      if (statementCoverageItem.getNumConditions() == 2) {
        location=String.format("String_Node_Str",lineNumber,"String_Node_Str");
        String locationF=String.format("String_Node_Str",lineNumber,"String_Node_Str");
        if (!lineData.getFirst().matches(WHEN_FOR) && !lineData.getFirst().matches(EXIT_WHEN) && !lineData.getFirst().matches(LOG)) {
          addDiscrepancy(discrepancies,location,text);
          addDiscrepancy(discrepancies,locationF,text);
        }
 else {
          addDiscrepancy(discrepancies,location,text);
        }
      }
 else {
        location=String.valueOf(lineNumber);
        addDiscrepancy(discrepancies,location,text);
      }
    }
    if (lineData.getSecond()) {
      String datId=generateDatId(fileNum,functionNum,location);
      datIdsCoveredByException.add(datId);
    }
  }
}