[Demonstration 1]

[Buggy Method]
public void configureProject(IProject project, IProgressMonitor monitor) {
    try {
        ManageClasspath classpath;
        IProjectDescription description;
        description = project.getDescription();
        addNature(description, "fr.inria.diverse.k3.ui.k3Nature");
        addNature(description, "org.eclipse.jdt.core.javanature");
        addNature(description, "org.eclipse.xtext.ui.shared.xtextNature");
        String sourceFolderName;
        switch(this.context.kindsOfProject) {
            case MAVEN:
                sourceFolderName = "src/main/java/";
                break;
            default:
                sourceFolderName = "src/";
        }
        createSettingsResourcePrefs(project, monitor);
        IFolderUtils.createFolder(sourceFolderName + getContextNamePackage(), project, monitor);
        /*			if(context.ecoreIFile != null){
				createProjectWithEcore(monitor, sourceFolderName);
			} else {
				if(context.useEMF){
					createMiniEcoreAspectSampleXtend(project, monitor, sourceFolderName);
				}
				else{
					createMiniAspectSampleXtend(project, monitor, sourceFolderName);
				}
			}
*/
        switch(this.context.kindsOfProject) {
            case STANDALONE:
                IFileUtils.unZip(project, new ProjectDescriptor("fr.inria.diverse.k3.ui", "zips/k3.zip"));
                IFileUtils.unZip(project, new ProjectDescriptor("fr.inria.diverse.k3.ui", "zips/xtend.zip"));
                if (context.useEMF)
                    IFileUtils.unZip(project, new ProjectDescriptor("fr.inria.diverse.k3.ui", "zips/emf.zip"));
                classpath = new ManageClasspathStandAlone("lib");
                classpath.setClasspath(project, monitor);
                break;
            case PLUGIN:
                classpath = new ManageClasspathPlugin(this.context.useSLE);
                addNature(description, "org.eclipse.pde.PluginNature");
                configurePluginProject(project, monitor);
                classpath.setClasspath(project, monitor);
                if (context.useSLE) {
                    classpath.setClasspath(project, monitor);
                }
                break;
            case MAVEN:
                classpath = new ManageClasspathMaven();
                addNature(description, "org.eclipse.m2e.core.maven2Nature");
                createMavenFile(project, monitor, false);
                classpath.setClasspath(project, monitor);
                break;
        }
        project.setDescription(description, monitor);
    } catch (Exception e) {
        Activator.logErrorMessage(e.getMessage(), e);
    }
}

[Buggy Hunk]
IFolderUtils.createFolder(sourceFolderName + getContextNamePackage(), project, monitor);

[Patch]
IFolderUtils.createFolder(sourceFolderName + getContextNamePackage().replaceAll("\\.", "/"), project, monitor);

[Demonstration 2]

[Buggy Method]
public static byte[] serialize(ClientCommunicatorRequest request) {
    int size = request.getMsgBytes().length + 12;
    ByteBuffer buffer = ByteBuffer.allocate(size).putInt(request.getRequestType().ordinal()).putInt(request.getRequestSequenceNumber()).put(request.getMsgBytes());
    return buffer.array();
}

[Buggy Hunk]
int size = request.getMsgBytes().length + 12;

[Patch]
int size = request.getMsgBytes().length + 2 * Integer.SIZE;

[Demonstration 3]

[Buggy Method]
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    super.onCreateView(inflater, container, savedInstanceState);
    allJobs = null;
    final View rootView = inflater.inflate(R.layout.fragment_scratch_converter_sliding_up_panel, container, false);
    convertIconImageView = (ImageView) rootView.findViewById(R.id.scratch_convert_icon);
    convertPanelHeadlineView = (TextView) rootView.findViewById(R.id.scratch_convert_headline);
    convertPanelStatusView = (TextView) rootView.findViewById(R.id.scratch_convert_status_text);
    convertProgressLayout = (RelativeLayout) rootView.findViewById(R.id.scratch_convert_progress_layout);
    convertProgressBar = (ProgressBar) rootView.findViewById(R.id.scratch_convert_progress_bar);
    convertStatusProgressTextView = (TextView) rootView.findViewById(R.id.scratch_convert_status_progress_text);
    upDownArrowImageView = (ImageView) rootView.findViewById(R.id.scratch_up_down_image_button);
    conversionList = (RelativeLayout) rootView.findViewById(R.id.scratch_conversion_list);
    conversionListView = (ListView) rootView.findViewById(R.id.scratch_conversion_list_view);
    convertedProgramsList = (RelativeLayout) rootView.findViewById(R.id.scratch_converted_programs_list);
    convertedProgramsListView = (ListView) rootView.findViewById(R.id.scratch_converted_programs_list_view);
    convertPanelStatusView.setVisibility(View.VISIBLE);
    convertProgressLayout.setVisibility(View.GONE);
    conversionList.setVisibility(View.GONE);
    convertedProgramsList.setVisibility(View.GONE);
    return rootView;
}

[Buggy Hunk]
allJobs = null;

[Patch]
allJobs = new ArrayList<>();