Program: 170706
Project: 170706
Buggy source:
public PackStepdefs(){
  Given("String_Node_Str",() -> {
    probe(System.getProperty(CAR_SERVICE_ADDRESS));
  }
);
  And("String_Node_Str",() -> {
    probe(System.getProperty(HOTEL_SERVICE_ADDRESS));
  }
);
  And("String_Node_Str",() -> {
    probe(System.getProperty(BOOKING_SERVICE_ADDRESS));
  }
);
  And("String_Node_Str",() -> {
    String infoURI=System.getProperty(INFO_SERVICE_URI,"String_Node_Str");
    probe(System.getProperty(ALPHA_REST_ADDRESS),infoURI);
  }
);
  Given("String_Node_Str",(  String script,  String service) -> {
    String address=System.getProperty("String_Node_Str");
    String port=System.getProperty(service.toLowerCase() + "String_Node_Str");
    log.info("String_Node_Str",script,service,address,port);
    Submit bm=new Submit(address,Integer.parseInt(port));
    List<String> rules=new ArrayList<>();
    rules.add("String_Node_Str" + script);
    bm.addRulesFromFiles(rules);
  }
);
  When("String_Node_Str",(username,cars,rooms) -> {
    log.info("String_Node_Str",username,cars,rooms);
    given().pathParam("String_Node_Str",username).pathParam("String_Node_Str",rooms).pathParam("String_Node_Str",cars).when().post(System.getProperty("String_Node_Str") + "String_Node_Str");
  }
);
  Then("String_Node_Str",(  DataTable dataTable) -> {
    Consumer<Map<String,String>[]> columnStrippingConsumer=dataMap -> {
      for (      Map<String,String> map : dataMap)       map.keySet().retainAll(dataTable.topCells());
    }
;
    dataMatches(System.getProperty(ALPHA_REST_ADDRESS) + "String_Node_Str",dataTable,columnStrippingConsumer);
  }
);
  And("String_Node_Str",(  DataTable dataTable) -> {
    dataMatches(System.getProperty(CAR_SERVICE_ADDRESS) + "String_Node_Str",dataTable,NO_OP_CONSUMER);
  }
);
  And("String_Node_Str",(  DataTable dataTable) -> {
    dataMatches(System.getProperty(HOTEL_SERVICE_ADDRESS) + "String_Node_Str",dataTable,NO_OP_CONSUMER);
  }
);
}

Fixed version (ground truth):
public PackStepdefs(){
  Given("String_Node_Str",() -> {
    probe(System.getProperty(CAR_SERVICE_ADDRESS));
  }
);
  And("String_Node_Str",() -> {
    probe(System.getProperty(HOTEL_SERVICE_ADDRESS));
  }
);
  And("String_Node_Str",() -> {
    probe(System.getProperty(BOOKING_SERVICE_ADDRESS));
  }
);
  And("String_Node_Str",() -> {
    String infoURI=System.getProperty(INFO_SERVICE_URI);
    if (isEmpty(infoURI)) {
      infoURI="String_Node_Str";
    }
    log.info("String_Node_Str" + infoURI);
    probe(System.getProperty(ALPHA_REST_ADDRESS),infoURI);
  }
);
  Given("String_Node_Str",(  String script,  String service) -> {
    String address=System.getProperty("String_Node_Str");
    String port=System.getProperty(service.toLowerCase() + "String_Node_Str");
    log.info("String_Node_Str",script,service,address,port);
    Submit bm=new Submit(address,Integer.parseInt(port));
    List<String> rules=new ArrayList<>();
    rules.add("String_Node_Str" + script);
    bm.addRulesFromFiles(rules);
  }
);
  When("String_Node_Str",(username,cars,rooms) -> {
    log.info("String_Node_Str",username,cars,rooms);
    given().pathParam("String_Node_Str",username).pathParam("String_Node_Str",rooms).pathParam("String_Node_Str",cars).when().post(System.getProperty("String_Node_Str") + "String_Node_Str");
  }
);
  Then("String_Node_Str",(  DataTable dataTable) -> {
    Consumer<Map<String,String>[]> columnStrippingConsumer=dataMap -> {
      for (      Map<String,String> map : dataMap)       map.keySet().retainAll(dataTable.topCells());
    }
;
    dataMatches(System.getProperty(ALPHA_REST_ADDRESS) + "String_Node_Str",dataTable,columnStrippingConsumer);
  }
);
  And("String_Node_Str",(  DataTable dataTable) -> {
    dataMatches(System.getProperty(CAR_SERVICE_ADDRESS) + "String_Node_Str",dataTable,NO_OP_CONSUMER);
  }
);
  And("String_Node_Str",(  DataTable dataTable) -> {
    dataMatches(System.getProperty(HOTEL_SERVICE_ADDRESS) + "String_Node_Str",dataTable,NO_OP_CONSUMER);
  }
);
}