[Demonstration 1]

[Buggy Method]
private void drawMemoryUsage(Canvas canvas) {
    Runtime runtime = Runtime.getRuntime();
    long maxMemory = runtime.totalMemory() / (1024 * 1024);
    long usedMemory = maxMemory - runtime.freeMemory() / (1024 * 1024);
    int x = 20;
    int y = canvas.getHeight() - 125;
    canvas.fillRect(x, y, 100, 15, 0xcf696969);
    if (usedMemory > 0) {
        double percentage = ((double) usedMemory / (double) maxMemory);
        canvas.fillRect(x, y, (int) (100 * percentage), 15, 0xdf3f3f3f);
    }
    canvas.drawRect(x - 1, y, 101, 15, 0xff000000);
    // add a shadow effect
    canvas.drawLine(x, y + 1, x + 100, y + 1, 0x8f000000);
    canvas.drawLine(x, y + 2, x + 100, y + 2, 0x5f000000);
    canvas.drawLine(x, y + 3, x + 100, y + 3, 0x2f000000);
    canvas.drawLine(x, y + 4, x + 100, y + 4, 0x0f000000);
    canvas.drawLine(x, y + 5, x + 100, y + 5, 0x0b000000);
    y = y + 15;
    canvas.drawLine(x, y - 5, x + 100, y - 5, 0x0b000000);
    canvas.drawLine(x, y - 4, x + 100, y - 4, 0x0f000000);
    canvas.drawLine(x, y - 3, x + 100, y - 3, 0x2f000000);
    canvas.drawLine(x, y - 2, x + 100, y - 2, 0x5f000000);
    canvas.drawLine(x, y - 1, x + 100, y - 1, 0x8f000000);
    canvas.setFont("Consola", 14);
    canvas.drawString(usedMemory + " MiB / " + maxMemory + " MiB", x - 20, y - 20, 0xff00CC00);
}

[Buggy Hunk]
if (usedMemory > 0) {

[Patch]
if (usedMemory > 0 && maxMemory > 0) {

[Demonstration 2]

[Buggy Method]
@Before
public void setUp() throws Exception {
    model = new Model(row, column, mines);
    model1 = new Model(row, column, 0);
}

[Buggy Hunk]
model1 = new Model(row, column, 0);

[Patch]
model1 = new Model(15, 15, 0);

[Demonstration 3]

[Buggy Method]
public void clearAlerts() {
    setProperty("alerts", null);
}

[Buggy Hunk]
setProperty("alerts", null);

[Patch]
setProperty("alerts", new Vector<String>());