Program: 187989
Project: 187989
Buggy source:
public void test() throws Exception {
  MailboxFactory mailboxFactory=JAMailboxFactory.newMailboxFactory(10);
  Mailbox factoryMailbox=mailboxFactory.createMailbox();
  JAFactory factory=new JAFactory();
  factory.initialize(factoryMailbox);
  (new JFileFactories()).initialize(factoryMailbox,factory);
  IncrementCounterFactory ntf=new IncrementCounterFactory("String_Node_Str");
  factory.registerActorFactory(ntf);
  JAFuture future=new JAFuture();
  AggregateTransaction aggregateTransaction=new AggregateTransaction(ntf);
  Path directoryPath=FileSystems.getDefault().getPath("String_Node_Str");
  CounterDB db=new CounterDB(mailboxFactory,factory,directoryPath);
  db.initialCapacity=10000;
  db.clearDirectory();
  (new OpenDbFile(10000)).send(future,db);
  TransactionAggregator transactionAggregator=db.getTransactionAggregator();
  TransactionAggregatorDriver transactionAggregatorDriver=new TransactionAggregatorDriver();
  transactionAggregatorDriver.initialize(mailboxFactory.createAsyncMailbox(),transactionAggregator);
  transactionAggregatorDriver.setInitialBufferCapacity(10000);
  transactionAggregatorDriver.win=3;
  transactionAggregatorDriver.aggregateTransaction=aggregateTransaction;
  transactionAggregatorDriver.batch=10;
  transactionAggregatorDriver.count=10;
  Go.req.send(future,transactionAggregatorDriver);
  Finish.req.send(future,transactionAggregator);
  long t0=System.currentTimeMillis();
  Go.req.send(future,transactionAggregatorDriver);
  Finish.req.send(future,transactionAggregator);
  long t1=System.currentTimeMillis();
  int transactions=transactionAggregatorDriver.batch * transactionAggregatorDriver.count;
  assertEquals(2 * transactions,db.getCounter());
  System.out.println("String_Node_Str" + (t1 - t0));
  System.out.println("String_Node_Str" + transactions);
  System.out.println("String_Node_Str" + (1000L * transactions / (t1 - t0)));
  db.closeDbFile();
  mailboxFactory.close();
}

Fixed version (ground truth):
public void test() throws Exception {
  MailboxFactory mailboxFactory=JAMailboxFactory.newMailboxFactory(10);
  Mailbox factoryMailbox=mailboxFactory.createMailbox();
  JAFactory factory=new JAFactory();
  factory.initialize(factoryMailbox);
  (new JFileFactories()).initialize(factoryMailbox,factory);
  IncrementCounterFactory ntf=new IncrementCounterFactory("String_Node_Str");
  factory.registerActorFactory(ntf);
  JAFuture future=new JAFuture();
  AggregateTransaction aggregateTransaction=new AggregateTransaction(ntf);
  Path directoryPath=FileSystems.getDefault().getPath("String_Node_Str");
  CounterDB db=new CounterDB(mailboxFactory,factory,directoryPath);
  db.clearDirectory();
  (new OpenDbFile(10000)).send(future,db);
  TransactionAggregator transactionAggregator=db.getTransactionAggregator();
  TransactionAggregatorDriver transactionAggregatorDriver=new TransactionAggregatorDriver();
  transactionAggregatorDriver.initialize(mailboxFactory.createAsyncMailbox(),transactionAggregator);
  transactionAggregatorDriver.setInitialBufferCapacity(10000);
  transactionAggregatorDriver.win=3;
  transactionAggregatorDriver.aggregateTransaction=aggregateTransaction;
  transactionAggregatorDriver.batch=5;
  transactionAggregatorDriver.count=5;
  System.out.println("String_Node_Str");
  Go.req.send(future,transactionAggregatorDriver);
  Finish.req.send(future,transactionAggregator);
  long t0=System.currentTimeMillis();
  Go.req.send(future,transactionAggregatorDriver);
  Finish.req.send(future,transactionAggregator);
  long t1=System.currentTimeMillis();
  int transactions=transactionAggregatorDriver.batch * transactionAggregatorDriver.count;
  assertEquals(2 * transactions,db.getCounter());
  System.out.println("String_Node_Str" + (t1 - t0));
  System.out.println("String_Node_Str" + transactions);
  if (t1 != t0)   System.out.println("String_Node_Str" + (1000L * transactions / (t1 - t0)));
  db.closeDbFile();
  mailboxFactory.close();
}