Program: 7255
Project: 7255
Buggy source:
@Test public void test() throws IOException {
  DefaultDatasetNamespace dsNamespace=new DefaultDatasetNamespace(CConfiguration.create());
  String name=dsNamespace.namespace(NAMESPACE_ID,"String_Node_Str");
  DatasetDefinition<? extends NoTxKeyValueTable,? extends DatasetAdmin> def=getDefinition();
  DatasetSpecification spec=def.configure(name,DatasetProperties.EMPTY);
  ClassLoader cl=NoTxKeyValueTable.class.getClassLoader();
  DatasetContext datasetContext=new DatasetContext.Builder().setNamespaceId(namespaceId).build();
  DatasetAdmin admin=def.getAdmin(datasetContext,spec,cl);
  Assert.assertFalse(admin.exists());
  admin.create();
  Assert.assertTrue(admin.exists());
  NoTxKeyValueTable table=def.getDataset(datasetContext,spec,NO_ARGS,cl);
  Assert.assertNull(table.get(KEY1));
  table.put(KEY1,VALUE1);
  Assert.assertArrayEquals(VALUE1,table.get(KEY1));
  Assert.assertNull(table.get(KEY2));
  table.put(KEY1,VALUE2);
  Assert.assertArrayEquals(VALUE2,table.get(KEY1));
  Assert.assertNull(table.get(KEY2));
  table.put(KEY2,VALUE1);
  Assert.assertArrayEquals(VALUE2,table.get(KEY1));
  Assert.assertArrayEquals(VALUE1,table.get(KEY2));
  table.put(KEY2,null);
  Assert.assertNull(table.get(KEY2));
  Assert.assertArrayEquals(VALUE2,table.get(KEY1));
  admin.truncate();
  Assert.assertNull(table.get(KEY1));
  Assert.assertNull(table.get(KEY2));
  Assert.assertTrue(admin.exists());
  admin.drop();
  Assert.assertFalse(admin.exists());
  admin.create();
  Assert.assertTrue(admin.exists());
  Assert.assertNull(table.get(KEY1));
  Assert.assertNull(table.get(KEY2));
  table.put(KEY1,VALUE1);
  Assert.assertArrayEquals(VALUE1,table.get(KEY1));
  admin.drop();
  Assert.assertFalse(admin.exists());
  admin.create();
  Assert.assertTrue(admin.exists());
  Assert.assertNull(table.get(KEY1));
}

Fixed version (ground truth):
@Test public void test() throws IOException {
  DefaultDatasetNamespace dsNamespace=new DefaultDatasetNamespace(CConfiguration.create());
  String name=dsNamespace.namespace(NAMESPACE_ID,"String_Node_Str");
  DatasetDefinition<? extends NoTxKeyValueTable,? extends DatasetAdmin> def=getDefinition();
  DatasetSpecification spec=def.configure(name,DatasetProperties.EMPTY);
  ClassLoader cl=NoTxKeyValueTable.class.getClassLoader();
  DatasetContext datasetContext=DatasetContext.from(namespaceId);
  DatasetAdmin admin=def.getAdmin(datasetContext,spec,cl);
  Assert.assertFalse(admin.exists());
  admin.create();
  Assert.assertTrue(admin.exists());
  NoTxKeyValueTable table=def.getDataset(datasetContext,spec,NO_ARGS,cl);
  Assert.assertNull(table.get(KEY1));
  table.put(KEY1,VALUE1);
  Assert.assertArrayEquals(VALUE1,table.get(KEY1));
  Assert.assertNull(table.get(KEY2));
  table.put(KEY1,VALUE2);
  Assert.assertArrayEquals(VALUE2,table.get(KEY1));
  Assert.assertNull(table.get(KEY2));
  table.put(KEY2,VALUE1);
  Assert.assertArrayEquals(VALUE2,table.get(KEY1));
  Assert.assertArrayEquals(VALUE1,table.get(KEY2));
  table.put(KEY2,null);
  Assert.assertNull(table.get(KEY2));
  Assert.assertArrayEquals(VALUE2,table.get(KEY1));
  admin.truncate();
  Assert.assertNull(table.get(KEY1));
  Assert.assertNull(table.get(KEY2));
  Assert.assertTrue(admin.exists());
  admin.drop();
  Assert.assertFalse(admin.exists());
  admin.create();
  Assert.assertTrue(admin.exists());
  Assert.assertNull(table.get(KEY1));
  Assert.assertNull(table.get(KEY2));
  table.put(KEY1,VALUE1);
  Assert.assertArrayEquals(VALUE1,table.get(KEY1));
  admin.drop();
  Assert.assertFalse(admin.exists());
  admin.create();
  Assert.assertTrue(admin.exists());
  Assert.assertNull(table.get(KEY1));
}