[Demonstration 1]

[Buggy Method]
public static void collectHourlyStatistics(Cluster cluster, WorkloadBatch wb) {
    if (Sim.time() >= Global.nextCollection && Global.hourlyRepartitioning) {
        Global.LOGGER.info("<-- Hourly Statistics -->");
        WorkloadExecutor.collectStatistics(cluster, wb);
    }
}

[Buggy Hunk]
if(Sim.time() >= Global.nextCollection && Global.hourlyRepartitioning) {

[Patch]
if(Sim.time() >= Global.nextCollection) {

[Demonstration 2]

[Buggy Method]
public String convert_service(String base64_str) throws IOException {
    String result = "";
    InetAddress address = InetAddress.getByName(HOST_NAME);
    Socket service_socket = new Socket(address, PORT);
    OutputStream os = service_socket.getOutputStream();
    InputStream is = service_socket.getInputStream();
    String str_to_send = "SEND\n\r" + base64_str.length() + "\n\r" + "44100\n\r" + "1\n\r" + base64_str;
    os.write(str_to_send.getBytes());
    os.flush();
    InputStreamReader isr = new InputStreamReader(is);
    BufferedReader br = new BufferedReader(isr);
    String cmd = br.readLine();
    if (new String(cmd).equals("RECV")) {
        System.out.println("Begin receiving data ...");
        int contentSize = Integer.parseInt(br.readLine());
        StringBuilder sb = new StringBuilder();
        int c = 0;
        for (int i = 0; i < contentSize; i++) {
            c = br.read();
            sb.append((char) c);
        }
        String goodbye = "END\n";
        os.write(goodbye.getBytes());
        os.flush();
        return sb.toString();
    } else {
        System.out.println("Command Not Found: " + cmd);
    }
    os.close();
    return result;
}

[Buggy Hunk]
String str_to_send = "SEND\n\r"+base64_str.length()+"\n\r"+"44100\n\r"+"1\n\r"+base64_str;

[Patch]
String str_to_send = "SEND\n"+base64_str.length()+"\n"+"44100\n"+"1\n"+base64_str + "\n";

[Demonstration 3]

[Buggy Method]
public void disabled(CommandSender p, String[] args) {
    int page = 1;
    if (args.length > 1) {
        try {
            page = Integer.parseInt(args[1]);
        } catch (Exception x) {
            sendUsage(p);
            return;
        }
    }
    String[] commands = SpleefLeague.getInstance().getDynamicCommandManager().getUnloadedCommands();
    if (commands.length == 0) {
        p.sendMessage(ChatColor.RED + "No Dynamic Commands are currently unloaded");
        return;
    }
    page--;
    int low = (page * commandsPerPage);
    int high = low + commandsPerPage;
    if (low < 0) {
        low = 0;
        high = low + commandsPerPage;
    }
    while (low >= commands.length) {
        low -= commandsPerPage;
    }
    if (high >= commands.length) {
        high = commands.length;
    }
    page = low / commandsPerPage;
    int totalPages = commands.length / commandsPerPage;
    page++;
    totalPages++;
    p.sendMessage(ChatColor.GRAY + "[==== " + ChatColor.RED + "Disabled Dynamic Commands [page " + page + "/" + totalPages + "]" + ChatColor.GRAY + " ====]");
    for (int i = low; i < high; i++) {
        p.sendMessage(ChatColor.DARK_RED + " - /" + ChatColor.RED + commands[i]);
    }
}

[Buggy Hunk]
p.sendMessage(ChatColor.RED + "No Dynamic Commands are currently unloaded");

[Patch]
error(p, "No dynamic commands are currently loaded!");