Program: 4816
Project: 4816
Buggy source:
@Override public void perform(Arguments arguments,PrintStream output) throws Exception {
  String[] programIdParts=arguments.get(elementType.getArgumentName().toString()).split("String_Node_Str");
  String appId=programIdParts[0];
  long currentTime=System.currentTimeMillis();
  long startTime=getTimestamp(arguments.getOptional(ArgumentName.START_TIME.toString(),"String_Node_Str"),currentTime);
  long endTime=getTimestamp(arguments.getOptional(ArgumentName.END_TIME.toString(),"String_Node_Str"),currentTime);
  int limit=arguments.getIntOptional(ArgumentName.LIMIT.toString(),Integer.MAX_VALUE);
  List<RunRecord> records;
  if (elementType.getProgramType() != null) {
    if (programIdParts.length < 2) {
      throw new CommandInputError(this);
    }
    String programName=programIdParts[1];
    ProgramId programId=cliConfig.getCurrentNamespace().app(appId).program(elementType.getProgramType(),programName);
    if (arguments.hasArgument(ArgumentName.RUN_STATUS.toString())) {
      records=programClient.getProgramRuns(programId,arguments.get(ArgumentName.RUN_STATUS.toString()),startTime,endTime,limit);
    }
 else {
      records=programClient.getAllProgramRuns(programId,startTime,endTime,limit);
    }
  }
 else {
    throw new IllegalArgumentException("String_Node_Str" + elementType);
  }
  Table table=Table.builder().setHeader("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str").setRows(records,new RowMaker<RunRecord>(){
    @Override public List<?> makeRow(    RunRecord object){
      return Lists.newArrayList(object.getPid(),object.getStatus(),object.getRunTs(),object.getStatus().name().equals("String_Node_Str") ? "String_Node_Str" : object.getStopTs());
    }
  }
).build();
  cliConfig.getTableRenderer().render(cliConfig,output,table);
}

Fixed version (ground truth):
@Override public void perform(Arguments arguments,PrintStream output) throws Exception {
  String[] programIdParts=arguments.get(elementType.getArgumentName().toString()).split("String_Node_Str");
  String appId=programIdParts[0];
  long currentTime=System.currentTimeMillis();
  long startTime=getTimestamp(arguments.getOptional(ArgumentName.START_TIME.toString(),"String_Node_Str"),currentTime);
  long endTime=getTimestamp(arguments.getOptional(ArgumentName.END_TIME.toString(),"String_Node_Str"),currentTime);
  int limit=arguments.getIntOptional(ArgumentName.LIMIT.toString(),Integer.MAX_VALUE);
  List<RunRecord> records;
  if (elementType.getProgramType() != null) {
    if (programIdParts.length < 2) {
      throw new CommandInputError(this);
    }
    String programName=programIdParts[1];
    ProgramId programId=cliConfig.getCurrentNamespace().app(appId).program(elementType.getProgramType(),programName);
    if (arguments.hasArgument(ArgumentName.RUN_STATUS.toString())) {
      records=programClient.getProgramRuns(programId,arguments.get(ArgumentName.RUN_STATUS.toString()),startTime,endTime,limit);
    }
 else {
      records=programClient.getAllProgramRuns(programId,startTime,endTime,limit);
    }
  }
 else {
    throw new IllegalArgumentException("String_Node_Str" + elementType);
  }
  Table table=Table.builder().setHeader("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str").setRows(records,new RowMaker<RunRecord>(){
    @Override public List<?> makeRow(    RunRecord object){
      return Lists.newArrayList(object.getPid(),object.getStatus(),object.getStartTs(),object.getRunTs() == null ? "String_Node_Str" : object.getRunTs(),object.getStopTs() == null ? "String_Node_Str" : object.getStopTs());
    }
  }
).build();
  cliConfig.getTableRenderer().render(cliConfig,output,table);
}