Program: 191220
Project: 191220
Buggy source:
void dump(PrintWriter pw,String prefix){
  pw.print(prefix);
  pw.print("String_Node_Str");
  pw.print(intent.getIntent().toShortString(false,true,false,true));
  pw.println('}');
  pw.print(prefix);
  pw.print("String_Node_Str");
  pw.println(packageName);
  pw.print(prefix);
  pw.print("String_Node_Str");
  pw.println(processName);
  if (permission != null) {
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.println(permission);
  }
  long now=SystemClock.uptimeMillis();
  long nowReal=SystemClock.elapsedRealtime();
  if (appInfo != null) {
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.println(appInfo.sourceDir);
    if (!Objects.equals(appInfo.sourceDir,appInfo.publicSourceDir)) {
      pw.print(prefix);
      pw.print("String_Node_Str");
      pw.println(appInfo.publicSourceDir);
    }
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.println(appInfo.dataDir);
  }
  pw.print(prefix);
  pw.print("String_Node_Str");
  pw.println(app);
  if (isolatedProc != null) {
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.println(isolatedProc);
  }
  if (delayed) {
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.println(delayed);
  }
  if (isForeground || foregroundId != 0) {
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.print(isForeground);
    pw.print("String_Node_Str");
    pw.print(foregroundId);
    pw.print("String_Node_Str");
    pw.println(foregroundNoti);
  }
  pw.print(prefix);
  pw.print("String_Node_Str");
  TimeUtils.formatDuration(createTime,nowReal,pw);
  pw.print("String_Node_Str");
  TimeUtils.formatDuration(startingBgTimeout,now,pw);
  pw.println();
  pw.print(prefix);
  pw.print("String_Node_Str");
  TimeUtils.formatDuration(lastActivity,now,pw);
  pw.print("String_Node_Str");
  TimeUtils.formatDuration(restartTime,now,pw);
  pw.print("String_Node_Str");
  pw.println(createdFromFg);
  if (startRequested || delayedStop || lastStartId != 0) {
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.print(startRequested);
    pw.print("String_Node_Str");
    pw.print(delayedStop);
    pw.print("String_Node_Str");
    pw.print(stopIfKilled);
    pw.print("String_Node_Str");
    pw.print(callStart);
    pw.print("String_Node_Str");
    pw.println(lastStartId);
  }
  if (executeNesting != 0) {
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.print(executeNesting);
    pw.print("String_Node_Str");
    pw.print(executeFg);
    pw.print("String_Node_Str");
    TimeUtils.formatDuration(executingStart,now,pw);
    pw.println();
  }
  if (destroying || destroyTime != 0) {
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.print(destroying);
    pw.print("String_Node_Str");
    TimeUtils.formatDuration(destroyTime,now,pw);
    pw.println();
  }
  if (crashCount != 0 || restartCount != 0 || restartDelay != 0 || nextRestartTime != 0) {
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.print(restartCount);
    pw.print("String_Node_Str");
    TimeUtils.formatDuration(restartDelay,now,pw);
    pw.print("String_Node_Str");
    TimeUtils.formatDuration(nextRestartTime,now,pw);
    pw.print("String_Node_Str");
    pw.println(crashCount);
  }
  if (deliveredStarts.size() > 0) {
    pw.print(prefix);
    pw.println("String_Node_Str");
    dumpStartList(pw,prefix,deliveredStarts,now);
  }
  if (pendingStarts.size() > 0) {
    pw.print(prefix);
    pw.println("String_Node_Str");
    dumpStartList(pw,prefix,pendingStarts,0);
  }
  if (bindings.size() > 0) {
    pw.print(prefix);
    pw.println("String_Node_Str");
    for (int i=0; i < bindings.size(); i++) {
      IntentBindRecord b=bindings.valueAt(i);
      pw.print(prefix);
      pw.print("String_Node_Str");
      pw.print(Integer.toHexString(System.identityHashCode(b)));
      if ((b.collectFlags() & Context.BIND_AUTO_CREATE) != 0) {
        pw.append("String_Node_Str");
      }
      pw.println("String_Node_Str");
      b.dumpInService(pw,prefix + "String_Node_Str");
    }
  }
  if (connections.size() > 0) {
    pw.print(prefix);
    pw.println("String_Node_Str");
    for (int conni=0; conni < connections.size(); conni++) {
      ArrayList<ConnectionRecord> c=connections.valueAt(conni);
      for (int i=0; i < c.size(); i++) {
        pw.print(prefix);
        pw.print("String_Node_Str");
        pw.println(c.get(i));
      }
    }
  }
}

Fixed version (ground truth):
void dump(PrintWriter pw,String prefix){
  pw.print(prefix);
  pw.print("String_Node_Str");
  pw.print(intent.getIntent().toShortString(false,true,false,true));
  pw.println('}');
  pw.print(prefix);
  pw.print("String_Node_Str");
  pw.println(packageName);
  pw.print(prefix);
  pw.print("String_Node_Str");
  pw.println(processName);
  if (permission != null) {
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.println(permission);
  }
  long now=SystemClock.uptimeMillis();
  long nowReal=SystemClock.elapsedRealtime();
  if (appInfo != null) {
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.println(appInfo.sourceDir);
    if (!Objects.equals(appInfo.sourceDir,appInfo.publicSourceDir)) {
      pw.print(prefix);
      pw.print("String_Node_Str");
      pw.println(appInfo.publicSourceDir);
    }
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.println(appInfo.dataDir);
  }
  pw.print(prefix);
  pw.print("String_Node_Str");
  pw.println(app);
  if (isolatedProc != null) {
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.println(isolatedProc);
  }
  if (whitelistManager) {
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.println(whitelistManager);
  }
  if (delayed) {
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.println(delayed);
  }
  if (isForeground || foregroundId != 0) {
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.print(isForeground);
    pw.print("String_Node_Str");
    pw.print(foregroundId);
    pw.print("String_Node_Str");
    pw.println(foregroundNoti);
  }
  pw.print(prefix);
  pw.print("String_Node_Str");
  TimeUtils.formatDuration(createTime,nowReal,pw);
  pw.print("String_Node_Str");
  TimeUtils.formatDuration(startingBgTimeout,now,pw);
  pw.println();
  pw.print(prefix);
  pw.print("String_Node_Str");
  TimeUtils.formatDuration(lastActivity,now,pw);
  pw.print("String_Node_Str");
  TimeUtils.formatDuration(restartTime,now,pw);
  pw.print("String_Node_Str");
  pw.println(createdFromFg);
  if (startRequested || delayedStop || lastStartId != 0) {
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.print(startRequested);
    pw.print("String_Node_Str");
    pw.print(delayedStop);
    pw.print("String_Node_Str");
    pw.print(stopIfKilled);
    pw.print("String_Node_Str");
    pw.print(callStart);
    pw.print("String_Node_Str");
    pw.println(lastStartId);
  }
  if (executeNesting != 0) {
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.print(executeNesting);
    pw.print("String_Node_Str");
    pw.print(executeFg);
    pw.print("String_Node_Str");
    TimeUtils.formatDuration(executingStart,now,pw);
    pw.println();
  }
  if (destroying || destroyTime != 0) {
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.print(destroying);
    pw.print("String_Node_Str");
    TimeUtils.formatDuration(destroyTime,now,pw);
    pw.println();
  }
  if (crashCount != 0 || restartCount != 0 || restartDelay != 0 || nextRestartTime != 0) {
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.print(restartCount);
    pw.print("String_Node_Str");
    TimeUtils.formatDuration(restartDelay,now,pw);
    pw.print("String_Node_Str");
    TimeUtils.formatDuration(nextRestartTime,now,pw);
    pw.print("String_Node_Str");
    pw.println(crashCount);
  }
  if (deliveredStarts.size() > 0) {
    pw.print(prefix);
    pw.println("String_Node_Str");
    dumpStartList(pw,prefix,deliveredStarts,now);
  }
  if (pendingStarts.size() > 0) {
    pw.print(prefix);
    pw.println("String_Node_Str");
    dumpStartList(pw,prefix,pendingStarts,0);
  }
  if (bindings.size() > 0) {
    pw.print(prefix);
    pw.println("String_Node_Str");
    for (int i=0; i < bindings.size(); i++) {
      IntentBindRecord b=bindings.valueAt(i);
      pw.print(prefix);
      pw.print("String_Node_Str");
      pw.print(Integer.toHexString(System.identityHashCode(b)));
      if ((b.collectFlags() & Context.BIND_AUTO_CREATE) != 0) {
        pw.append("String_Node_Str");
      }
      pw.println("String_Node_Str");
      b.dumpInService(pw,prefix + "String_Node_Str");
    }
  }
  if (connections.size() > 0) {
    pw.print(prefix);
    pw.println("String_Node_Str");
    for (int conni=0; conni < connections.size(); conni++) {
      ArrayList<ConnectionRecord> c=connections.valueAt(conni);
      for (int i=0; i < c.size(); i++) {
        pw.print(prefix);
        pw.print("String_Node_Str");
        pw.println(c.get(i));
      }
    }
  }
}