[Demonstration 1]

[Buggy Method]
public void updateTokens(String uId, String sId, String rToken) {
    SQLiteDatabase db = this.getWritableDatabase();
    ContentValues values = new ContentValues();
    values.put(KEY_SID, sId);
    values.put(KEY_RTOKEN, rToken);
    db.update(TABLE_LOGIN, values, KEY_RTOKEN + " = '" + uId + "'", null);
    //Closing database connection
    db.close();
}

[Buggy Hunk]
db.update(TABLE_LOGIN, values, KEY_RTOKEN + " = '" + uId + "'", null);

[Patch]
db.update(TABLE_LOGIN, values, KEY_USERID + " = '" + uId + "'", null);

[Demonstration 2]

[Buggy Method]
public static void main(String[] args) {
    new ApplicationContextProvider().setApplicationContext(new AnnotationConfigApplicationContext("de.rocketscienceengineering.springexampleproject.springconfig"));
    ApplicationContext springCtx = ApplicationContextProvider.getApplicationContext();
    springCtx.getBean(UI.class).test();
}

[Buggy Hunk]
springCtx.getBean(UI.class).test();

[Patch]
springCtx.getBean(UI.class).startTheEngines();

[Demonstration 3]

[Buggy Method]
@Test(timeOut = 600000)
public void loadTest() throws Exception {
    String userName = "testUser";
    PieUser user = context.getBean("pieUser", PieUser.class);
    PieShareConfiguration config = user.getPieShareConfiguration();
    LoginTask task = context.getBean(LoginTask.class);
    LoginCommand command = new LoginCommand();
    PlainTextPassword pwd = new PlainTextPassword();
    pwd.password = "test".getBytes();
    command.setPlainTextPassword(pwd);
    command.setUserName(userName);
    LoadTestConfigModel ltModel = LUtil.readJSONConfig();
    IPieExecutorTaskFactory executorFactory = context.getBean("pieExecutorTaskFactory", PieExecutorTaskFactory.class);
    if (LUtil.IsMaster()) {
        executorFactory.registerTask(AllFilesCompleteMessage.class, AllFilesCompleteTask.class);
        counter = context.getBean(ITTasksCounter.class);
    }
    command.setCallback(new ILoginFinished() {

        @Override
        public void error(Exception ex) {
            Assert.fail(ex.getMessage());
        }

        @Override
        public void wrongPassword(WrongPasswordException ex) {
            Assert.fail(ex.getMessage());
        }

        @Override
        public void OK() {
        }
    });
    task.setEvent(command);
    if (LUtil.IsMaster()) {
        user.getPieShareConfiguration().getWorkingDir().mkdirs();
        System.out.println("Creating files!");
        for (int i = 0; i < ltModel.getFileCount(); i++) {
            String fileName = String.format("testFile_%s", i);
            File file = new File(user.getPieShareConfiguration().getWorkingDir(), fileName);
            TestFileUtils.createFile(file, ltModel.getFileSize());
        }
        System.out.println("Files successfully created!");
    }
    task.run();
    System.out.println("Waiting for completion!");
    if (LUtil.IsMaster()) {
        while (counter.getCount(AllFilesCompleteTask.class) <= ltModel.getNodeCount()) {
            Thread.sleep(10000);
        }
    } else {
        while (user.getPieShareConfiguration().getWorkingDir().listFiles().length < ltModel.getFileCount()) {
            Thread.sleep(10000);
        }
        AllFilesCompleteMessage message = context.getBean(AllFilesCompleteMessage.class);
        ClusterManagementService service = context.getBean(ClusterManagementService.class);
        service.sendMessage(message);
    }
    System.out.println("Finished!");
}

[Buggy Hunk]
while (counter.getCount(AllFilesCompleteTask.class) <= ltModel.getNodeCount()) {

[Patch]
while (counter.getCount(AllFilesCompleteTask.class) < (ltModel.getNodeCount()-1)) {