Program: 96034
Project: 96034
Buggy source:
/** 
 * Adds the parameters from the given Test Step to the given result node.
 * @param testStep The Test Step from which to copy the parameter info.
 * @param resultNode The result node to which the parameter info willbe copied.
 */
private void addParameters(ICapPO testStep,TestResultNode resultNode){
  List<IParamDescriptionPO> parameterList=testStep.getParameterList();
  String value=null;
  for (  IParamDescriptionPO desc : parameterList) {
    ITDManager tdManager=null;
    try {
      tdManager=m_externalTestDataBP.getExternalCheckedTDManager(testStep);
    }
 catch (    JBException e) {
      log.error(Messages.TestDataNotAvailable + StringConstants.DOT,e);
    }
    TestExecution te=TestExecution.getInstance();
    List<ExecObject> stackList=new ArrayList<ExecObject>(te.getTrav().getExecStackAsList());
    int dataSetIndex=0;
    if (tdManager.findColumnForParam(desc.getUniqueId()) == -1) {
      IParameterInterfacePO referencedDataCube=testStep.getReferencedDataCube();
      if (referencedDataCube != null) {
        desc=referencedDataCube.getParameterForName(desc.getName());
      }
    }
    ITestDataPO date=tdManager.getCell(dataSetIndex,desc);
    ParamValueConverter conv=new ModelParamValueConverter(date.getValue(te.getLocale()),testStep,te.getLocale(),desc);
    try {
      value=conv.getExecutionString(stackList,te.getLocale());
    }
 catch (    InvalidDataException e) {
      log.error(e.getMessage());
      value=MessageIDs.getMessageObject(e.getErrorId()).getMessage(new Object[]{});
    }
    resultNode.addParameter(new TestResultParameter(desc.getUniqueId(),desc.getType(),StringUtils.defaultString(value)));
  }
}

Fixed version (ground truth):
/** 
 * Adds the parameters from the given Test Step to the given result node.
 * @param testStep The Test Step from which to copy the parameter info.
 * @param resultNode The result node to which the parameter info willbe copied.
 */
private void addParameters(ICapPO testStep,TestResultNode resultNode){
  List<IParamDescriptionPO> parameterList=testStep.getParameterList();
  String value=null;
  for (  IParamDescriptionPO desc : parameterList) {
    ITDManager tdManager=null;
    try {
      tdManager=m_externalTestDataBP.getExternalCheckedTDManager(testStep);
    }
 catch (    JBException e) {
      log.error(Messages.TestDataNotAvailable + StringConstants.DOT,e);
    }
    TestExecution te=TestExecution.getInstance();
    List<ExecObject> stackList=new ArrayList<ExecObject>(te.getTrav().getExecStackAsList());
    int dataSetIndex=0;
    if (tdManager.findColumnForParam(desc.getUniqueId()) == -1) {
      IParameterInterfacePO referencedDataCube=testStep.getReferencedDataCube();
      if (referencedDataCube != null) {
        desc=referencedDataCube.getParameterForName(desc.getName());
      }
    }
    ITestDataPO date=tdManager.getCell(dataSetIndex,desc);
    ParamValueConverter conv=new ModelParamValueConverter(date.getValue(te.getLocale()),testStep,te.getLocale(),desc);
    try {
      value=conv.getExecutionString(stackList,te.getLocale());
    }
 catch (    InvalidDataException e) {
      log.error(e.getMessage());
      value=MessageIDs.getMessageObject(e.getErrorId()).getMessage(new Object[]{});
    }
    resultNode.addParameter(new TestResultParameter(CompSystemI18n.getString(desc.getUniqueId()),CompSystemI18n.getString(desc.getType()),StringUtils.defaultString(value)));
  }
}