Program: 125410
Project: 125410
Buggy source:
private void testProcesspropagateFileName2(LocalRepositoryFactory factory,String path) throws PersistenceException {
  IProject project=ResourceUtils.getProject(sampleProject);
  ProcessItem processItem=createTempProcessItem(factory,path);
  FolderItem folderItem=factory.getFolderItem(sampleProject,ERepositoryObjectType.PROCESS,new Path(path));
  assertNotNull(processItem.getParent());
  assertTrue(processItem.getParent().equals(folderItem));
  String processId=processItem.getProperty().getId();
  processItem.getProperty().setLabel("String_Node_Str");
  checkFileExists(project,ERepositoryObjectType.PROCESS,path,"String_Node_Str","String_Node_Str");
  factory.save(sampleProject,processItem.getProperty());
  checkFileExists(project,ERepositoryObjectType.PROCESS,path,"String_Node_Str","String_Node_Str");
  checkFileNotExists(project,ERepositoryObjectType.PROCESS,path,"String_Node_Str","String_Node_Str");
  processItem.getProperty().setVersion("String_Node_Str");
  factory.save(sampleProject,processItem.getProperty());
  checkFileExists(project,ERepositoryObjectType.PROCESS,path,"String_Node_Str","String_Node_Str");
  checkFileExists(project,ERepositoryObjectType.PROCESS,path,"String_Node_Str","String_Node_Str");
  factory.unloadUnlockedResources();
  List<IRepositoryViewObject> objects=factory.getAllVersion(sampleProject,processId,false);
  assertTrue(objects.size() == 2);
  processItem=(ProcessItem)factory.getLastVersion(sampleProject,processId).getProperty().getItem();
  folderItem=factory.getFolderItem(sampleProject,ERepositoryObjectType.PROCESS,new Path(path));
  assertNotNull(processItem.getParent());
  assertTrue(processItem.getParent().equals(folderItem));
  processItem.getProperty().setLabel("String_Node_Str");
  factory.save(sampleProject,processItem.getProperty());
  checkFileExists(project,ERepositoryObjectType.PROCESS,path,"String_Node_Str","String_Node_Str");
  checkFileExists(project,ERepositoryObjectType.PROCESS,path,"String_Node_Str","String_Node_Str");
  checkFileNotExists(project,ERepositoryObjectType.PROCESS,path,"String_Node_Str","String_Node_Str");
  checkFileNotExists(project,ERepositoryObjectType.PROCESS,path,"String_Node_Str","String_Node_Str");
  processItem.getProperty().setVersion("String_Node_Str");
  factory.save(sampleProject,processItem.getProperty());
  checkFileExists(project,ERepositoryObjectType.PROCESS,path,"String_Node_Str","String_Node_Str");
  checkFileExists(project,ERepositoryObjectType.PROCESS,path,"String_Node_Str","String_Node_Str");
  checkFileExists(project,ERepositoryObjectType.PROCESS,path,"String_Node_Str","String_Node_Str");
  factory.unloadUnlockedResources();
  objects=factory.getAllVersion(sampleProject,processId,false);
  assertTrue(objects.size() == 3);
  processItem=(ProcessItem)factory.getLastVersion(sampleProject,processId).getProperty().getItem();
  folderItem=factory.getFolderItem(sampleProject,ERepositoryObjectType.PROCESS,new Path(path));
  assertNotNull(processItem.getParent());
  assertTrue(processItem.getParent().equals(folderItem));
  processItem.getProperty().setVersion("String_Node_Str");
  processItem.getProperty().setLabel("String_Node_Str");
  factory.save(sampleProject,processItem.getProperty());
  checkFileExists(project,ERepositoryObjectType.PROCESS,path,"String_Node_Str","String_Node_Str");
  checkFileExists(project,ERepositoryObjectType.PROCESS,path,"String_Node_Str","String_Node_Str");
  checkFileExists(project,ERepositoryObjectType.PROCESS,path,"String_Node_Str","String_Node_Str");
  checkFileExists(project,ERepositoryObjectType.PROCESS,path,"String_Node_Str","String_Node_Str");
  checkFileNotExists(project,ERepositoryObjectType.PROCESS,path,"String_Node_Str","String_Node_Str");
  checkFileNotExists(project,ERepositoryObjectType.PROCESS,path,"String_Node_Str","String_Node_Str");
  checkFileNotExists(project,ERepositoryObjectType.PROCESS,path,"String_Node_Str","String_Node_Str");
  objects=factory.getAllVersion(sampleProject,processId,false);
  assertTrue(objects.size() == 4);
  factory.deleteObjectPhysical(sampleProject,factory.getLastVersion(sampleProject,processId));
}

Fixed version (ground truth):
private void testProcesspropagateFileName2(LocalRepositoryFactory factory,String path) throws PersistenceException {
  IProject project=ResourceUtils.getProject(sampleProject);
  ProcessItem processItem=createTempProcessItem(factory,path);
  FolderItem folderItem=factory.getFolderItem(sampleProject,ERepositoryObjectType.PROCESS,new Path(path));
  assertNotNull(processItem.getParent());
  assertTrue(processItem.getParent().equals(folderItem));
  String processId=processItem.getProperty().getId();
  processItem.getProperty().setLabel("String_Node_Str");
  checkFileExists(project,ERepositoryObjectType.PROCESS,path,"String_Node_Str","String_Node_Str");
  factory.save(sampleProject,processItem.getProperty());
  checkFileExists(project,ERepositoryObjectType.PROCESS,path,"String_Node_Str","String_Node_Str");
  checkFileNotExists(project,ERepositoryObjectType.PROCESS,path,"String_Node_Str","String_Node_Str");
  processItem.getProperty().setVersion("String_Node_Str");
  factory.save(sampleProject,processItem.getProperty());
  checkFileExists(project,ERepositoryObjectType.PROCESS,path,"String_Node_Str","String_Node_Str");
  checkFileExists(project,ERepositoryObjectType.PROCESS,path,"String_Node_Str","String_Node_Str");
  factory.unloadUnlockedResources();
  List<IRepositoryViewObject> objects=factory.getAllVersion(sampleProject,processId,false);
  assertTrue(objects.size() == 2);
  processItem=(ProcessItem)factory.getLastVersion(sampleProject,processId).getProperty().getItem();
  folderItem=factory.getFolderItem(sampleProject,ERepositoryObjectType.PROCESS,new Path(path));
  assertNotNull(processItem.getParent());
  assertTrue(processItem.getParent().equals(folderItem));
  processItem.getProperty().setLabel("String_Node_Str");
  factory.save(sampleProject,processItem.getProperty());
  checkFileExists(project,ERepositoryObjectType.PROCESS,path,"String_Node_Str","String_Node_Str");
  checkFileExists(project,ERepositoryObjectType.PROCESS,path,"String_Node_Str","String_Node_Str");
  checkFileNotExists(project,ERepositoryObjectType.PROCESS,path,"String_Node_Str","String_Node_Str");
  checkFileNotExists(project,ERepositoryObjectType.PROCESS,path,"String_Node_Str","String_Node_Str");
  processItem.getProperty().setVersion("String_Node_Str");
  factory.save(sampleProject,processItem.getProperty());
  checkFileExists(project,ERepositoryObjectType.PROCESS,path,"String_Node_Str","String_Node_Str");
  checkFileExists(project,ERepositoryObjectType.PROCESS,path,"String_Node_Str","String_Node_Str");
  checkFileExists(project,ERepositoryObjectType.PROCESS,path,"String_Node_Str","String_Node_Str");
  factory.unloadUnlockedResources();
  objects=factory.getAllVersion(sampleProject,processId,false);
  assertTrue(objects.size() == 3);
  processItem=(ProcessItem)factory.getLastVersion(sampleProject,processId).getProperty().getItem();
  folderItem=factory.getFolderItem(sampleProject,ERepositoryObjectType.PROCESS,new Path(path));
  assertNotNull(processItem.getParent());
  assertTrue(processItem.getParent().equals(folderItem));
  processItem.getProperty().setVersion("String_Node_Str");
  processItem.getProperty().setLabel("String_Node_Str");
  factory.save(sampleProject,processItem.getProperty());
  checkFileExists(project,ERepositoryObjectType.PROCESS,path,"String_Node_Str","String_Node_Str");
  checkFileExists(project,ERepositoryObjectType.PROCESS,path,"String_Node_Str","String_Node_Str");
  checkFileExists(project,ERepositoryObjectType.PROCESS,path,"String_Node_Str","String_Node_Str");
  checkFileExists(project,ERepositoryObjectType.PROCESS,path,"String_Node_Str","String_Node_Str");
  checkFileNotExists(project,ERepositoryObjectType.PROCESS,path,"String_Node_Str","String_Node_Str");
  checkFileNotExists(project,ERepositoryObjectType.PROCESS,path,"String_Node_Str","String_Node_Str");
  checkFileNotExists(project,ERepositoryObjectType.PROCESS,path,"String_Node_Str","String_Node_Str");
  objects=factory.getAllVersion(sampleProject,processId,false);
  assertTrue(objects.size() == 4);
  factory.deleteObjectPhysical(sampleProject,factory.getLastVersion(sampleProject,processId),false);
}