[Demonstration 1]

[Buggy Method]
@RequestMapping(value = "/profileDone")
public String profileDone(Member member, String birth1, Model model, MultipartFile profile_image1, HttpServletRequest request, HttpSession session) {
    System.out.println(profile_image1.getOriginalFilename());
    if (profile_image1.getOriginalFilename() != null && !profile_image1.getOriginalFilename().equals("")) {
        try {
            byte[] bytes = profile_image1.getBytes();
            String rootPath = request.getSession().getServletContext().getRealPath("/WEB-INF/img_timeline");
            File serverFile = new File(rootPath + File.separator + profile_image1.getOriginalFilename());
            BufferedOutputStream stream = new BufferedOutputStream(new FileOutputStream(serverFile));
            stream.write(bytes);
            stream.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
        member.setProfile_image(profile_image1.getOriginalFilename());
    }
    if (birth1 != null) {
        member.setBirth(Date.valueOf(birth1));
    }
    int result = ms.update(member);
    if (result > 0) {
        // session에 저장된 member를 update
        session.setAttribute("member", member);
    }
    return "profileDone";
}

[Buggy Hunk]
if(birth1!=null) {

[Patch]
if(birth1!=null && !birth1.equals("")) {

[Demonstration 2]

[Buggy Method]
@ReactMethod
public void getRegistrationId(Callback callback) {
    String registrationId = UmengRegistrar.getRegistrationId(mReactContext);
    callback.invoke(registrationId == null ? mRegistrationId : registrationId);
}

[Buggy Hunk]
callback.invoke(registrationId == null ? mRegistrationId : registrationId);

[Patch]
callback.invoke(registrationId == null ? mPushApplication.mRegistrationId : registrationId);

[Demonstration 3]

[Buggy Method]
public double pay(String name) throws InvalidName {
    if (!prenotations.containsKey(name))
        throw new InvalidName();
    if (!orders.containsKey(name))
        throw new InvalidName();
    double toPay = 0;
    for (String m : orders.get(name)) {
        toPay += listing.get(m).getPrice();
    }
    paid.put(name, toPay);
    return toPay;
}

[Buggy Hunk]
if (!orders.containsKey(name)) throw new InvalidName();

[Patch]
if (!orders.containsKey(name)) return 0;