Program: 79497
Project: 79497
Buggy source:
private void putBuiltInFuncs(){
  putBuiltInFunc(scope,"String_Node_Str",Collections.singletonList(new VarEntity("String_Node_Str",StringType.getInstance())),VoidType.getInstance());
  putBuiltInFunc(scope,"String_Node_Str",Collections.singletonList(new VarEntity("String_Node_Str",StringType.getInstance())),VoidType.getInstance());
  putBuiltInFunc(scope,"String_Node_Str",new ArrayList<>(),StringType.getInstance());
  putBuiltInFunc(scope,"String_Node_Str",new ArrayList<>(),IntType.getInstance());
  putBuiltInFunc(scope,"String_Node_Str",Collections.singletonList(new VarEntity("String_Node_Str",IntType.getInstance())),StringType.getInstance());
  String stringKey=Scope.classKey(Scope.STRING_CLASS_NAME);
  ClassEntity stringEntity=new ClassEntity("String_Node_Str",new ClassType(Scope.STRING_CLASS_NAME),scope);
  putBuiltInFunc(stringEntity.getScope(),"String_Node_Str",new ArrayList<>(),IntType.getInstance());
  putBuiltInFunc(stringEntity.getScope(),"String_Node_Str",Arrays.asList(new VarEntity("String_Node_Str",IntType.getInstance()),new VarEntity("String_Node_Str",IntType.getInstance())),StringType.getInstance());
  putBuiltInFunc(stringEntity.getScope(),"String_Node_Str",new ArrayList<>(),IntType.getInstance());
  putBuiltInFunc(stringEntity.getScope(),"String_Node_Str",Collections.singletonList(new VarEntity("String_Node_Str",IntType.getInstance())),IntType.getInstance());
  scope.putCheck(Scope.STRING_CLASS_NAME,stringKey,stringEntity);
  String arrayKey=Scope.classKey(Scope.ARRAY_CLASS_NAME);
  ClassEntity arrayEntity=new ClassEntity("String_Node_Str",new ClassType(Scope.ARRAY_CLASS_NAME),scope);
  putBuiltInFunc(arrayEntity.getScope(),"String_Node_Str",new ArrayList<>(),IntType.getInstance());
  scope.putCheck(Scope.ARRAY_CLASS_NAME,arrayKey,arrayEntity);
}

Fixed version (ground truth):
private void putBuiltInFuncs(){
  putBuiltInFunc(scope,"String_Node_Str",Collections.singletonList(new VarEntity("String_Node_Str",StringType.getInstance())),VoidType.getInstance());
  putBuiltInFunc(scope,"String_Node_Str",Collections.singletonList(new VarEntity("String_Node_Str",StringType.getInstance())),VoidType.getInstance());
  putBuiltInFunc(scope,"String_Node_Str",new ArrayList<>(),StringType.getInstance());
  putBuiltInFunc(scope,"String_Node_Str",new ArrayList<>(),IntType.getInstance());
  putBuiltInFunc(scope,"String_Node_Str",Collections.singletonList(new VarEntity("String_Node_Str",IntType.getInstance())),StringType.getInstance());
  String stringKey=Scope.classKey(Scope.STRING_CLASS_NAME);
  ClassEntity stringEntity=new ClassEntity(Scope.STRING_CLASS_NAME,new ClassType(Scope.STRING_CLASS_NAME),scope);
  putBuiltInFunc(stringEntity.getScope(),"String_Node_Str",Arrays.asList(new VarEntity(Scope.THIS_PARA_NAME,StringType.getInstance())),IntType.getInstance());
  putBuiltInFunc(stringEntity.getScope(),"String_Node_Str",Arrays.asList(new VarEntity(Scope.THIS_PARA_NAME,StringType.getInstance()),new VarEntity("String_Node_Str",IntType.getInstance()),new VarEntity("String_Node_Str",IntType.getInstance())),StringType.getInstance());
  putBuiltInFunc(stringEntity.getScope(),"String_Node_Str",Arrays.asList(new VarEntity(Scope.THIS_PARA_NAME,StringType.getInstance())),IntType.getInstance());
  putBuiltInFunc(stringEntity.getScope(),"String_Node_Str",Arrays.asList(new VarEntity(Scope.THIS_PARA_NAME,StringType.getInstance()),new VarEntity("String_Node_Str",IntType.getInstance())),IntType.getInstance());
  scope.putCheck(Scope.STRING_CLASS_NAME,stringKey,stringEntity);
  String arrayKey=Scope.classKey(Scope.ARRAY_CLASS_NAME);
  ClassEntity arrayEntity=new ClassEntity(Scope.ARRAY_CLASS_NAME,new ClassType(Scope.ARRAY_CLASS_NAME),scope);
  putBuiltInFunc(arrayEntity.getScope(),"String_Node_Str",Arrays.asList(new VarEntity(Scope.THIS_PARA_NAME,new ArrayType(null))),IntType.getInstance());
  scope.putCheck(Scope.ARRAY_CLASS_NAME,arrayKey,arrayEntity);
}