Program: 48552
Project: 48552
Buggy source:
public void start(){
  final Stats stats=new Stats();
  for (int i=0; i < threadCount; i++) {
    es.submit(new Runnable(){
      public void run(){
        Map<String,byte[]> map=hazelcast.getMap("String_Node_Str");
        while (running) {
          try {
            int key=(int)(Math.random() * entryCount);
            int operation=((int)(Math.random() * 100)) % 10;
            if (operation < 4) {
              map.put(String.valueOf(key),new byte[valueSize]);
              stats.mapPuts.incrementAndGet();
            }
 else             if (operation < 8) {
              map.get(String.valueOf(key));
              stats.mapGets.incrementAndGet();
            }
 else {
              map.remove(String.valueOf(key));
              stats.mapRemoves.incrementAndGet();
            }
          }
 catch (          HazelcastInstanceNotActiveException ignored) {
          }
catch (          Throwable e) {
            e.printStackTrace();
          }
        }
      }
    }
);
  }
  esStats.submit(new Runnable(){
    public void run(){
      final ILogger logger=hazelcast.getLoggingService().getLogger(hazelcast.getName());
      while (running) {
        try {
          Thread.sleep(STATS_SECONDS * 1000);
          int clusterSize=hazelcast.getCluster().getMembers().size();
          Stats currentStats=stats.getAndReset();
          logger.info("String_Node_Str" + clusterSize + "String_Node_Str"+ (currentStats.total() / STATS_SECONDS));
        }
 catch (        HazelcastInstanceNotActiveException ignored) {
        }
catch (        Exception e) {
          e.printStackTrace();
        }
      }
    }
  }
);
}

Fixed version (ground truth):
public void start(){
  final Stats stats=new Stats();
  for (int i=0; i < threadCount; i++) {
    es.submit(new Runnable(){
      public void run(){
        Random random=new Random();
        Map<String,byte[]> map=hazelcast.getMap("String_Node_Str");
        while (running) {
          try {
            int key=(int)(Math.random() * entryCount);
            int operation=random(10);
            if (operation < 4) {
              map.put(String.valueOf(key),new byte[valueSize]);
              stats.mapPuts.incrementAndGet();
            }
 else             if (operation < 8) {
              map.get(String.valueOf(key));
              stats.mapGets.incrementAndGet();
            }
 else {
              map.remove(String.valueOf(key));
              stats.mapRemoves.incrementAndGet();
            }
          }
 catch (          HazelcastInstanceNotActiveException ignored) {
          }
catch (          Throwable e) {
            e.printStackTrace();
          }
        }
      }
    }
);
  }
  esStats.submit(new Runnable(){
    public void run(){
      final ILogger logger=hazelcast.getLoggingService().getLogger(hazelcast.getName());
      while (running) {
        try {
          Thread.sleep(STATS_SECONDS * 1000);
          int clusterSize=hazelcast.getCluster().getMembers().size();
          Stats currentStats=stats.getAndReset();
          logger.info("String_Node_Str" + clusterSize + "String_Node_Str"+ (currentStats.total() / STATS_SECONDS));
        }
 catch (        HazelcastInstanceNotActiveException ignored) {
        }
catch (        Exception e) {
          e.printStackTrace();
        }
      }
    }
  }
);
}