Program: 12070
Project: 12070
Buggy source:
public Map<String,ArrayList<VariableDeclaration>> getDeclaredLocalVariablesInMappedNodes(){
  Map<String,ArrayList<VariableDeclaration>> declaredVariables=new LinkedHashMap<String,ArrayList<VariableDeclaration>>();
  Set<VariableDeclaration> variableDeclarationsAndAccessedFieldsInMethod1=pdg1.getVariableDeclarationsAndAccessedFieldsInMethod();
  Set<VariableDeclaration> variableDeclarationsAndAccessedFieldsInMethod2=pdg2.getVariableDeclarationsAndAccessedFieldsInMethod();
  for (  String key : this.declaredLocalVariablesInMappedNodes.keySet()) {
    ArrayList<AbstractVariable> value=this.declaredLocalVariablesInMappedNodes.get(key);
    AbstractVariable variableDeclaration1=value.get(0);
    AbstractVariable variableDeclaration2=value.get(1);
    ArrayList<VariableDeclaration> variableDeclarations=new ArrayList<VariableDeclaration>();
    for (    VariableDeclaration variableDeclaration : variableDeclarationsAndAccessedFieldsInMethod1) {
      if (variableDeclaration.resolveBinding().getKey().equals(variableDeclaration1.getVariableBindingKey())) {
        variableDeclarations.add(variableDeclaration);
        break;
      }
    }
    for (    VariableDeclaration variableDeclaration : variableDeclarationsAndAccessedFieldsInMethod2) {
      if (variableDeclaration.resolveBinding().getKey().equals(variableDeclaration2.getVariableBindingKey())) {
        variableDeclarations.add(variableDeclaration);
        break;
      }
    }
    declaredVariables.put(key,variableDeclarations);
  }
  return declaredVariables;
}

Fixed version (ground truth):
public Map<VariableBindingKeyPair,ArrayList<VariableDeclaration>> getDeclaredLocalVariablesInMappedNodes(){
  Map<VariableBindingKeyPair,ArrayList<VariableDeclaration>> declaredVariables=new LinkedHashMap<VariableBindingKeyPair,ArrayList<VariableDeclaration>>();
  Set<VariableDeclaration> variableDeclarationsAndAccessedFieldsInMethod1=pdg1.getVariableDeclarationsAndAccessedFieldsInMethod();
  Set<VariableDeclaration> variableDeclarationsAndAccessedFieldsInMethod2=pdg2.getVariableDeclarationsAndAccessedFieldsInMethod();
  for (  VariableBindingKeyPair key : this.declaredLocalVariablesInMappedNodes.keySet()) {
    ArrayList<AbstractVariable> value=this.declaredLocalVariablesInMappedNodes.get(key);
    AbstractVariable variableDeclaration1=value.get(0);
    AbstractVariable variableDeclaration2=value.get(1);
    ArrayList<VariableDeclaration> variableDeclarations=new ArrayList<VariableDeclaration>();
    for (    VariableDeclaration variableDeclaration : variableDeclarationsAndAccessedFieldsInMethod1) {
      if (variableDeclaration.resolveBinding().getKey().equals(variableDeclaration1.getVariableBindingKey())) {
        variableDeclarations.add(variableDeclaration);
        break;
      }
    }
    for (    VariableDeclaration variableDeclaration : variableDeclarationsAndAccessedFieldsInMethod2) {
      if (variableDeclaration.resolveBinding().getKey().equals(variableDeclaration2.getVariableBindingKey())) {
        variableDeclarations.add(variableDeclaration);
        break;
      }
    }
    declaredVariables.put(key,variableDeclarations);
  }
  return declaredVariables;
}