Program: 53010
Project: 53010
Buggy source:
public static CxxPlatform build(Platform platform,CxxBuckConfig config){
  String sharedLibraryExtension;
  String sharedLibraryVersionedExtensionFormat;
  String staticLibraryExtension;
  String objectFileExtension;
  Path defaultCFrontend;
  Path defaultCxxFrontend;
  LinkerProvider.Type linkerType;
  Archiver archiver;
switch (platform) {
case LINUX:
    sharedLibraryExtension="String_Node_Str";
  sharedLibraryVersionedExtensionFormat="String_Node_Str";
staticLibraryExtension="String_Node_Str";
objectFileExtension="String_Node_Str";
defaultCFrontend=DEFAULT_C_FRONTEND;
defaultCxxFrontend=DEFAULT_CXX_FRONTEND;
linkerType=LinkerProvider.Type.GNU;
archiver=new GnuArchiver(new HashedFileTool(DEFAULT_AR));
break;
case MACOS:
sharedLibraryExtension="String_Node_Str";
sharedLibraryVersionedExtensionFormat="String_Node_Str";
staticLibraryExtension="String_Node_Str";
objectFileExtension="String_Node_Str";
defaultCFrontend=DEFAULT_OSX_C_FRONTEND;
defaultCxxFrontend=DEFAULT_OSX_CXX_FRONTEND;
linkerType=LinkerProvider.Type.DARWIN;
archiver=new BsdArchiver(new HashedFileTool(DEFAULT_AR));
break;
case WINDOWS:
sharedLibraryExtension="String_Node_Str";
sharedLibraryVersionedExtensionFormat="String_Node_Str";
staticLibraryExtension="String_Node_Str";
objectFileExtension="String_Node_Str";
defaultCFrontend=DEFAULT_C_FRONTEND;
defaultCxxFrontend=DEFAULT_CXX_FRONTEND;
linkerType=LinkerProvider.Type.WINDOWS;
archiver=new WindowsArchiver(new HashedFileTool(DEFAULT_AR));
break;
case FREEBSD:
sharedLibraryExtension="String_Node_Str";
sharedLibraryVersionedExtensionFormat="String_Node_Str";
staticLibraryExtension="String_Node_Str";
objectFileExtension="String_Node_Str";
defaultCFrontend=DEFAULT_C_FRONTEND;
defaultCxxFrontend=DEFAULT_CXX_FRONTEND;
linkerType=LinkerProvider.Type.GNU;
archiver=new BsdArchiver(new HashedFileTool(DEFAULT_AR));
break;
default :
throw new RuntimeException(String.format("String_Node_Str",platform));
}
PreprocessorProvider aspp=new PreprocessorProvider(defaultCFrontend,Optional.empty());
CompilerProvider as=new CompilerProvider(defaultCFrontend,Optional.empty());
PreprocessorProvider cpp=new PreprocessorProvider(defaultCFrontend,Optional.empty());
CompilerProvider cc=new CompilerProvider(defaultCFrontend,Optional.empty());
PreprocessorProvider cxxpp=new PreprocessorProvider(defaultCxxFrontend,Optional.empty());
CompilerProvider cxx=new CompilerProvider(defaultCxxFrontend,Optional.empty());
return CxxPlatforms.build(FLAVOR,config,as,aspp,cc,cxx,cpp,cxxpp,new DefaultLinkerProvider(linkerType,new ConstantToolProvider(new HashedFileTool(defaultCxxFrontend))),ImmutableList.of(),new HashedFileTool(DEFAULT_STRIP),archiver,new HashedFileTool(DEFAULT_RANLIB),new PosixNmSymbolNameTool(new HashedFileTool(DEFAULT_NM)),ImmutableList.of(),ImmutableList.of(),ImmutableList.of(),ImmutableList.of(),sharedLibraryExtension,sharedLibraryVersionedExtensionFormat,staticLibraryExtension,objectFileExtension,Optional.empty(),Optional.empty(),ImmutableMap.of());
}

Fixed version (ground truth):
public static CxxPlatform build(Platform platform,ProjectFilesystem filesystem,CxxBuckConfig config){
  String sharedLibraryExtension;
  String sharedLibraryVersionedExtensionFormat;
  String staticLibraryExtension;
  String objectFileExtension;
  Path defaultCFrontend;
  Path defaultCxxFrontend;
  LinkerProvider.Type linkerType;
  Archiver archiver;
  DebugPathSanitizer compilerSanitizer;
switch (platform) {
case LINUX:
    sharedLibraryExtension="String_Node_Str";
  sharedLibraryVersionedExtensionFormat="String_Node_Str";
staticLibraryExtension="String_Node_Str";
objectFileExtension="String_Node_Str";
defaultCFrontend=DEFAULT_C_FRONTEND;
defaultCxxFrontend=DEFAULT_CXX_FRONTEND;
linkerType=LinkerProvider.Type.GNU;
archiver=new GnuArchiver(new HashedFileTool(DEFAULT_AR));
compilerSanitizer=new PrefixMapDebugPathSanitizer(config.getDebugPathSanitizerLimit(),File.separatorChar,Paths.get("String_Node_Str"),ImmutableBiMap.of(),filesystem.getRootPath().toAbsolutePath(),CxxToolProvider.Type.GCC);
break;
case MACOS:
sharedLibraryExtension="String_Node_Str";
sharedLibraryVersionedExtensionFormat="String_Node_Str";
staticLibraryExtension="String_Node_Str";
objectFileExtension="String_Node_Str";
defaultCFrontend=DEFAULT_OSX_C_FRONTEND;
defaultCxxFrontend=DEFAULT_OSX_CXX_FRONTEND;
linkerType=LinkerProvider.Type.DARWIN;
archiver=new BsdArchiver(new HashedFileTool(DEFAULT_AR));
compilerSanitizer=new PrefixMapDebugPathSanitizer(config.getDebugPathSanitizerLimit(),File.separatorChar,Paths.get("String_Node_Str"),ImmutableBiMap.of(),filesystem.getRootPath().toAbsolutePath(),CxxToolProvider.Type.CLANG);
break;
case WINDOWS:
sharedLibraryExtension="String_Node_Str";
sharedLibraryVersionedExtensionFormat="String_Node_Str";
staticLibraryExtension="String_Node_Str";
objectFileExtension="String_Node_Str";
defaultCFrontend=DEFAULT_C_FRONTEND;
defaultCxxFrontend=DEFAULT_CXX_FRONTEND;
linkerType=LinkerProvider.Type.WINDOWS;
archiver=new WindowsArchiver(new HashedFileTool(DEFAULT_AR));
compilerSanitizer=new PrefixMapDebugPathSanitizer(config.getDebugPathSanitizerLimit(),File.separatorChar,Paths.get("String_Node_Str"),ImmutableBiMap.of(),filesystem.getRootPath().toAbsolutePath(),CxxToolProvider.Type.GCC);
break;
case FREEBSD:
sharedLibraryExtension="String_Node_Str";
sharedLibraryVersionedExtensionFormat="String_Node_Str";
staticLibraryExtension="String_Node_Str";
objectFileExtension="String_Node_Str";
defaultCFrontend=DEFAULT_C_FRONTEND;
defaultCxxFrontend=DEFAULT_CXX_FRONTEND;
linkerType=LinkerProvider.Type.GNU;
archiver=new BsdArchiver(new HashedFileTool(DEFAULT_AR));
compilerSanitizer=new PrefixMapDebugPathSanitizer(config.getDebugPathSanitizerLimit(),File.separatorChar,Paths.get("String_Node_Str"),ImmutableBiMap.of(),filesystem.getRootPath().toAbsolutePath(),CxxToolProvider.Type.GCC);
break;
default :
throw new RuntimeException(String.format("String_Node_Str",platform));
}
PreprocessorProvider aspp=new PreprocessorProvider(defaultCFrontend,Optional.empty());
CompilerProvider as=new CompilerProvider(defaultCFrontend,Optional.empty());
PreprocessorProvider cpp=new PreprocessorProvider(defaultCFrontend,Optional.empty());
CompilerProvider cc=new CompilerProvider(defaultCFrontend,Optional.empty());
PreprocessorProvider cxxpp=new PreprocessorProvider(defaultCxxFrontend,Optional.empty());
CompilerProvider cxx=new CompilerProvider(defaultCxxFrontend,Optional.empty());
return CxxPlatforms.build(FLAVOR,config,as,aspp,cc,cxx,cpp,cxxpp,new DefaultLinkerProvider(linkerType,new ConstantToolProvider(new HashedFileTool(defaultCxxFrontend))),ImmutableList.of(),new HashedFileTool(DEFAULT_STRIP),archiver,new HashedFileTool(DEFAULT_RANLIB),new PosixNmSymbolNameTool(new HashedFileTool(DEFAULT_NM)),ImmutableList.of(),ImmutableList.of(),ImmutableList.of(),ImmutableList.of(),sharedLibraryExtension,sharedLibraryVersionedExtensionFormat,staticLibraryExtension,objectFileExtension,compilerSanitizer,new MungingDebugPathSanitizer(config.getDebugPathSanitizerLimit(),File.separatorChar,Paths.get("String_Node_Str"),ImmutableBiMap.of()),ImmutableMap.of());
}