Program: 75262
Project: 75262
Buggy source:
/** 
 * Specialize all token types that appear in the given list of classes.  Return a map from locals and fields in the class to their new specific Ptolemy type.  Exclude locals in the given set from the typing algorithm.
 * @param list A list of SootClass.
 */
public TypeSpecializerAnalysis(List list,Set unsafeLocals){
  _unsafeLocals=unsafeLocals;
  _solver=new InequalitySolver(new JavaTypeLattice());
  _objectToInequalityTerm=new HashMap();
  for (Iterator classes=list.iterator(); classes.hasNext(); ) {
    SootClass theClass=(SootClass)classes.next();
    _collectConstraints(theClass,_debug);
  }
  boolean succeeded;
  try {
    succeeded=_solver.solveLeast();
  }
 catch (  Exception ex) {
    _printSolverVariables();
    throw new RuntimeException(ex.getMessage());
  }
  if (_debug) {
    _printSolverVariables();
  }
  if (succeeded) {
    if (_debug)     System.out.println("String_Node_Str");
  }
 else {
    System.out.println("String_Node_Str");
    try {
      Iterator inequalities=_solver.unsatisfiedInequalities();
      while (inequalities.hasNext()) {
        System.out.println("String_Node_Str" + inequalities.next().toString());
      }
      System.err.println("String_Node_Str");
      inequalities=_solver.unsatisfiedInequalities();
      while (inequalities.hasNext()) {
        System.err.println("String_Node_Str" + inequalities.next().toString());
      }
    }
 catch (    IllegalActionException ex) {
      throw new RuntimeException("String_Node_Str");
    }
  }
}

Fixed version (ground truth):
/** 
 * Specialize all token types that appear in the given list of classes.  Return a map from locals and fields in the class to their new specific Ptolemy type.  Exclude locals in the given set from the typing algorithm.
 * @param list A list of SootClass.
 */
public TypeSpecializerAnalysis(List list,Set unsafeLocals){
  if (_debug)   System.out.println("String_Node_Str");
  _unsafeLocals=unsafeLocals;
  _solver=new InequalitySolver(new JavaTypeLattice());
  _objectToInequalityTerm=new HashMap();
  for (Iterator classes=list.iterator(); classes.hasNext(); ) {
    SootClass theClass=(SootClass)classes.next();
    _collectVariables(theClass,_debug);
  }
  for (Iterator classes=list.iterator(); classes.hasNext(); ) {
    SootClass theClass=(SootClass)classes.next();
    _collectConstraints(theClass,_debug);
  }
  boolean succeeded;
  try {
    succeeded=_solver.solveLeast();
  }
 catch (  Exception ex) {
    _printSolverVariables();
    throw new RuntimeException(ex.getMessage());
  }
  if (_debug) {
    _printSolverVariables();
  }
  if (succeeded) {
    if (_debug)     System.out.println("String_Node_Str");
  }
 else {
    System.out.println("String_Node_Str");
    try {
      Iterator inequalities=_solver.unsatisfiedInequalities();
      while (inequalities.hasNext()) {
        System.out.println("String_Node_Str" + inequalities.next().toString());
      }
      System.err.println("String_Node_Str");
      inequalities=_solver.unsatisfiedInequalities();
      while (inequalities.hasNext()) {
        System.err.println("String_Node_Str" + inequalities.next().toString());
      }
    }
 catch (    IllegalActionException ex) {
      throw new RuntimeException("String_Node_Str");
    }
  }
}