Program: 96858
Project: 96858
Buggy source:
private void processResult(VCastResult result,OperationReport report) throws Exception {
  String resultPath=result.getPath();
  String resultPathAbs=vCastDir + File.separator + resultPath;
  File resultsFile=new File(resultPathAbs);
  if (!resultsFile.exists()) {
    report.addEntry("String_Node_Str",String.format("String_Node_Str",resultPathAbs),ERROR);
  }
 else {
    BufferedReader br=null;
    try {
      br=new BufferedReader(new FileReader(resultsFile));
      String resultsLine;
      while ((resultsLine=br.readLine()) != null) {
        if (Strings.isValid(resultsLine)) {
          Result datFileSyntaxResult=VCastValidateDatFileSyntax.validateDatFileSyntax(resultsLine);
          if (!datFileSyntaxResult.isTrue()) {
            report.addEntry("String_Node_Str",String.format("String_Node_Str",resultsFile.getName()),ERROR);
          }
 else {
            Matcher m=fileMethodLineNumberPattern.matcher(resultsLine);
            if (m.find()) {
              if (!alreadyUsedDatIds.contains(resultsLine)) {
                DispoItemData item=datIdToItem.get(generateDatId(m.group(1),m.group(2)));
                String location=m.group(3);
                String text="String_Node_Str";
                Discrepancy matchingDiscrepancy=matchDiscrepancy(location,item.getDiscrepanciesList());
                if (matchingDiscrepancy != null) {
                  text=matchingDiscrepancy.getText();
                  Map<String,Discrepancy> discrepancies=item.getDiscrepanciesList();
                  discrepancies.remove(matchingDiscrepancy.getId());
                  addAnnotationForForCoveredLine(item,location,Test_Unit_Resolution,resultPath,text);
                }
                alreadyUsedDatIds.add(resultsLine);
              }
            }
          }
        }
      }
    }
  finally {
      Lib.close(br);
    }
  }
}

Fixed version (ground truth):
private void processResult(VCastResult result,OperationReport report) throws Exception {
  String resultPath=result.getPath();
  String resultPathAbs=vCastDir + File.separator + resultPath;
  File resultsFile=new File(resultPathAbs);
  if (!resultsFile.exists()) {
    report.addEntry("String_Node_Str",String.format("String_Node_Str",resultPathAbs),ERROR);
  }
 else {
    BufferedReader br=null;
    try {
      br=new BufferedReader(new FileReader(resultsFile));
      String resultsLine;
      while ((resultsLine=br.readLine()) != null) {
        if (Strings.isValid(resultsLine)) {
          Result datFileSyntaxResult=VCastValidateDatFileSyntax.validateDatFileSyntax(resultsLine);
          if (!datFileSyntaxResult.isTrue()) {
            report.addEntry("String_Node_Str",String.format("String_Node_Str",resultsFile.getName()),ERROR);
          }
 else {
            Matcher m=fileMethodLineNumberPattern.matcher(resultsLine);
            if (m.find()) {
              if (!alreadyUsedDatIds.contains(resultsLine)) {
                DispoItemData item=datIdToItem.get(generateDatId(m.group(1),m.group(2)));
                if (item != null) {
                  String location=m.group(3);
                  String text="String_Node_Str";
                  Discrepancy matchingDiscrepancy=matchDiscrepancy(location,item.getDiscrepanciesList());
                  if (matchingDiscrepancy != null) {
                    text=matchingDiscrepancy.getText();
                    Map<String,Discrepancy> discrepancies=item.getDiscrepanciesList();
                    discrepancies.remove(matchingDiscrepancy.getId());
                    addAnnotationForForCoveredLine(item,location,Test_Unit_Resolution,text,resultPath);
                  }
                  alreadyUsedDatIds.add(resultsLine);
                }
              }
            }
          }
        }
      }
    }
  finally {
      Lib.close(br);
    }
  }
}