Program: 4804
Project: 4804
Buggy source:
/** 
 * Configures a   {@link com.google.inject.Binder} via the exposed methods.
 */
@Override protected void configure(){
  bind(ServiceAnnouncer.class).to(DiscoveryServiceAnnouncer.class);
  bind(QueueReaderFactory.class).in(Scopes.SINGLETON);
  bind(ProgramStateWriter.class).to(DirectStoreProgramStateWriter.class);
  MapBinder<ProgramType,ProgramRunner> runnerFactoryBinder=MapBinder.newMapBinder(binder(),ProgramType.class,ProgramRunner.class);
  runnerFactoryBinder.addBinding(ProgramType.FLOW).to(InMemoryFlowProgramRunner.class);
  runnerFactoryBinder.addBinding(ProgramType.MAPREDUCE).to(MapReduceProgramRunner.class);
  runnerFactoryBinder.addBinding(ProgramType.WORKFLOW).to(WorkflowProgramRunner.class);
  runnerFactoryBinder.addBinding(ProgramType.WEBAPP).to(WebappProgramRunner.class);
  runnerFactoryBinder.addBinding(ProgramType.WORKER).to(InMemoryWorkerRunner.class);
  runnerFactoryBinder.addBinding(ProgramType.SERVICE).to(InMemoryServiceProgramRunner.class);
  bind(FlowletProgramRunner.class);
  bind(ServiceProgramRunner.class);
  bind(WorkerProgramRunner.class);
  bind(ProgramRuntimeProvider.Mode.class).toInstance(ProgramRuntimeProvider.Mode.LOCAL);
  bind(ProgramRunnerFactory.class).to(DefaultProgramRunnerFactory.class).in(Scopes.SINGLETON);
  expose(ProgramRunnerFactory.class);
  bind(ProgramRuntimeService.class).to(InMemoryProgramRuntimeService.class).in(Scopes.SINGLETON);
  expose(ProgramRuntimeService.class);
  install(new DataFabricFacadeModule());
  install(new FactoryModuleBuilder().implement(JarHttpHandler.class,IntactJarHttpHandler.class).build(WebappHttpHandlerFactory.class));
  install(new FactoryModuleBuilder().implement(StreamWriter.class,streamWriterClass).build(StreamWriterFactory.class));
}

Fixed version (ground truth):
/** 
 * Configures a   {@link com.google.inject.Binder} via the exposed methods.
 */
@Override protected void configure(){
  bind(ServiceAnnouncer.class).to(DiscoveryServiceAnnouncer.class);
  bind(QueueReaderFactory.class).in(Scopes.SINGLETON);
  bind(ProgramStateWriter.class).to(MessagingProgramStateWriter.class);
  MapBinder<ProgramType,ProgramRunner> runnerFactoryBinder=MapBinder.newMapBinder(binder(),ProgramType.class,ProgramRunner.class);
  runnerFactoryBinder.addBinding(ProgramType.FLOW).to(InMemoryFlowProgramRunner.class);
  runnerFactoryBinder.addBinding(ProgramType.MAPREDUCE).to(MapReduceProgramRunner.class);
  runnerFactoryBinder.addBinding(ProgramType.WORKFLOW).to(WorkflowProgramRunner.class);
  runnerFactoryBinder.addBinding(ProgramType.WEBAPP).to(WebappProgramRunner.class);
  runnerFactoryBinder.addBinding(ProgramType.WORKER).to(InMemoryWorkerRunner.class);
  runnerFactoryBinder.addBinding(ProgramType.SERVICE).to(InMemoryServiceProgramRunner.class);
  bind(FlowletProgramRunner.class);
  bind(ServiceProgramRunner.class);
  bind(WorkerProgramRunner.class);
  bind(ProgramRuntimeProvider.Mode.class).toInstance(ProgramRuntimeProvider.Mode.LOCAL);
  bind(ProgramRunnerFactory.class).to(DefaultProgramRunnerFactory.class).in(Scopes.SINGLETON);
  expose(ProgramRunnerFactory.class);
  bind(ProgramRuntimeService.class).to(InMemoryProgramRuntimeService.class).in(Scopes.SINGLETON);
  expose(ProgramRuntimeService.class);
  install(new DataFabricFacadeModule());
  install(new FactoryModuleBuilder().implement(JarHttpHandler.class,IntactJarHttpHandler.class).build(WebappHttpHandlerFactory.class));
  install(new FactoryModuleBuilder().implement(StreamWriter.class,streamWriterClass).build(StreamWriterFactory.class));
}