Program: 10012
Project: 10012
Buggy source:
private void computeIndividualPoints(){
  Set<Individual> posInd=((EvaluatedDescriptionClass)eval).getCoveredInstances();
  int i=0;
  double x=20;
  double y=20;
  boolean flag=true;
  for (  Individual ind : posInd) {
    flag=true;
    if (i < MAX_NUMBER_OF_INDIVIDUAL_POINTS) {
      while (flag) {
        if (x >= oldConcept.getMaxX()) {
          x=(int)oldConcept.getMinX();
          y=y + GAP;
        }
        if (y >= oldConcept.getMaxY()) {
          y=(int)oldConcept.getMinY();
        }
        if (x >= newConcept.getMaxX()) {
          x=(int)newConcept.getMinX();
          y=y + GAP;
        }
        if (y >= newConcept.getMaxY()) {
          y=(int)newConcept.getMinY();
        }
        while (x < newConcept.getMaxX()) {
          if (newConcept.contains(x,y) && oldConcept.contains(x,y)) {
            posCovIndVector.add(new IndividualPoint("String_Node_Str",(int)x,(int)y,ind.toString()));
            i++;
            flag=false;
            x=x + GAP;
            break;
          }
 else {
            x=x + GAP;
          }
        }
      }
    }
  }
  Set<Individual> posNotCovInd=((EvaluatedDescriptionClass)eval).getAdditionalInstances();
  int j=0;
  x=20;
  y=20;
  for (  Individual ind : posNotCovInd) {
    flag=true;
    if (j < MAX_NUMBER_OF_INDIVIDUAL_POINTS) {
      while (flag) {
        if (x >= newConcept.getMaxX()) {
          x=(int)oldConcept.getMinX();
          y=y + GAP;
        }
        if (y >= newConcept.getMaxY()) {
          y=(int)oldConcept.getMinY();
        }
        while (x < newConcept.getMaxX()) {
          if (!oldConcept.contains(x,y) && newConcept.contains(x,y)) {
            posNotCovIndVector.add(new IndividualPoint("String_Node_Str",(int)x,(int)y,ind.toString()));
            j++;
            flag=false;
            x=x + GAP;
            break;
          }
 else {
            x=x + GAP;
          }
        }
      }
    }
  }
  Set<Individual> notCovInd=model.getReasoner().getIndividuals(model.getCurrentConcept());
  notCovInd.removeAll(posInd);
  int k=0;
  x=20;
  y=20;
  for (  Individual ind : notCovInd) {
    flag=true;
    if (k < MAX_NUMBER_OF_INDIVIDUAL_POINTS) {
      while (flag) {
        if (x >= oldConcept.getMaxX()) {
          x=(int)oldConcept.getMinX();
          y=y + GAP;
        }
        if (y >= oldConcept.getMaxY()) {
          y=(int)oldConcept.getMinY();
        }
        while (x < oldConcept.getMaxX()) {
          if (oldConcept.contains(x,y) && !newConcept.contains(x,y)) {
            posNotCovIndVector.add(new IndividualPoint("String_Node_Str",(int)x,(int)y,ind.toString()));
            k++;
            flag=false;
            x=x + GAP;
            break;
          }
 else {
            x=x + GAP;
          }
        }
      }
    }
  }
  points.addAll(posCovIndVector);
  points.addAll(posNotCovIndVector);
}

Fixed version (ground truth):
private void computeIndividualPoints(){
  Set<Individual> posInd=((EvaluatedDescriptionClass)eval).getCoveredInstances();
  int i=0;
  double x=20;
  double y=20;
  boolean flag=true;
  for (  Individual ind : posInd) {
    flag=true;
    if (i < MAX_NUMBER_OF_INDIVIDUAL_POINTS) {
      while (flag) {
        if (x >= oldConcept.getMaxX()) {
          x=(int)oldConcept.getMinX();
          y=y + GAP;
        }
        if (y >= oldConcept.getMaxY()) {
          y=(int)oldConcept.getMinY();
        }
        if (x >= newConcept.getMaxX()) {
          x=(int)newConcept.getMinX();
          y=y + GAP;
        }
        if (y >= newConcept.getMaxY()) {
          y=(int)newConcept.getMinY();
          break;
        }
        while (x < newConcept.getMaxX()) {
          if (newConcept.contains(x,y) && oldConcept.contains(x,y)) {
            posCovIndVector.add(new IndividualPoint("String_Node_Str",(int)x,(int)y,ind.toString()));
            i++;
            flag=false;
            x=x + GAP;
            break;
          }
 else {
            x=x + GAP;
          }
        }
      }
    }
  }
  Set<Individual> posNotCovInd=((EvaluatedDescriptionClass)eval).getAdditionalInstances();
  int j=0;
  x=20;
  y=20;
  for (  Individual ind : posNotCovInd) {
    flag=true;
    if (j < MAX_NUMBER_OF_INDIVIDUAL_POINTS) {
      while (flag) {
        if (x >= newConcept.getMaxX()) {
          x=(int)oldConcept.getMinX();
          y=y + GAP;
        }
        if (y >= newConcept.getMaxY()) {
          y=(int)oldConcept.getMinY();
          break;
        }
        while (x < newConcept.getMaxX()) {
          if (!oldConcept.contains(x,y) && newConcept.contains(x,y)) {
            posNotCovIndVector.add(new IndividualPoint("String_Node_Str",(int)x,(int)y,ind.toString()));
            j++;
            flag=false;
            x=x + GAP;
            break;
          }
 else {
            x=x + GAP;
          }
        }
      }
    }
  }
  Set<Individual> notCovInd=model.getReasoner().getIndividuals(model.getCurrentConcept());
  notCovInd.removeAll(posInd);
  int k=0;
  x=20;
  y=20;
  for (  Individual ind : notCovInd) {
    flag=true;
    if (k < MAX_NUMBER_OF_INDIVIDUAL_POINTS) {
      while (flag) {
        if (x >= oldConcept.getMaxX()) {
          x=(int)oldConcept.getMinX();
          y=y + GAP;
        }
        if (y >= oldConcept.getMaxY()) {
          y=(int)oldConcept.getMinY();
          break;
        }
        while (x < oldConcept.getMaxX()) {
          if (oldConcept.contains(x,y) && !newConcept.contains(x,y)) {
            posNotCovIndVector.add(new IndividualPoint("String_Node_Str",(int)x,(int)y,ind.toString()));
            k++;
            flag=false;
            x=x + GAP;
            break;
          }
 else {
            x=x + GAP;
          }
        }
      }
    }
  }
  points.addAll(posCovIndVector);
  points.addAll(posNotCovIndVector);
}