Program: 96659
Project: 96659
Buggy source:
private void handelReqTrace(String path,TraceMark traceMark,File sourceFile) throws OseeCoreException, IOException {
  Artifact reqArtifact=null;
  String foundStr;
  String subSystem=null;
  String textContent=null;
  boolean traceMatch=false;
  subSystem=(isGitBased) ? getSubsystem(sourceFile.getPath(),gitSubsystemMatcher) : getSubsystem(sourceFile.getPath(),subsystemMatcher);
  if (traceMark.getTraceType().equals("String_Node_Str")) {
    foundStr="String_Node_Str";
  }
 else {
    reqArtifact=requirementData.getRequirementFromTraceMark(traceMark.getRawTraceMark());
    if (reqArtifact == null) {
      Pair<String,String> structuredRequirement=getStructuredRequirement(traceMark.getRawTraceMark());
      if (structuredRequirement != null) {
        reqArtifact=requirementData.getRequirementFromTraceMark(structuredRequirement.getFirst());
        if (reqArtifact == null) {
          foundStr="String_Node_Str";
        }
 else {
          if (reqArtifact.getAttributeCount(CoreAttributeTypes.WordTemplateContent) > 0) {
            textContent=WordUtil.textOnly(reqArtifact.getSoleAttributeValue(CoreAttributeTypes.WordTemplateContent,"String_Node_Str")).toUpperCase();
          }
 else {
            List<Attribute<?>> attributes=reqArtifact.getAttributes();
            for (            Attribute<?> attribute : attributes) {
              textContent=textContent + attribute.toString();
            }
          }
          if (textContent != null && (textContent.contains(structuredRequirement.getSecond()) || textContent.contains(getCanonicalRequirementName(structuredRequirement.getSecond())))) {
            foundStr="String_Node_Str";
          }
 else {
            foundStr="String_Node_Str";
          }
        }
      }
 else {
        foundStr="String_Node_Str";
      }
    }
 else {
      foundStr=fullMatch(reqArtifact);
      List<String> partitions=reqArtifact.getAttributesToStringList(CoreAttributeTypes.Partition);
      if (partitions.contains(subSystem)) {
        traceMatch=true;
      }
    }
  }
  String name=null;
  if (reqArtifact != null) {
    name=reqArtifact.getName();
    String inspection=getInspectionQual(reqArtifact);
    if (Strings.isValid(inspection)) {
      requirementToCodeUnitsMap.put(reqArtifact,inspection);
    }
    requirementToCodeUnitsMap.put(reqArtifact,path);
  }
  if (writeOutResults) {
    excelWriter.writeRow(foundStr,subSystem,path,name,traceMark,traceMatch);
  }
}

Fixed version (ground truth):
private void handelReqTrace(String path,TraceMark traceMark,File sourceFile) throws OseeCoreException, IOException {
  Artifact reqArtifact=null;
  String foundStr;
  String subSystem=null;
  String textContent=null;
  boolean traceMatch=false;
  subSystem=(isGitBased) ? getSubsystem(sourceFile.getPath(),gitSubsystemMatcher) : getSubsystem(sourceFile.getPath(),subsystemMatcher);
  if (traceMark.getTraceType().equals("String_Node_Str")) {
    foundStr="String_Node_Str";
  }
 else {
    reqArtifact=requirementData.getRequirementFromTraceMark(traceMark.getRawTraceMark());
    if (reqArtifact == null) {
      Pair<String,String> structuredRequirement=getStructuredRequirement(traceMark.getRawTraceMark());
      if (structuredRequirement != null) {
        reqArtifact=requirementData.getRequirementFromTraceMark(structuredRequirement.getFirst());
        if (reqArtifact == null) {
          foundStr="String_Node_Str";
        }
 else {
          if (reqArtifact.getAttributeCount(CoreAttributeTypes.WordTemplateContent) > 0) {
            textContent=WordUtil.textOnly(reqArtifact.getSoleAttributeValue(CoreAttributeTypes.WordTemplateContent,"String_Node_Str")).toUpperCase();
          }
 else {
            List<Attribute<?>> attributes=reqArtifact.getAttributes();
            for (            Attribute<?> attribute : attributes) {
              textContent=textContent + attribute.toString();
            }
          }
          if (textContent != null && (textContent.contains(structuredRequirement.getSecond()) || textContent.contains(getCanonicalRequirementName(structuredRequirement.getSecond())))) {
            foundStr="String_Node_Str";
          }
 else {
            foundStr="String_Node_Str";
          }
        }
      }
 else {
        foundStr="String_Node_Str";
      }
    }
 else {
      foundStr=fullMatch(reqArtifact);
      List<String> partitions=reqArtifact.getAttributesToStringList(CoreAttributeTypes.Partition);
      if (partitions.contains(subSystem)) {
        traceMatch=true;
      }
    }
  }
  String name=null;
  if (reqArtifact != null) {
    name=reqArtifact.getName();
    String inspection=getInspectionQual(reqArtifact);
    if (Strings.isValid(inspection)) {
      requirementToCodeUnitsMap.put(reqArtifact,inspection);
    }
 else {
      requirementToCodeUnitsMap.put(reqArtifact,path);
    }
  }
  if (writeOutResults) {
    excelWriter.writeRow(foundStr,subSystem,path,name,traceMark,traceMatch);
  }
}