nus-yam/ex-repair huggingface dataset:
Program: 19640
Project: 19640
Buggy source:
/** 
 * Routine to compute Linear Prediction Coefficients for a frame of speech. Returns the energy of the frame (alpha in the Levinson recursion) Assumes the following sign convention:<br> prediction(x[t]) = Sum_i {Ar[i] * x[t-i]}
 * @param autocor
 */
public double[] getARFilter(double[] autocor){
  if (autocor[0] == 0) {
    return null;
  }
  reflectionCoeffs=new double[order + 1];
  ARParameters=new double[order + 1];
  double[] backwardPredictor=new double[order + 1];
  alpha=autocor[0];
  reflectionCoeffs[1]=-autocor[1] / autocor[0];
  ARParameters[0]=1.0;
  ARParameters[1]=reflectionCoeffs[1];
  alpha*=(1 - reflectionCoeffs[1] * reflectionCoeffs[1]);
  for (int i=2; i <= order; i++) {
    for (int j=1; j < i; j++) {
      backwardPredictor[j]=ARParameters[i - j];
    }
    reflectionCoeffs[i]=0;
    for (int j=0; j < i; j++) {
      reflectionCoeffs[i]-=ARParameters[j] * autocor[i - j];
    }
    reflectionCoeffs[i]/=alpha;
    for (int j=1; j < i; j++) {
      ARParameters[j]+=reflectionCoeffs[i] * backwardPredictor[j];
    }
    ARParameters[i]=reflectionCoeffs[i];
    alpha*=(1 - reflectionCoeffs[i] * reflectionCoeffs[i]);
    if (alpha <= 0.0) {
      return null;
    }
  }
  return ARParameters;
}

Fixed version (ground truth):
/** 
 * Routine to compute Linear Prediction Coefficients for a frame of speech. Returns the energy of the frame (alpha in the Levinson recursion) Assumes the following sign convention:<br> prediction(x[t]) = Sum_i {Ar[i] * x[t-i]}
 * @param autocor
 * @return
 */
public double[] getARFilter(double[] autocor){
  if (autocor[0] == 0) {
    return null;
  }
  reflectionCoeffs=new double[order + 1];
  ARParameters=new double[order + 1];
  double[] backwardPredictor=new double[order + 1];
  alpha=autocor[0];
  reflectionCoeffs[1]=-autocor[1] / autocor[0];
  ARParameters[0]=1.0;
  ARParameters[1]=reflectionCoeffs[1];
  alpha*=(1 - reflectionCoeffs[1] * reflectionCoeffs[1]);
  for (int i=2; i <= order; i++) {
    for (int j=1; j < i; j++) {
      backwardPredictor[j]=ARParameters[i - j];
    }
    reflectionCoeffs[i]=0;
    for (int j=0; j < i; j++) {
      reflectionCoeffs[i]-=ARParameters[j] * autocor[i - j];
    }
    reflectionCoeffs[i]/=alpha;
    for (int j=1; j < i; j++) {
      ARParameters[j]+=reflectionCoeffs[i] * backwardPredictor[j];
    }
    ARParameters[i]=reflectionCoeffs[i];
    alpha*=(1 - reflectionCoeffs[i] * reflectionCoeffs[i]);
    if (alpha <= 0.0) {
      return null;
    }
  }
  return ARParameters;
}
Program: 19641
Project: 19641
Buggy source:
/** 
 * Process data, creating the PLP cepstrum from an input audio frame.
 * @param input a PLP Spectrum frame
 * @return a PLP Data frame
 */
private Data process(DoubleData input) throws IllegalArgumentException {
  double[] plpspectrum=input.getValues();
  if (plpspectrum.length != numberPLPFilters) {
    throw new IllegalArgumentException("String_Node_Str" + plpspectrum.length + "String_Node_Str"+ numberPLPFilters);
  }
  double[] compressedspectrum=powerLawCompress(plpspectrum);
  double[] autocor=applyCosine(compressedspectrum);
  LinearPredictor LPC=new LinearPredictor(LPCOrder);
  double[] LPCcoeffs=LPC.getARFilter(autocor);
  double[] cepstrumDouble=LPC.getData(cepstrumSize);
  DoubleData cepstrum=new DoubleData(cepstrumDouble,input.getSampleRate(),input.getCollectTime(),input.getFirstSampleNumber());
  return cepstrum;
}

Fixed version (ground truth):
/** 
 * Process data, creating the PLP cepstrum from an input audio frame.
 * @param input a PLP Spectrum frame
 * @return a PLP Data frame
 * @throws IllegalArgumentException
 */
private Data process(DoubleData input) throws IllegalArgumentException {
  double[] plpspectrum=input.getValues();
  if (plpspectrum.length != numberPLPFilters) {
    throw new IllegalArgumentException("String_Node_Str" + plpspectrum.length + "String_Node_Str"+ numberPLPFilters);
  }
  double[] compressedspectrum=powerLawCompress(plpspectrum);
  double[] autocor=applyCosine(compressedspectrum);
  LinearPredictor LPC=new LinearPredictor(LPCOrder);
  double[] LPCcoeffs=LPC.getARFilter(autocor);
  double[] cepstrumDouble=LPC.getData(cepstrumSize);
  DoubleData cepstrum=new DoubleData(cepstrumDouble,input.getSampleRate(),input.getCollectTime(),input.getFirstSampleNumber());
  return cepstrum;
}
Program: 19642
Project: 19642
Buggy source:
/** 
 * Applies the intensity loudness power law. This operation is an approximation to the power law of hearing and simulates the non-linear relationship between sound intensity and percieved loudness. Computationally, this operation is used to reduce the spectral amplitude of the critical band to enable all-pole modeling with relatively low order AR filters.
 */
private double[] powerLawCompress(double[] inspectrum){
  double[] compressedspectrum=new double[inspectrum.length];
  for (int i=0; i < inspectrum.length; i++) {
    compressedspectrum[i]=Math.pow(inspectrum[i],1.0 / 3.0);
  }
  return compressedspectrum;
}

Fixed version (ground truth):
/** 
 * Applies the intensity loudness power law. This operation is an approximation to the power law of hearing and simulates the non-linear relationship between sound intensity and percieved loudness. Computationally, this operation is used to reduce the spectral amplitude of the critical band to enable all-pole modeling with relatively low order AR filters.
 * @param inspectrum
 * @return
 */
private double[] powerLawCompress(double[] inspectrum){
  double[] compressedspectrum=new double[inspectrum.length];
  for (int i=0; i < inspectrum.length; i++) {
    compressedspectrum[i]=Math.pow(inspectrum[i],1.0 / 3.0);
  }
  return compressedspectrum;
}
Program: 19643
Project: 19643
Buggy source:
/** 
 * This function return the equal loudness preemphasis factor at any frequency. The preemphasis function is given by <p/> E(w) = (w^2+56.8e6)*w^4/((w^2+6.3e6)^2(w^2+0.38e9)(w^6+9.58e26)) <p/> where w is frequency in radians/second
 */
private double loudnessScalingFunction(double freq){
  double freqsquared=freq * freq;
  double freqfourth=freqsquared * freqsquared;
  double freqsixth=freqfourth * freqsquared;
  double numerator=(freqsquared + 56.8e6) * freqfourth;
  double denominator=Math.pow((freqsquared + 6.3e6),2) * (freqsquared + 0.38e9) * (freqsixth + 9.58e26);
  return numerator / denominator;
}

Fixed version (ground truth):
/** 
 * This function return the equal loudness preemphasis factor at any frequency. The preemphasis function is given by <p/> E(w) = (w^2+56.8e6)*w^4/((w^2+6.3e6)^2(w^2+0.38e9)(w^6+9.58e26)) <p/> where w is frequency in radians/second
 * @param freq
 * @return
 */
private double loudnessScalingFunction(double freq){
  double freqsquared=freq * freq;
  double freqfourth=freqsquared * freqsquared;
  double freqsixth=freqfourth * freqsquared;
  double numerator=(freqsquared + 56.8e6) * freqfourth;
  double denominator=Math.pow((freqsquared + 6.3e6),2) * (freqsquared + 0.38e9) * (freqsixth + 9.58e26);
  return numerator / denominator;
}
Program: 19644
Project: 19644
Buggy source:
/** 
 * Process data, creating the mel cepstrum from an input spectrum frame.
 * @param input a MelSpectrum frame
 * @return a mel Cepstrum frame
 */
private DoubleData process(DoubleData input) throws IllegalArgumentException {
  double[] melspectrum=input.getValues();
  if (melcosine == null) {
    numberMelFilters=melspectrum.length;
    computeMelCosine();
  }
 else   if (melspectrum.length != numberMelFilters) {
    throw new IllegalArgumentException("String_Node_Str" + melspectrum.length + "String_Node_Str"+ numberMelFilters);
  }
  for (int i=0; i < melspectrum.length; ++i) {
    if (melspectrum[i] > 0) {
      melspectrum[i]=Math.log(melspectrum[i]);
    }
 else {
      melspectrum[i]=-1.0e+5;
    }
  }
  double[] cepstrum;
  cepstrum=applyMelCosine(melspectrum);
  return new DoubleData(cepstrum,input.getSampleRate(),input.getCollectTime(),input.getFirstSampleNumber());
}

Fixed version (ground truth):
/** 
 * Process data, creating the mel cepstrum from an input spectrum frame.
 * @param input a MelSpectrum frame
 * @return a mel Cepstrum frame
 * @throws IllegalArgumentException
 */
private DoubleData process(DoubleData input) throws IllegalArgumentException {
  double[] melspectrum=input.getValues();
  if (melcosine == null) {
    numberMelFilters=melspectrum.length;
    computeMelCosine();
  }
 else   if (melspectrum.length != numberMelFilters) {
    throw new IllegalArgumentException("String_Node_Str" + melspectrum.length + "String_Node_Str"+ numberMelFilters);
  }
  for (int i=0; i < melspectrum.length; ++i) {
    if (melspectrum[i] > 0) {
      melspectrum[i]=Math.log(melspectrum[i]);
    }
 else {
      melspectrum[i]=-1.0e+5;
    }
  }
  double[] cepstrum;
  cepstrum=applyMelCosine(melspectrum);
  return new DoubleData(cepstrum,input.getSampleRate(),input.getCollectTime(),input.getFirstSampleNumber());
}
Program: 19645
Project: 19645
Buggy source:
/** 
 * Returns the next Data from the input stream, or null if there is none available
 * @return a Data or null
 * @throws java.io.IOException
 */
private Data readNextFrame() throws DataProcessingException {
  int read;
  int totalRead=0;
  final int bytesToRead=bytesPerRead;
  byte[] samplesBuffer=new byte[bytesPerRead];
  long collectTime=System.currentTimeMillis();
  long firstSample=totalValuesRead;
  try {
    do {
      read=dataStream.read(samplesBuffer,totalRead,bytesToRead - totalRead);
      if (read > 0) {
        totalRead+=read;
      }
    }
 while (read != -1 && totalRead < bytesToRead);
    if (totalRead <= 0) {
      closeDataStream();
      return null;
    }
    totalValuesRead+=(totalRead / bytesPerValue);
    if (totalRead < bytesToRead) {
      totalRead=(totalRead % 2 == 0) ? totalRead + 2 : totalRead + 3;
      byte[] shrinkedBuffer=new byte[totalRead];
      System.arraycopy(samplesBuffer,0,shrinkedBuffer,0,totalRead);
      samplesBuffer=shrinkedBuffer;
      closeDataStream();
    }
  }
 catch (  IOException ioe) {
    ioe.printStackTrace();
    throw new DataProcessingException("String_Node_Str");
  }
  double[] doubleData;
  if (bigEndian) {
    doubleData=DataUtil.bytesToValues(samplesBuffer,0,totalRead,bytesPerValue,signedData);
  }
 else {
    doubleData=DataUtil.littleEndianBytesToValues(samplesBuffer,0,totalRead,bytesPerValue,signedData);
  }
  return new DoubleData(doubleData,sampleRate,collectTime,firstSample);
}

Fixed version (ground truth):
/** 
 * Returns the next Data from the input stream, or null if there is none available
 * @return a Data or null
 * @throws edu.cmu.sphinx.frontend.DataProcessingException
 */
private Data readNextFrame() throws DataProcessingException {
  int read;
  int totalRead=0;
  final int bytesToRead=bytesPerRead;
  byte[] samplesBuffer=new byte[bytesPerRead];
  long collectTime=System.currentTimeMillis();
  long firstSample=totalValuesRead;
  try {
    do {
      read=dataStream.read(samplesBuffer,totalRead,bytesToRead - totalRead);
      if (read > 0) {
        totalRead+=read;
      }
    }
 while (read != -1 && totalRead < bytesToRead);
    if (totalRead <= 0) {
      closeDataStream();
      return null;
    }
    totalValuesRead+=(totalRead / bytesPerValue);
    if (totalRead < bytesToRead) {
      totalRead=(totalRead % 2 == 0) ? totalRead + 2 : totalRead + 3;
      byte[] shrinkedBuffer=new byte[totalRead];
      System.arraycopy(samplesBuffer,0,shrinkedBuffer,0,totalRead);
      samplesBuffer=shrinkedBuffer;
      closeDataStream();
    }
  }
 catch (  IOException ioe) {
    ioe.printStackTrace();
    throw new DataProcessingException("String_Node_Str");
  }
  double[] doubleData;
  if (bigEndian) {
    doubleData=DataUtil.bytesToValues(samplesBuffer,0,totalRead,bytesPerValue,signedData);
  }
 else {
    doubleData=DataUtil.littleEndianBytesToValues(samplesBuffer,0,totalRead,bytesPerValue,signedData);
  }
  return new DoubleData(doubleData,sampleRate,collectTime,firstSample);
}
Program: 19646
Project: 19646
Buggy source:
/** 
 * Adds a new listener for new file events. 
 */
public void addNewFileListener(AudioFileProcessListener l){
  if (l == null)   return;
  fileListeners.add(l);
}

Fixed version (ground truth):
/** 
 * Adds a new listener for new file events.
 * @param l
 */
public void addNewFileListener(AudioFileProcessListener l){
  if (l == null)   return;
  fileListeners.add(l);
}
Program: 19647
Project: 19647
Buggy source:
/** 
 * Removes a listener for new file events. 
 */
public void removeNewFileListener(AudioFileProcessListener l){
  if (l == null)   return;
  fileListeners.remove(l);
}

Fixed version (ground truth):
/** 
 * Removes a listener for new file events.
 * @param l
 */
public void removeNewFileListener(AudioFileProcessListener l){
  if (l == null)   return;
  fileListeners.remove(l);
}
Program: 19648
Project: 19648
Buggy source:
/** 
 * Reads and verifies a driver file. 
 */
private static List<URL> readDriver(String fileName){
}

Fixed version (ground truth):
/** 
 * Reads and verifies a driver file.
 * @param fileName
 * @return
 */
private static List<URL> readDriver(String fileName){
}
Program: 19649
Project: 19649
Buggy source:
/** 
 * Returns the next Data object being processed by this Preemphasizer, or if it is a Signal, it is returned without modification.
 * @return the next available Data object, returns null if no Data object is available
 * @throws DataProcessingException if there is a processing error
 * @see Data
 */
public Data getData() throws DataProcessingException {
  Data input=getPredecessor().getData();
  getTimer().start();
  if (input != null) {
    if (input instanceof DoubleData) {
      applyPreemphasis(((DoubleData)input).getValues());
    }
 else     if (input instanceof DataEndSignal) {
      prior=0;
    }
  }
  getTimer().stop();
  return input;
}

Fixed version (ground truth):
/** 
 * Returns the next Data object being processed by this Preemphasizer, or if it is a Signal, it is returned without modification.
 * @return the next available Data object, returns null if no Data object is available
 * @throws DataProcessingException if there is a processing error
 * @see Data
 */
public Data getData() throws DataProcessingException {
  Data input=getPredecessor().getData();
  getTimer().start();
  if (input != null) {
    if (input instanceof DoubleData) {
      applyPreemphasis(((DoubleData)input).getValues());
    }
 else     if (input instanceof DataEndSignal || input instanceof SpeechEndSignal) {
      prior=0;
    }
  }
  getTimer().stop();
  return input;
}
Program: 19650
Project: 19650
Buggy source:
public void newResult(Result result){
  NISTAlign aligner=getAligner();
  String ref=result.getReferenceText();
  if (result.isFinal() && (ref != null)) {
    try {
      Path bestPath=null;
      String hyp="String_Node_Str";
      if (result.getBestFinalToken() != null) {
        ConfidenceResult confidenceResult=confidenceScorer.score(result);
        bestPath=confidenceResult.getBestHypothesis();
        hyp=getTranscriptionNoFiller(bestPath);
      }
      aligner.align(ref,hyp);
      if (bestPath != null) {
        showDetails(getTranscriptionRaw(bestPath));
      }
 else {
        showDetails("String_Node_Str");
      }
    }
 catch (    Exception e) {
      e.printStackTrace();
    }
  }
}

Fixed version (ground truth):
public void newResult(Result result){
  NISTAlign aligner=getAligner();
  String ref=result.getReferenceText();
  if (result.isFinal() && (ref != null)) {
    try {
      Path bestPath=null;
      String hyp="String_Node_Str";
      if (result.getBestFinalToken() != null) {
        ConfidenceResult confidenceResult=confidenceScorer.score(result);
        bestPath=confidenceResult.getBestHypothesis();
        hyp=bestPath.getTranscriptionNoFiller();
      }
      aligner.align(ref,hyp);
      if (bestPath != null) {
        showDetails(bestPath.getTranscription());
      }
 else {
        showDetails("String_Node_Str");
      }
    }
 catch (    Exception e) {
      e.printStackTrace();
    }
  }
}
Program: 19651
Project: 19651
Buggy source:
/** 
 * @see edu.cmu.sphinx.result.Path#getTranscription() 
 */
public String getTranscription(){
  StringBuilder sb=new StringBuilder();
  for (  WordResult wr : path)   sb.append(wr).append(' ');
  if (!path.isEmpty())   sb.setLength(sb.length() - 1);
  return sb.toString();
}

Fixed version (ground truth):
/** 
 * @see edu.cmu.sphinx.result.Path#getTranscription() 
 */
public String getTranscription(){
  StringBuilder sb=new StringBuilder();
  for (  WordResult wr : path)   sb.append(wr).append(' ');
  return sb.toString().trim();
}
Program: 19652
Project: 19652
Buggy source:
/** 
 * Gets the value associated with this name
 * @param name the name
 * @return the value
 * @throws edu.cmu.sphinx.util.props.PropertyException if the named property is not of this type
 */
public double getDouble(String name) throws PropertyException {
  S4PropWrapper s4PropWrapper=getProperty(name,S4Double.class);
  S4Double s4Double=(S4Double)s4PropWrapper.getAnnotation();
  if (propValues.get(name) == null) {
    boolean isDefDefined=!(s4Double.defaultValue() == S4Double.NOT_DEFINED);
    if (s4Double.mandatory()) {
      if (!isDefDefined)       throw new InternalConfigurationException(getInstanceName(),name,"String_Node_Str");
    }
 else     if (!isDefDefined)     throw new InternalConfigurationException(getInstanceName(),name,"String_Node_Str");
    propValues.put(name,s4Double.defaultValue());
  }
  Object propObject=propValues.get(name);
  if (propObject instanceof Integer)   propObject=new Double((Integer)propObject);
  Double propValue=propObject instanceof Double ? (Double)propObject : Double.valueOf(flattenProp(name));
  double[] range=s4Double.range();
  if (range.length != 2)   throw new InternalConfigurationException(getInstanceName(),name,range + "String_Node_Str");
  if (propValue < range[0] || propValue > range[1])   throw new InternalConfigurationException(getInstanceName(),name,"String_Node_Str" + range + "String_Node_Str");
  return propValue;
}

Fixed version (ground truth):
/** 
 * Gets the value associated with this name
 * @param name the name
 * @return the value
 * @throws edu.cmu.sphinx.util.props.PropertyException if the named property is not of this type
 */
public double getDouble(String name) throws PropertyException {
  S4PropWrapper s4PropWrapper=getProperty(name,S4Double.class);
  S4Double s4Double=(S4Double)s4PropWrapper.getAnnotation();
  if (propValues.get(name) == null) {
    boolean isDefDefined=!(s4Double.defaultValue() == S4Double.NOT_DEFINED);
    if (s4Double.mandatory()) {
      if (!isDefDefined)       throw new InternalConfigurationException(getInstanceName(),name,"String_Node_Str");
    }
 else     if (!isDefDefined)     throw new InternalConfigurationException(getInstanceName(),name,"String_Node_Str");
    propValues.put(name,s4Double.defaultValue());
  }
  Object propObject=propValues.get(name);
  Double propValue;
  if (propObject instanceof Double)   propValue=(Double)propObject;
 else   if (propObject instanceof Integer)   propValue=new Double((Integer)propObject);
 else   propValue=Double.valueOf(flattenProp(name));
  double[] range=s4Double.range();
  if (range.length != 2)   throw new InternalConfigurationException(getInstanceName(),name,range + "String_Node_Str");
  if (propValue < range[0] || propValue > range[1])   throw new InternalConfigurationException(getInstanceName(),name,"String_Node_Str" + range + "String_Node_Str");
  return propValue;
}
Program: 19653
Project: 19653
Buggy source:
/** 
 * Gets the value associated with this name
 * @param name the name
 * @return the value
 * @throws edu.cmu.sphinx.util.props.PropertyException if the named property is not of this type
 */
public Boolean getBoolean(String name) throws PropertyException {
  S4PropWrapper s4PropWrapper=getProperty(name,S4Boolean.class);
  S4Boolean s4Boolean=(S4Boolean)s4PropWrapper.getAnnotation();
  if (propValues.get(name) == null)   propValues.put(name,s4Boolean.defaultValue());
  Object propValue=propValues.get(name);
  if (propValue instanceof String)   propValue=Boolean.valueOf((String)propValue);
  return (Boolean)propValue;
}

Fixed version (ground truth):
/** 
 * Gets the value associated with this name
 * @param name the name
 * @return the value
 * @throws edu.cmu.sphinx.util.props.PropertyException if the named property is not of this type
 */
public Boolean getBoolean(String name) throws PropertyException {
  S4PropWrapper s4PropWrapper=getProperty(name,S4Boolean.class);
  S4Boolean s4Boolean=(S4Boolean)s4PropWrapper.getAnnotation();
  if (propValues.get(name) == null)   propValues.put(name,(Boolean)s4Boolean.defaultValue());
  Object propObject=propValues.get(name);
  Boolean propValue;
  if (propObject instanceof Boolean)   propValue=(Boolean)propObject;
 else   propValue=Boolean.valueOf(flattenProp(name));
  return propValue;
}
Program: 19654
Project: 19654
Buggy source:
public void newProperties(PropertySheet ps) throws PropertyException {
  frontEnd=(DummyFrontEnd)ps.getComponent(PROP_FRONTEND);
  beamWidth=ps.getInt(PROP_BEAM_WIDTH);
  bestAsr=ps.getString(PROP_BEST_ASR);
  alpha=ps.getDouble(PROP_ALPHA);
  logger=ps.getLogger();
}

Fixed version (ground truth):
public void newProperties(PropertySheet ps) throws PropertyException {
  frontEnd=(DummyFrontEnd)ps.getComponent(PROP_FRONTEND);
  beamWidth=ps.getInt(PROP_BEAM_WIDTH);
  bestAsr=ps.getString(PROP_BEST_ASR);
  alpha=ps.getDouble(PROP_ALPHA);
  useFooBaz=ps.getBoolean(PROP_USE_FOOBAZ);
  logger=ps.getLogger();
}
Program: 19655
Project: 19655
Buggy source:
@Test public void testGetDefaultInstance() throws PropertyException, InstantiationException {
  DummyComp dc=ConfigurationManager.getInstance(DummyComp.class);
  Assert.assertEquals(4,dc.getBeamWidth());
  Assert.assertEquals(1.3,dc.getAlpha(),1E-10);
  DummyFrontEnd fe=dc.getFrontEnd();
  Assert.assertTrue(fe != null);
  Assert.assertTrue(fe instanceof AnotherDummyFrontEnd);
  Assert.assertTrue(fe.getDataProcs().size() == 3);
  Assert.assertTrue(fe.getDataProcs().get(0) instanceof DummyProcessor);
  Assert.assertTrue(fe.getDataProcs().get(1) instanceof AnotherDummyProcessor);
  Assert.assertTrue(fe.getDataProcs().get(2) instanceof DummyProcessor);
  Assert.assertTrue(dc.getBestASR().equals("String_Node_Str"));
  Assert.assertTrue(dc.getLogger() != null);
}

Fixed version (ground truth):
@Test public void testGetDefaultInstance() throws PropertyException, InstantiationException {
  DummyComp dc=ConfigurationManager.getInstance(DummyComp.class);
  Assert.assertEquals(4,dc.getBeamWidth());
  Assert.assertEquals(1.3,dc.getAlpha(),1E-10);
  Assert.assertEquals(false,useFooBaz);
  DummyFrontEnd fe=dc.getFrontEnd();
  Assert.assertTrue(fe != null);
  Assert.assertTrue(fe instanceof AnotherDummyFrontEnd);
  Assert.assertTrue(fe.getDataProcs().size() == 3);
  Assert.assertTrue(fe.getDataProcs().get(0) instanceof DummyProcessor);
  Assert.assertTrue(fe.getDataProcs().get(1) instanceof AnotherDummyProcessor);
  Assert.assertTrue(fe.getDataProcs().get(2) instanceof DummyProcessor);
  Assert.assertTrue(dc.getBestASR().equals("String_Node_Str"));
  Assert.assertTrue(dc.getLogger() != null);
}
Program: 19657
Project: 19657
Buggy source:
@Override public void newProperties(PropertySheet ps) throws PropertyException {
  super.newProperties(ps);
  logger=ps.getLogger();
  loader=(Loader)ps.getComponent(LOADER);
  saver=(Saver)ps.getComponent(SAVER);
  hmmPoolManager=new HMMPoolManager(loader);
  loadTimer=Timer.getTimer(TIMER_LOAD);
  saveFormat=ps.getString(PROP_FORMAT_SAVE);
  logInfo();
}

Fixed version (ground truth):
@Override public void newProperties(PropertySheet ps) throws PropertyException {
  super.newProperties(ps);
  logger=ps.getLogger();
  loader=(Loader)ps.getComponent(LOADER);
  saver=(Saver)ps.getComponent(SAVER);
  hmmPoolManager=new HMMPoolManager(loader);
  loadTimer=TimerPool.getTimer(TIMER_LOAD);
  saveFormat=ps.getString(PROP_FORMAT_SAVE);
  logInfo();
}
Program: 19658
Project: 19658
Buggy source:
public void newProperties(PropertySheet ps) throws PropertyException {
  this.batchFile=ps.getString(BATCH_FILE);
  skip=ps.getInt(SKIP);
  clientFrontEnd=(ClientFrontEndImpl)ps.getComponent(CLIENT);
  decodeTimer=Timer.getTimer("String_Node_Str");
  aligner=new NISTAlign(true,true);
}

Fixed version (ground truth):
public void newProperties(PropertySheet ps) throws PropertyException {
  this.batchFile=ps.getString(BATCH_FILE);
  skip=ps.getInt(SKIP);
  clientFrontEnd=(ClientFrontEndImpl)ps.getComponent(CLIENT);
  decodeTimer=TimerPool.getTimer("String_Node_Str");
  aligner=new NISTAlign(true,true);
}
Program: 19659
Project: 19659
Buggy source:
/** 
 * Decodes the batch of audio files
 * @throws DataProcessingException if a data processing error occurs
 * @throws IOException             if an I/O error occurs
 */
public void decode() throws DataProcessingException, IOException {
  clientFrontEnd.connect();
  int curCount=skip;
  System.out.println("String_Node_Str" + batchFile);
  System.out.println("String_Node_Str");
  for (Iterator i=BatchFile.getLines(batchFile).iterator(); i.hasNext(); ) {
    String line=(String)i.next();
    String file=BatchFile.getFilename(line);
    String reference=BatchFile.getReference(line);
    if (++curCount >= skip) {
      curCount=0;
      decodeFile(file,reference);
    }
  }
  System.out.println("String_Node_Str");
  Timer.dumpAll();
  clientFrontEnd.close();
}

Fixed version (ground truth):
/** 
 * Decodes the batch of audio files
 * @throws DataProcessingException if a data processing error occurs
 * @throws IOException             if an I/O error occurs
 */
public void decode() throws DataProcessingException, IOException {
  clientFrontEnd.connect();
  int curCount=skip;
  System.out.println("String_Node_Str" + batchFile);
  System.out.println("String_Node_Str");
  for (Iterator i=BatchFile.getLines(batchFile).iterator(); i.hasNext(); ) {
    String line=(String)i.next();
    String file=BatchFile.getFilename(line);
    String reference=BatchFile.getReference(line);
    if (++curCount >= skip) {
      curCount=0;
      decodeFile(file,reference);
    }
  }
  System.out.println("String_Node_Str");
  TimerPool.dumpAll();
  clientFrontEnd.close();
}
Program: 19660
Project: 19660
Buggy source:
public void allocate(){
  totalTokensScored=StatisticsVariable.getStatisticsVariable("String_Node_Str");
  tokensPerSecond=StatisticsVariable.getStatisticsVariable("String_Node_Str");
  curTokensScored=StatisticsVariable.getStatisticsVariable("String_Node_Str");
  tokensCreated=StatisticsVariable.getStatisticsVariable("String_Node_Str");
  viterbiPruned=StatisticsVariable.getStatisticsVariable("String_Node_Str");
  beamPruned=StatisticsVariable.getStatisticsVariable("String_Node_Str");
  try {
    linguist.allocate();
    pruner.allocate();
    scorer.allocate();
  }
 catch (  IOException e) {
    throw new RuntimeException(toString() + "String_Node_Str",e);
  }
  scoreTimer=Timer.getTimer("String_Node_Str");
  pruneTimer=Timer.getTimer("String_Node_Str");
  growTimer=Timer.getTimer("String_Node_Str");
}

Fixed version (ground truth):
public void allocate(){
  totalTokensScored=StatisticsVariable.getStatisticsVariable("String_Node_Str");
  tokensPerSecond=StatisticsVariable.getStatisticsVariable("String_Node_Str");
  curTokensScored=StatisticsVariable.getStatisticsVariable("String_Node_Str");
  tokensCreated=StatisticsVariable.getStatisticsVariable("String_Node_Str");
  viterbiPruned=StatisticsVariable.getStatisticsVariable("String_Node_Str");
  beamPruned=StatisticsVariable.getStatisticsVariable("String_Node_Str");
  try {
    linguist.allocate();
    pruner.allocate();
    scorer.allocate();
  }
 catch (  IOException e) {
    throw new RuntimeException(toString() + "String_Node_Str",e);
  }
  scoreTimer=TimerPool.getTimer("String_Node_Str");
  pruneTimer=TimerPool.getTimer("String_Node_Str");
  growTimer=TimerPool.getTimer("String_Node_Str");
}
Program: 19661
Project: 19661
Buggy source:
public void allocate(){
  scoreTimer=Timer.getTimer("String_Node_Str");
  pruneTimer=Timer.getTimer("String_Node_Str");
  growTimer=Timer.getTimer("String_Node_Str");
  totalTokensScored=StatisticsVariable.getStatisticsVariable("String_Node_Str");
  curTokensScored=StatisticsVariable.getStatisticsVariable("String_Node_Str");
  tokensCreated=StatisticsVariable.getStatisticsVariable("String_Node_Str");
  try {
    linguist.allocate();
    pruner.allocate();
    scorer.allocate();
  }
 catch (  IOException e) {
    throw new RuntimeException(toString() + "String_Node_Str",e);
  }
}

Fixed version (ground truth):
public void allocate(){
  scoreTimer=TimerPool.getTimer("String_Node_Str");
  pruneTimer=TimerPool.getTimer("String_Node_Str");
  growTimer=TimerPool.getTimer("String_Node_Str");
  totalTokensScored=StatisticsVariable.getStatisticsVariable("String_Node_Str");
  curTokensScored=StatisticsVariable.getStatisticsVariable("String_Node_Str");
  tokensCreated=StatisticsVariable.getStatisticsVariable("String_Node_Str");
  try {
    linguist.allocate();
    pruner.allocate();
    scorer.allocate();
  }
 catch (  IOException e) {
    throw new RuntimeException(toString() + "String_Node_Str",e);
  }
}
Program: 19662
Project: 19662
Buggy source:
/** 
 * Initializes this DataProcessor. This is typically called after the DataProcessor has been configured. 
 */
public void initialize(){
  this.timer=Timer.getTimer(name);
}

Fixed version (ground truth):
/** 
 * Initializes this DataProcessor. This is typically called after the DataProcessor has been configured. 
 */
public void initialize(){
  this.timer=TimerPool.getTimer(name);
}
Program: 19663
Project: 19663
Buggy source:
public void statusChanged(RecognizerState status){
  if (status == RecognizerState.ALLOCATED) {
    if (showTimers) {
      Timer.dumpAll();
    }
  }
  if (status == RecognizerState.DEALLOCATING) {
    if (showTimers) {
      Timer.dumpAll();
    }
  }
  if (status == RecognizerState.DEALLOCATED) {
    if (showSummary) {
      showAudioSummary();
    }
  }
}

Fixed version (ground truth):
public void statusChanged(RecognizerState status){
  if (status == RecognizerState.ALLOCATED) {
    if (showTimers) {
      TimerPool.dumpAll();
    }
  }
  if (status == RecognizerState.DEALLOCATING) {
    if (showTimers) {
      TimerPool.dumpAll();
    }
  }
  if (status == RecognizerState.DEALLOCATED) {
    if (showSummary) {
      showAudioSummary();
    }
  }
}
Program: 19664
Project: 19664
Buggy source:
/** 
 * initialize this acoustic model with the given name and context.
 * @throws IOException if the model could not be loaded
 */
public void allocate() throws IOException {
  if (!allocated) {
    this.loadTimer=Timer.getTimer(TIMER_LOAD);
    loadTimer.start();
    loader.load();
    loadTimer.stop();
    logInfo();
    allocated=true;
  }
}

Fixed version (ground truth):
/** 
 * initialize this acoustic model with the given name and context.
 * @throws IOException if the model could not be loaded
 */
public void allocate() throws IOException {
  if (!allocated) {
    this.loadTimer=TimerPool.getTimer(TIMER_LOAD);
    loadTimer.start();
    loader.load();
    loadTimer.stop();
    logInfo();
    allocated=true;
  }
}
Program: 19665
Project: 19665
Buggy source:
public void allocate() throws IOException {
  logger.info("String_Node_Str");
  allocateAcousticModel();
  grammar.allocate();
  hmmPool=new HMMPool(acousticModel,logger,unitManager);
  nodeToNextUnitArrayMap=new HashMap<GrammarNode,int[]>();
  nodeToUnitSetMap=new HashMap<GrammarNode,Set<Unit>>();
  Timer timer=Timer.getTimer("String_Node_Str");
  timer.start();
  compileGrammar();
  timer.stop();
  logger.info("String_Node_Str");
}

Fixed version (ground truth):
public void allocate() throws IOException {
  logger.info("String_Node_Str");
  allocateAcousticModel();
  grammar.allocate();
  hmmPool=new HMMPool(acousticModel,logger,unitManager);
  nodeToNextUnitArrayMap=new HashMap<GrammarNode,int[]>();
  nodeToUnitSetMap=new HashMap<GrammarNode,Set<Unit>>();
  Timer timer=TimerPool.getTimer("String_Node_Str");
  timer.start();
  compileGrammar();
  timer.stop();
  logger.info("String_Node_Str");
}
Program: 19666
Project: 19666
Buggy source:
public void allocate() throws IOException {
  if (!allocated) {
    dictionary=new HashMap<String,Object>();
    Timer loadTimer=Timer.getTimer("String_Node_Str");
    fillerWords=new HashSet<String>();
    loadTimer.start();
    logger.info("String_Node_Str" + wordDictionaryFile);
    loadDictionary(wordDictionaryFile.openStream(),false);
    loadCustomDictionaries(addendaUrlList);
    logger.info("String_Node_Str" + fillerDictionaryFile);
    loadDictionary(fillerDictionaryFile.openStream(),true);
    loadTimer.stop();
  }
}

Fixed version (ground truth):
public void allocate() throws IOException {
  if (!allocated) {
    dictionary=new HashMap<String,Object>();
    Timer loadTimer=TimerPool.getTimer("String_Node_Str");
    fillerWords=new HashSet<String>();
    loadTimer.start();
    logger.info("String_Node_Str" + wordDictionaryFile);
    loadDictionary(wordDictionaryFile.openStream(),false);
    loadCustomDictionaries(addendaUrlList);
    logger.info("String_Node_Str" + fillerDictionaryFile);
    loadDictionary(fillerDictionaryFile.openStream(),true);
    loadTimer.stop();
  }
}
Program: 19667
Project: 19667
Buggy source:
public void allocate() throws IOException {
  if (!allocated) {
    loadTimer=Timer.getTimer("String_Node_Str");
    loadTimer.start();
    logger.info("String_Node_Str" + wordDictionaryFile);
    wordDictionary=loadDictionary(wordDictionaryFile.openStream(),false);
    logger.info("String_Node_Str" + fillerDictionaryFile);
    fillerDictionary=loadDictionary(fillerDictionaryFile.openStream(),true);
    loadTimer.stop();
    allocated=true;
  }
}

Fixed version (ground truth):
public void allocate() throws IOException {
  if (!allocated) {
    loadTimer=TimerPool.getTimer("String_Node_Str");
    loadTimer.start();
    logger.info("String_Node_Str" + wordDictionaryFile);
    wordDictionary=loadDictionary(wordDictionaryFile.openStream(),false);
    logger.info("String_Node_Str" + fillerDictionaryFile);
    fillerDictionary=loadDictionary(fillerDictionaryFile.openStream(),true);
    loadTimer.stop();
    allocated=true;
  }
}
Program: 19668
Project: 19668
Buggy source:
/** 
 * Create the grammar 
 */
public void allocate() throws IOException {
  dictionary.allocate();
  newGrammar();
  Timer timer=Timer.getTimer("String_Node_Str");
  timer.start();
  initialNode=createGrammar();
  postProcessGrammar();
  timer.stop();
}

Fixed version (ground truth):
/** 
 * Create the grammar 
 */
public void allocate() throws IOException {
  dictionary.allocate();
  newGrammar();
  Timer timer=TimerPool.getTimer("String_Node_Str");
  timer.start();
  initialNode=createGrammar();
  postProcessGrammar();
  timer.stop();
}
Program: 19670
Project: 19670
Buggy source:
/** 
 * Detect gap insertion errors. 
 */
private int detectGapInsertionErrors() throws IOException {
  Timer gapTimer=Timer.getTimer("String_Node_Str");
  gapTimer.start();
  GapInsertionDetector gid=new GapInsertionDetector(dataSource.getTranscriptFile(),hypothesisFile,showGapInsertions);
  int gapInsertions=gid.detect();
  gapTimer.stop();
  return gapInsertions;
}

Fixed version (ground truth):
/** 
 * Detect gap insertion errors. 
 */
private int detectGapInsertionErrors() throws IOException {
  Timer gapTimer=TimerPool.getTimer("String_Node_Str");
  gapTimer.start();
  GapInsertionDetector gid=new GapInsertionDetector(dataSource.getTranscriptFile(),hypothesisFile,showGapInsertions);
  int gapInsertions=gid.detect();
  gapTimer.stop();
  return gapInsertions;
}
Program: 19671
Project: 19671
Buggy source:
/** 
 * Return the timer for alignment. 
 */
private Timer getAlignTimer(){
  return Timer.getTimer("String_Node_Str");
}

Fixed version (ground truth):
/** 
 * Return the timer for alignment. 
 */
private Timer getAlignTimer(){
  return TimerPool.getTimer("String_Node_Str");
}
Program: 19672
Project: 19672
Buggy source:
public Data getData() throws DataProcessingException {
  Data d=getPredecessor().getData();
  if (isRecognizing && (d instanceof FloatData || d instanceof DoubleData || d instanceof SpeechEndSignal)) {
    result=decode(null);
    if (result != null) {
      fireResultListeners(result);
    }
  }
  if (d instanceof SpeechStartSignal) {
    searchManager.startRecognition();
    isRecognizing=true;
    result=null;
  }
  if (d instanceof SpeechEndSignal) {
    searchManager.stopRecognition();
    if (result != null)     fireResultListeners(result);
    isRecognizing=false;
  }
  return d;
}

Fixed version (ground truth):
public Data getData() throws DataProcessingException {
  Data d=getPredecessor().getData();
  if (isRecognizing && (d instanceof FloatData || d instanceof DoubleData || d instanceof SpeechEndSignal)) {
    result=decode(null);
    if (result != null) {
      fireResultListeners(result);
      result=null;
    }
  }
  if (d instanceof SpeechStartSignal) {
    searchManager.startRecognition();
    isRecognizing=true;
    result=null;
  }
  if (d instanceof SpeechEndSignal) {
    searchManager.stopRecognition();
    if (result != null)     fireResultListeners(result);
    isRecognizing=false;
  }
  return d;
}
Program: 19673
Project: 19673
Buggy source:
/** 
 * Constructs a DataStartSignal at the given time.
 * @param sampleRate  the sampling rate of the started data stream.
 * @param time        the time this DataStartSignal is created
 * @param tagAsVadStream <code>true</code> if this feature stream will contain vad-signals
 */
public DataStartSignal(int sampleRate,long time,boolean tagAsVadStream){
  super(time);
  this.sampleRate=sampleRate;
  if (tagAsVadStream) {
    this.getProps().put(VAD_TAGGED_FEAT_STREAM,null);
  }
}

Fixed version (ground truth):
/** 
 * Constructs a DataStartSignal at the given time.
 * @param sampleRate  the sampling rate of the started data stream.
 * @param time        the time this DataStartSignal is created
 * @param tagAsVadStream <code>true</code> if this feature stream will contain vad-signals
 */
public DataStartSignal(int sampleRate,long time,boolean tagAsVadStream){
  super(time);
  this.sampleRate=sampleRate;
  if (tagAsVadStream) {
    this.getProps().put(VAD_TAGGED_FEAT_STREAM,tagAsVadStream);
  }
}
Program: 19674
Project: 19674
Buggy source:
/** 
 * Main method for running the HelloDigits demo.
 */
public static void main(String[] args){
  int match=0;
  int noMatch=0;
  if (args.length != 2) {
    System.out.println("String_Node_Str");
    System.exit(0);
  }
  try {
    URL url=new File(args[0]).toURI().toURL();
    int count=Integer.parseInt(args[1]);
    ConfigurationManager cm=new ConfigurationManager(url);
    JSGFGrammar jsgfGrammar=(JSGFGrammar)cm.lookup("String_Node_Str");
    jsgfGrammar.allocate();
    RuleGrammar rg=jsgfGrammar.getRuleGrammar();
    for (int i=0; i < count; i++) {
      String sentence=jsgfGrammar.getRandomSentence();
      RuleParse rp=rg.parse(sentence,null);
      if (rp == null) {
        noMatch++;
        System.out.println("String_Node_Str" + sentence);
      }
 else {
        match++;
      }
    }
    System.out.println("String_Node_Str" + match + "String_Node_Str"+ noMatch);
  }
 catch (  IOException e) {
    System.err.println("String_Node_Str" + e);
    e.printStackTrace();
  }
catch (  PropertyException e) {
    System.err.println("String_Node_Str" + e);
    e.printStackTrace();
  }
catch (  InstantiationException e) {
    System.err.println("String_Node_Str" + e);
    e.printStackTrace();
  }
catch (  GrammarException e) {
    System.err.println("String_Node_Str" + e);
    e.printStackTrace();
  }
}

Fixed version (ground truth):
/** 
 * Main method for running the HelloDigits demo.
 */
public static void main(String[] args){
  int match=0;
  int noMatch=0;
  if (args.length != 2) {
    System.out.println("String_Node_Str");
    System.exit(0);
  }
  try {
    URL url=new File(args[0]).toURI().toURL();
    int count=Integer.parseInt(args[1]);
    ConfigurationManager cm=new ConfigurationManager(url);
    JSGFGrammar jsgfGrammar=(JSGFGrammar)cm.lookup("String_Node_Str");
    jsgfGrammar.allocate();
    RuleGrammar rg=jsgfGrammar.getRuleGrammar();
    for (int i=0; i < count; i++) {
      String sentence=jsgfGrammar.getRandomSentence();
      RuleParse rp=rg.parse(sentence,null);
      if (rp == null) {
        noMatch++;
        System.out.println("String_Node_Str" + sentence);
      }
 else {
        match++;
      }
    }
    System.out.println("String_Node_Str" + match + "String_Node_Str"+ noMatch);
  }
 catch (  IOException e) {
    System.err.println("String_Node_Str" + e);
    e.printStackTrace();
  }
catch (  PropertyException e) {
    System.err.println("String_Node_Str" + e);
    e.printStackTrace();
  }
catch (  GrammarException e) {
    System.err.println("String_Node_Str" + e);
    e.printStackTrace();
  }
}
Program: 19675
Project: 19675
Buggy source:
/** 
 * Allocates this recognizer
 * @return
 */
boolean allocate(){
  try {
    if (!allocated) {
      URL url=new File(configName).toURI().toURL();
      cm=new ConfigurationManager(url);
      recognizer=(Recognizer)cm.lookup("String_Node_Str");
      microphone=(Microphone)cm.lookup("String_Node_Str");
      speedTracker=(SpeedTracker)cm.lookup("String_Node_Str");
      aligner=((AccuracyTracker)cm.lookup("String_Node_Str")).getAligner();
      recognizer.allocate();
      setTestFile(testFile);
      recognizer.addResultListener(new ResultListener(){
        public void newResult(        Result result){
          if (!result.isFinal() && showPartialResults) {
            showPartialResult(result);
          }
          if (result.isFinal()) {
            updateLiveFrame(currentRecognizer.getAligner());
            System.out.println(result.getBestToken().getWordUnitPath());
          }
        }
      }
);
      allocated=true;
    }
  }
 catch (  InstantiationException e) {
    warn("String_Node_Str" + configName + "String_Node_Str"+ e);
  }
catch (  PropertyException pe) {
    warn("String_Node_Str" + pe);
  }
catch (  IOException ioe) {
    warn("String_Node_Str" + ioe);
  }
  return allocated;
}

Fixed version (ground truth):
/** 
 * Allocates this recognizer
 * @return
 */
boolean allocate(){
  try {
    if (!allocated) {
      URL url=new File(configName).toURI().toURL();
      cm=new ConfigurationManager(url);
      recognizer=(Recognizer)cm.lookup("String_Node_Str");
      microphone=(Microphone)cm.lookup("String_Node_Str");
      speedTracker=(SpeedTracker)cm.lookup("String_Node_Str");
      aligner=((AccuracyTracker)cm.lookup("String_Node_Str")).getAligner();
      recognizer.allocate();
      setTestFile(testFile);
      recognizer.addResultListener(new ResultListener(){
        public void newResult(        Result result){
          if (!result.isFinal() && showPartialResults) {
            showPartialResult(result);
          }
          if (result.isFinal()) {
            updateLiveFrame(currentRecognizer.getAligner());
            System.out.println(result.getBestToken().getWordUnitPath());
          }
        }
      }
);
      allocated=true;
    }
  }
 catch (  PropertyException pe) {
    warn("String_Node_Str" + pe);
  }
catch (  IOException ioe) {
    warn("String_Node_Str" + ioe);
  }
  return allocated;
}
Program: 19676
Project: 19676
Buggy source:
/** 
 * Main method for running the MAPConfidenceTest demo.
 */
public static void main(String[] args){
  try {
    String latticeGDL;
    if (args.length > 0) {
      latticeGDL=args[0];
    }
 else {
      latticeGDL="String_Node_Str";
    }
    URL configURL=new File("String_Node_Str").toURI().toURL();
    ConfigurationManager cm=new ConfigurationManager(configURL);
    LogMath logMath=(LogMath)cm.lookup("String_Node_Str");
    Dictionary dictionary=(Dictionary)cm.lookup("String_Node_Str");
    dictionary.allocate();
    Lattice lattice=GDLLatticeFactory.getLattice(latticeGDL,dictionary);
    lattice.setLogMath(logMath);
    lattice.dumpAISee("String_Node_Str","String_Node_Str");
    SausageMaker sm=new SausageMaker(lattice);
    Sausage s=sm.makeSausage();
    s.dumpAISee("String_Node_Str","String_Node_Str");
  }
 catch (  IOException e) {
    System.err.println("String_Node_Str" + e);
    e.printStackTrace();
  }
catch (  PropertyException e) {
    System.err.println("String_Node_Str" + e);
    e.printStackTrace();
  }
catch (  InstantiationException e) {
    System.err.println("String_Node_Str" + e);
    e.printStackTrace();
  }
}

Fixed version (ground truth):
/** 
 * Main method for running the MAPConfidenceTest demo.
 */
public static void main(String[] args){
  try {
    String latticeGDL;
    if (args.length > 0) {
      latticeGDL=args[0];
    }
 else {
      latticeGDL="String_Node_Str";
    }
    URL configURL=new File("String_Node_Str").toURI().toURL();
    ConfigurationManager cm=new ConfigurationManager(configURL);
    LogMath logMath=(LogMath)cm.lookup("String_Node_Str");
    Dictionary dictionary=(Dictionary)cm.lookup("String_Node_Str");
    dictionary.allocate();
    Lattice lattice=GDLLatticeFactory.getLattice(latticeGDL,dictionary);
    lattice.setLogMath(logMath);
    lattice.dumpAISee("String_Node_Str","String_Node_Str");
    SausageMaker sm=new SausageMaker(lattice);
    Sausage s=sm.makeSausage();
    s.dumpAISee("String_Node_Str","String_Node_Str");
  }
 catch (  IOException e) {
    System.err.println("String_Node_Str" + e);
    e.printStackTrace();
  }
catch (  PropertyException e) {
    System.err.println("String_Node_Str" + e);
    e.printStackTrace();
  }
}
Program: 19683
Project: 19683
Buggy source:
/** 
 * Main method for running the TokenGraphDumpTest demo.
 */
public static void main(String[] args){
  try {
    URL audioFileURL;
    if (args.length > 0) {
      audioFileURL=new File(args[0]).toURI().toURL();
    }
 else {
      audioFileURL=new File("String_Node_Str").toURI().toURL();
    }
    URL configURL=new File("String_Node_Str").toURI().toURL();
    System.out.println("String_Node_Str");
    ConfigurationManager cm=new ConfigurationManager(configURL);
    Recognizer recognizer=(Recognizer)cm.lookup("String_Node_Str");
    recognizer.allocate();
    StreamDataSource reader=(StreamDataSource)cm.lookup("String_Node_Str");
    AudioInputStream ais=AudioSystem.getAudioInputStream(audioFileURL);
    reader.setInputStream(ais,audioFileURL.getFile());
    Result result=recognizer.recognize();
    if (result != null) {
      System.out.println("String_Node_Str" + result.getBestFinalResultNoFiller() + "String_Node_Str");
      TokenGraphDumper dumper=new TokenGraphDumper(result);
      dumper.dumpGDL("String_Node_Str","String_Node_Str");
    }
 else {
      System.out.println("String_Node_Str");
    }
  }
 catch (  IOException e) {
    System.err.println("String_Node_Str" + e);
    e.printStackTrace();
  }
catch (  PropertyException e) {
    System.err.println("String_Node_Str" + e);
    e.printStackTrace();
  }
catch (  InstantiationException e) {
    System.err.println("String_Node_Str" + e);
    e.printStackTrace();
  }
catch (  UnsupportedAudioFileException e) {
    System.err.println("String_Node_Str" + e);
    e.printStackTrace();
  }
}

Fixed version (ground truth):
/** 
 * Main method for running the TokenGraphDumpTest demo.
 */
public static void main(String[] args){
  try {
    URL audioFileURL;
    if (args.length > 0) {
      audioFileURL=new File(args[0]).toURI().toURL();
    }
 else {
      audioFileURL=new File("String_Node_Str").toURI().toURL();
    }
    URL configURL=new File("String_Node_Str").toURI().toURL();
    System.out.println("String_Node_Str");
    ConfigurationManager cm=new ConfigurationManager(configURL);
    Recognizer recognizer=(Recognizer)cm.lookup("String_Node_Str");
    recognizer.allocate();
    StreamDataSource reader=(StreamDataSource)cm.lookup("String_Node_Str");
    AudioInputStream ais=AudioSystem.getAudioInputStream(audioFileURL);
    reader.setInputStream(ais,audioFileURL.getFile());
    Result result=recognizer.recognize();
    if (result != null) {
      System.out.println("String_Node_Str" + result.getBestFinalResultNoFiller() + "String_Node_Str");
      TokenGraphDumper dumper=new TokenGraphDumper(result);
      dumper.dumpGDL("String_Node_Str","String_Node_Str");
    }
 else {
      System.out.println("String_Node_Str");
    }
  }
 catch (  IOException e) {
    System.err.println("String_Node_Str" + e);
    e.printStackTrace();
  }
catch (  PropertyException e) {
    System.err.println("String_Node_Str" + e);
    e.printStackTrace();
  }
catch (  UnsupportedAudioFileException e) {
    System.err.println("String_Node_Str" + e);
    e.printStackTrace();
  }
}