Program: 93558
Project: 93558
Buggy source:
/** 
 * Sets up the repository so that there are three commits affecting two interlinked files (part of the same logical model). <ul> <li>initial commit : "file1" contains package P1 and classes C1 and C2. "file2" contains P2 containing C3 and C4.</li> <li>master commit : renamed C1 into C10</li> <li>branch commit : renamed C4 into C40</li> </ul> <p> There is no conflict with these changes, neither textual nor logical. </p>
 * @throws Exception
 */
private void setUp009() throws Exception {
  final EPackage root1=createPackage(null,"String_Node_Str");
  final EClass class1=createClass(root1,"String_Node_Str");
  createClass(root1,"String_Node_Str");
  resource1.getContents().add(root1);
  final EPackage root2=createPackage(null,"String_Node_Str");
  final EClass class3=createClass(root2,"String_Node_Str");
  createClass(root2,"String_Node_Str");
  resource2.getContents().add(root2);
  class1.getESuperTypes().add(class3);
  save(resource1,resource2);
  repository.addAllAndCommit("String_Node_Str");
  repository.createBranch(MASTER,BRANCH);
  class1.setName("String_Node_Str");
  save(resource1);
  repository.addAndCommit(project,"String_Node_Str",file1);
  repository.checkoutBranch(BRANCH);
  reload(resource1,resource2);
  final EClass class4=(EClass)findObject(resource2,"String_Node_Str");
  class4.setName("String_Node_Str");
  save(resource2);
  repository.addAndCommit(project,"String_Node_Str",file2);
  repository.checkoutBranch(MASTER);
  final Status status=repository.status();
  assertFalse(status.hasUncommittedChanges());
  compareBothDirectionsAndCheck(iFile1,MASTER,BRANCH,0,1,1);
  compareBothDirectionsAndCheck(iFile2,MASTER,BRANCH,0,0,1);
}

Fixed version (ground truth):
/** 
 * Sets up the repository so that there are three commits affecting two interlinked files (part of the same logical model). <ul> <li>initial commit : "file1" contains package P1 and classes C1 and C2. "file2" contains P2 containing C3 and C4.</li> <li>master commit : renamed C1 into C10</li> <li>branch commit : renamed C4 into C40</li> </ul> <p> There is no conflict with these changes, neither textual nor logical. </p>
 * @throws Exception
 */
private void setUp009() throws Exception {
  final EPackage root1=createPackage(null,"String_Node_Str");
  final EClass class1=createClass(root1,"String_Node_Str");
  createClass(root1,"String_Node_Str");
  resource1.getContents().add(root1);
  final EPackage root2=createPackage(null,"String_Node_Str");
  final EClass class3=createClass(root2,"String_Node_Str");
  createClass(root2,"String_Node_Str");
  resource2.getContents().add(root2);
  class1.getESuperTypes().add(class3);
  save(resource1,resource2);
  repository.addAllAndCommit("String_Node_Str");
  repository.createBranch(MASTER,BRANCH);
  class1.setName("String_Node_Str");
  save(resource1);
  repository.addAndCommit(project,"String_Node_Str",file1);
  repository.checkoutBranch(BRANCH);
  reload(resource1,resource2);
  final EClass class4=(EClass)findObject(resource2,"String_Node_Str");
  class4.setName("String_Node_Str");
  save(resource2);
  repository.addAndCommit(project,"String_Node_Str",file2);
  repository.checkoutBranch(MASTER);
  final Status status=repository.status();
  assertFalse(status.hasUncommittedChanges());
  compareBothDirectionsAndCheck(iFile1,MASTER,BRANCH,0,1,1);
  compareBothDirectionsAndCheck(iFile2,MASTER,BRANCH,0,1,1);
}