[Demonstration 1]

[Buggy Method]
@Override
public void addService(Service service) throws NejiException {
    PreparedStatement statement;
    try {
        // Insert service
        String addServiceSql = "INSERT INTO Service(name, logo, parser_level, " + "no_ids, false_positives, abbreviations, disambiguation) " + "VALUES (?, ?, ?, ?, ?, ?, ?)";
        statement = connection.prepareStatement(addServiceSql);
        statement.setString(1, service.getName());
        statement.setBytes(2, service.getLogo());
        statement.setString(3, service.getParsingLevel());
        int noIdsInt = (service.isNoIds()) ? 1 : 0;
        statement.setInt(4, noIdsInt);
        statement.setString(5, service.getFalsePositives());
        int abbreviationsInt = (service.getAbbreviations()) ? 1 : 0;
        int disambiguationInt = (service.getAbbreviations()) ? 1 : 0;
        statement.setInt(6, abbreviationsInt);
        statement.setInt(7, disambiguationInt);
        statement.addBatch();
        statement.executeBatch();
        int serviceId = statement.getGeneratedKeys().getInt(1);
        statement.close();
        // Insert dictionaries
        addServiceDictionaries(serviceId, service.getDictionaries());
        // Insert models
        addServiceModels(serviceId, service.getModels());
        // Insert groups normalization
        addServiceGroupsNormalization(serviceId, service.getGroupsNormalization());
    } catch (SQLException ex) {
        throw new NejiException("There was a problem inserting a service.", ex);
    }
}

[Buggy Hunk]
int disambiguationInt = (service.getAbbreviations()) ? 1 : 0;

[Patch]
int disambiguationInt = (service.getDisambiguation()) ? 1 : 0;

[Demonstration 2]

[Buggy Method]
public void insertTransaksijualobat(String idTransaksijual, String dateTransaksijual, String keterangan) throws RemoteException {
    Transaksijualobat transaksijual = new Transaksijualobat();
    transaksijual.setIdTransaksijual(idTransaksijual);
    transaksijual.setDateTransaksijual(dateTransaksijual);
    transaksijual.setKeterangan(keterangan);
    transaksijualobat.insertTransaksijualbat(transaksijual);
}

[Buggy Hunk]
transaksijualobat.insertTransaksijualbat(transaksijual);

[Patch]
transaksijualobat.insertTransaksijualobat(transaksijual);

[Demonstration 3]

[Buggy Method]
public void deleteService(int serviceId) {
    graduationProject.Domain.Service service = serviceDAO.findByServiceId(serviceId);
    if (service == null)
        return;
    serviceDAO.delete(service);
    List<Pod> pods = podDAO.findByServiceId(serviceId);
    for (Pod pod : pods) podDAO.delete(pod);
    flushService();
    flushPod();
    //        //redis实现版本
    //        ServiceRedis serviceRedis = getServiceById(serviceId);
    //        if (serviceRedis == null) {
    //            return;
    //        }
    //        this.serviceRedisTemplate.delete(String.valueOf(serviceId));
    //        this.podInServiceRedisTemplate.delete(servicePrefix + String.valueOf(serviceId));
}

[Buggy Hunk]
graduationProject.Domain.Service service = serviceDAO.findByServiceId(serviceId);

[Patch]
Service service = serviceDAO.findByServiceId(serviceId);