Program: 19816
Project: 19816
Buggy source:
/** 
 * Initializes this ParallelSearchManager with the given context, linguist, scorer, and pruner. Note that the given pruner is unused in this ParallelSearchManager, since we use the FeatureScorePruner and the CombinedScorePruner.
 * @param context the context to use
 * @param linguist the Linguist to use
 * @param scorer the AcousticScorer to use
 * @param pruner the Pruner to use
 */
public void initialize(String context,Linguist linguist,AcousticScorer scorer,Pruner pruner){
  this.props=SphinxProperties.getSphinxProperties(context);
  this.linguist=linguist;
  this.scorer=scorer;
  this.doFeaturePruning=props.getBoolean(PROP_DO_FEATURE_PRUNING,PROP_DO_FEATURE_PRUNING_DEFAULT);
  this.doCombinePruning=props.getBoolean(PROP_DO_COMBINE_PRUNING,PROP_DO_COMBINE_PRUNING_DEFAULT);
  if (doFeaturePruning) {
    this.featureScorePruner=new FeatureScorePruner();
    this.featureScorePruner.initialize(context);
  }
  if (doCombinePruning) {
    this.combinedScorePruner=new CombinedScorePruner();
    this.combinedScorePruner.initialize(context);
  }
  this.featureScoreCombiner=new FeatureScoreCombiner();
  this.scoreTimer=Timer.getTimer(context,"String_Node_Str");
  this.pruneTimer=Timer.getTimer(context,"String_Node_Str");
  this.growTimer=Timer.getTimer(context,"String_Node_Str");
  bestTokenMap=new HashMap();
  List models=AcousticModel.getNames(context);
  assert(models.size() > 0);
  float defaultEta=1.f / models.size();
  for (Iterator i=models.iterator(); i.hasNext(); ) {
    String modelName=(String)i.next();
    float eta=props.getFloat(PROP_PREFIX + modelName + "String_Node_Str",defaultEta);
    FeatureStream stream=FeatureStream.getFeatureStream(modelName);
    stream.setEta(eta);
    System.out.println("String_Node_Str" + modelName + "String_Node_Str"+ eta);
  }
}

Fixed version (ground truth):
/** 
 * Initializes this ParallelSearchManager with the given context, linguist, scorer, and pruner. Note that the given pruner is unused in this ParallelSearchManager, since we use the FeatureScorePruner and the CombinedScorePruner.
 * @param context the context to use
 * @param linguist the Linguist to use
 * @param scorer the AcousticScorer to use
 * @param pruner the Pruner to use
 */
public void initialize(String context,Linguist linguist,AcousticScorer scorer,Pruner pruner){
  this.props=SphinxProperties.getSphinxProperties(context);
  this.linguist=linguist;
  this.scorer=scorer;
  this.doFeaturePruning=props.getBoolean(PROP_DO_FEATURE_PRUNING,PROP_DO_FEATURE_PRUNING_DEFAULT);
  this.doCombinePruning=props.getBoolean(PROP_DO_COMBINE_PRUNING,PROP_DO_COMBINE_PRUNING_DEFAULT);
  if (doFeaturePruning) {
    this.featureScorePruner=new FeatureScorePruner();
    this.featureScorePruner.initialize(context);
  }
  if (doCombinePruning) {
    this.combinedScorePruner=new CombinedScorePruner();
    this.combinedScorePruner.initialize(context);
  }
  this.featureScoreCombiner=new FeatureScoreCombiner();
  this.scoreTimer=Timer.getTimer(context,"String_Node_Str");
  this.pruneTimer=Timer.getTimer(context,"String_Node_Str");
  this.growTimer=Timer.getTimer(context,"String_Node_Str");
  bestTokenMap=new HashMap();
  Collection models=AcousticModelFactory.getNames(props);
  assert(models.size() > 0);
  float defaultEta=1.f / models.size();
  for (Iterator i=models.iterator(); i.hasNext(); ) {
    String modelName=(String)i.next();
    float eta=props.getFloat(PROP_PREFIX + modelName + "String_Node_Str",defaultEta);
    FeatureStream stream=FeatureStream.getFeatureStream(modelName);
    stream.setEta(eta);
    System.out.println("String_Node_Str" + modelName + "String_Node_Str"+ eta);
  }
}