Program: 88720
Project: 88720
Buggy source:
/** 
 * Expression Creation
 */
private soot.Value createExpr(polyglot.ast.Expr expr){
  if (expr instanceof polyglot.ast.Assign) {
    return getAssignLocal((polyglot.ast.Assign)expr);
  }
 else   if (expr instanceof polyglot.ast.Lit) {
    return createLiteral((polyglot.ast.Lit)expr);
  }
 else   if (expr instanceof polyglot.ast.Local) {
    return getLocal((polyglot.ast.Local)expr);
  }
 else   if (expr instanceof polyglot.ast.Binary) {
    return getBinaryLocal((polyglot.ast.Binary)expr);
  }
 else   if (expr instanceof polyglot.ast.Unary) {
    return getUnaryLocal((polyglot.ast.Unary)expr);
  }
 else   if (expr instanceof polyglot.ast.Cast) {
    return getCastLocal((polyglot.ast.Cast)expr);
  }
 else   if (expr instanceof polyglot.ast.ArrayAccess) {
    return getArrayRefLocal((polyglot.ast.ArrayAccess)expr);
  }
 else   if (expr instanceof polyglot.ast.NewArray) {
    return getNewArrayLocal((polyglot.ast.NewArray)expr);
  }
 else   if (expr instanceof polyglot.ast.Call) {
    return getCallLocal((polyglot.ast.Call)expr);
  }
 else   if (expr instanceof polyglot.ast.New) {
    return getNewLocal((polyglot.ast.New)expr);
  }
 else   if (expr instanceof polyglot.ast.Special) {
    return getSpecialLocal((polyglot.ast.Special)expr);
  }
 else   if (expr instanceof polyglot.ast.Instanceof) {
    return getInstanceOfLocal((polyglot.ast.Instanceof)expr);
  }
 else   if (expr instanceof polyglot.ast.Conditional) {
    return getConditionalLocal((polyglot.ast.Conditional)expr);
  }
 else   if (expr instanceof polyglot.ast.Field) {
    return getFieldLocal((polyglot.ast.Field)expr);
  }
 else {
    throw new RuntimeException("String_Node_Str");
  }
}

Fixed version (ground truth):
/** 
 * Expression Creation
 */
private soot.Value createExpr(polyglot.ast.Expr expr){
  if (expr instanceof polyglot.ast.Assign) {
    return getAssignLocal((polyglot.ast.Assign)expr);
  }
 else   if (expr instanceof polyglot.ast.Lit) {
    return createLiteral((polyglot.ast.Lit)expr);
  }
 else   if (expr instanceof polyglot.ast.Local) {
    return getLocal((polyglot.ast.Local)expr);
  }
 else   if (expr instanceof polyglot.ast.Binary) {
    return getBinaryLocal((polyglot.ast.Binary)expr);
  }
 else   if (expr instanceof polyglot.ast.Unary) {
    return getUnaryLocal((polyglot.ast.Unary)expr);
  }
 else   if (expr instanceof polyglot.ast.Cast) {
    return getCastLocal((polyglot.ast.Cast)expr);
  }
 else   if (expr instanceof polyglot.ast.ArrayAccess) {
    return getArrayRefLocal((polyglot.ast.ArrayAccess)expr);
  }
 else   if (expr instanceof polyglot.ast.NewArray) {
    return getNewArrayLocal((polyglot.ast.NewArray)expr);
  }
 else   if (expr instanceof polyglot.ast.Call) {
    return getCallLocal((polyglot.ast.Call)expr);
  }
 else   if (expr instanceof polyglot.ast.New) {
    return getNewLocal((polyglot.ast.New)expr);
  }
 else   if (expr instanceof polyglot.ast.Special) {
    return getSpecialLocal((polyglot.ast.Special)expr);
  }
 else   if (expr instanceof polyglot.ast.Instanceof) {
    return getInstanceOfLocal((polyglot.ast.Instanceof)expr);
  }
 else   if (expr instanceof polyglot.ast.Conditional) {
    return getConditionalLocal((polyglot.ast.Conditional)expr);
  }
 else   if (expr instanceof polyglot.ast.Field) {
    return getFieldLocal((polyglot.ast.Field)expr);
  }
 else {
    System.out.println("String_Node_Str" + expr);
    throw new RuntimeException("String_Node_Str");
  }
}