Program: 52936
Project: 52936
Buggy source:
public static void main(String[] args) throws Exception {
  Env env=EnvBuilder.envFromArgs(args);
  Configurator conf=env.getConfigurator();
  ToblersLawEvaluator evaluator=new ToblersLawEvaluator(env,new LanguageSet("String_Node_Str"));
  SpatialDataDao sdDao=conf.get(SpatialDataDao.class);
  SpatialContainmentDao scDao=conf.get(SpatialContainmentDao.class);
  LocalPageDao lpDao=conf.get(LocalPageDao.class);
  WikidataDao wdDao=conf.get(WikidataDao.class);
  UniversalPageDao upDao=conf.get(UniversalPageDao.class);
  String layerName1="String_Node_Str";
  String layerName2="String_Node_Str";
  Set<String> subLayers=Sets.newHashSet();
  subLayers.add("String_Node_Str");
  Integer containerId1=wdDao.getItemId(lpDao.getByTitle(new Title("String_Node_Str",Language.getByLangCode("String_Node_Str")),NameSpace.ARTICLE));
  TIntSet containedItemIds1=scDao.getContainedItemIds(containerId1,layerName1,"String_Node_Str",subLayers,SpatialContainmentDao.ContainmentOperationType.CONTAINMENT);
  Integer containerId2=wdDao.getItemId(lpDao.getByTitle(new Title("String_Node_Str",Language.getByLangCode("String_Node_Str")),NameSpace.ARTICLE));
  TIntSet containedItemIds2=scDao.getContainedItemIds(containerId2,layerName2,"String_Node_Str",subLayers,SpatialContainmentDao.ContainmentOperationType.CONTAINMENT);
  Map<Integer,Geometry> geometriesToParse=new HashMap<Integer,Geometry>();
  List<UniversalPage> concepts1=new ArrayList<UniversalPage>();
  List<UniversalPage> concepts2=new ArrayList<UniversalPage>();
  final Set<Integer> containedId1=new HashSet<Integer>();
  final Set<Integer> containedId2=new HashSet<Integer>();
  LOG.info(String.format("String_Node_Str",containedItemIds1.size(),containedItemIds2.size()));
  int counter=0;
  containedItemIds1.forEach(new TIntProcedure(){
    @Override public boolean execute(    int i){
      containedId1.add(i);
      return true;
    }
  }
);
  Set<Integer> sampledContainedId1=PickSample(containedId1,500);
  Set<Integer> sampledContainedId2=PickSample(containedId2,500);
  for (  Integer i : sampledContainedId1) {
    if (counter % 100 == 0)     LOG.info(String.format("String_Node_Str",counter,sampledContainedId1.size()));
    geometriesToParse.put(i,sdDao.getGeometry(i,"String_Node_Str","String_Node_Str"));
    concepts1.add(upDao.getById(i,1));
    counter++;
  }
  containedItemIds2.forEach(new TIntProcedure(){
    @Override public boolean execute(    int i){
      containedId2.add(i);
      return true;
    }
  }
);
  counter=0;
  for (  Integer i : sampledContainedId2) {
    if (counter % 100 == 0)     LOG.info(String.format("String_Node_Str",counter,sampledContainedId2.size()));
    geometriesToParse.put(i,sdDao.getGeometry(i,"String_Node_Str","String_Node_Str"));
    concepts2.add(upDao.getById(i,1));
    counter++;
  }
  LOG.info(String.format("String_Node_Str",geometriesToParse.size()));
  evaluator.retrieveLocations(geometriesToParse);
  evaluator.evaluateBipartite(new File("String_Node_Str"),concepts1,concepts2);
}

Fixed version (ground truth):
public static void main(String[] args) throws Exception {
  LanguageSet languageSet=new LanguageSet("String_Node_Str");
  Env env=EnvBuilder.envFromArgs(args);
  Configurator conf=env.getConfigurator();
  ToblersLawEvaluator evaluator=new ToblersLawEvaluator(env,languageSet);
  SpatialDataDao sdDao=conf.get(SpatialDataDao.class);
  SpatialContainmentDao scDao=conf.get(SpatialContainmentDao.class);
  LocalPageDao lpDao=conf.get(LocalPageDao.class);
  WikidataDao wdDao=conf.get(WikidataDao.class);
  UniversalPageDao upDao=conf.get(UniversalPageDao.class);
  String layerName1="String_Node_Str";
  String layerName2="String_Node_Str";
  Set<String> subLayers=Sets.newHashSet();
  subLayers.add("String_Node_Str");
  Integer containerId1=wdDao.getItemId(lpDao.getByTitle(new Title("String_Node_Str",Language.getByLangCode("String_Node_Str")),NameSpace.ARTICLE));
  TIntSet containedItemIds1=scDao.getContainedItemIds(containerId1,layerName1,"String_Node_Str",subLayers,SpatialContainmentDao.ContainmentOperationType.CONTAINMENT);
  Integer containerId2=wdDao.getItemId(lpDao.getByTitle(new Title("String_Node_Str",Language.getByLangCode("String_Node_Str")),NameSpace.ARTICLE));
  TIntSet containedItemIds2=scDao.getContainedItemIds(containerId2,layerName2,"String_Node_Str",subLayers,SpatialContainmentDao.ContainmentOperationType.CONTAINMENT);
  Map<Integer,Geometry> geometriesToParse=new HashMap<Integer,Geometry>();
  List<UniversalPage> concepts1=new ArrayList<UniversalPage>();
  List<UniversalPage> concepts2=new ArrayList<UniversalPage>();
  final Set<Integer> containedId1=new HashSet<Integer>();
  final Set<Integer> containedId2=new HashSet<Integer>();
  LOG.info(String.format("String_Node_Str",containedItemIds1.size(),containedItemIds2.size()));
  int counter=0;
  containedItemIds1.forEach(new TIntProcedure(){
    @Override public boolean execute(    int i){
      containedId1.add(i);
      return true;
    }
  }
);
  containedItemIds2.forEach(new TIntProcedure(){
    @Override public boolean execute(    int i){
      containedId2.add(i);
      return true;
    }
  }
);
  Set<Integer> sampledContainedId1=PickSample(containedId1,500);
  Set<Integer> sampledContainedId2=PickSample(containedId2,500);
  for (  Integer i : sampledContainedId1) {
    if (counter % 100 == 0)     LOG.info(String.format("String_Node_Str",counter,sampledContainedId1.size()));
    UniversalPage concept=upDao.getById(i,1);
    if (concept != null && concept.hasAllLanguages(languageSet)) {
      concepts1.add(upDao.getById(i,1));
      geometriesToParse.put(i,sdDao.getGeometry(i,"String_Node_Str","String_Node_Str"));
    }
    counter++;
  }
  counter=0;
  for (  Integer i : sampledContainedId2) {
    if (counter % 100 == 0)     LOG.info(String.format("String_Node_Str",counter,sampledContainedId2.size()));
    UniversalPage concept=upDao.getById(i,1);
    if (concept != null && concept.hasAllLanguages(languageSet)) {
      concepts2.add(upDao.getById(i,1));
      geometriesToParse.put(i,sdDao.getGeometry(i,"String_Node_Str","String_Node_Str"));
    }
    counter++;
  }
  LOG.info(String.format("String_Node_Str",geometriesToParse.size()));
  evaluator.retrieveLocations(geometriesToParse);
  evaluator.evaluateBipartite(new File("String_Node_Str"),concepts1,concepts2);
}