R2Fix: Automatically Generating Bug Fixes from Bug Reports

Many bugs, even those that are known and documented in bug reports, remain in mature software for a long time due to the lack of the development resources to fix them. We propose a general approach, R2Fix, to automatically generate bug-fixing patches from free-form bug reports. R2Fix combines past f...

Full description

Bibliographic Details
Main Author: Liu, Chen
Language:en
Published: 2013
Subjects:
Online Access:http://hdl.handle.net/10012/7187
id ndltd-WATERLOO-oai-uwspace.uwaterloo.ca-10012-7187
record_format oai_dc
spelling ndltd-WATERLOO-oai-uwspace.uwaterloo.ca-10012-71872013-07-30T06:50:10ZLiu, Chen2013-01-08T21:34:45Z2013-01-08T21:34:45Z2013-01-08T21:34:45Z2012http://hdl.handle.net/10012/7187Many bugs, even those that are known and documented in bug reports, remain in mature software for a long time due to the lack of the development resources to fix them. We propose a general approach, R2Fix, to automatically generate bug-fixing patches from free-form bug reports. R2Fix combines past fix patterns, machine learning techniques, and semantic patch generation techniques to fix bugs automatically. We evaluate R2Fix on three large and popular software projects, i.e., the Linux kernel, Mozilla, and Apache, for three important types of bugs: buffer overflows, null pointer bugs, and memory leaks. R2Fix generates 60 patches correctly, 5 of which are new patches for bugs that have not been fixed by developers yet. We reported all 5 new patches to the developers; 4 have already been accepted and committed to the code repositories. The 60 correct patches generated by R2Fix could have shortened and saved an average of 68 days of bug diagnosis and patch generation time.enReliabilityBug report classificationAutomatic bug fixingFault repairR2Fix: Automatically Generating Bug Fixes from Bug ReportsThesis or DissertationElectrical and Computer EngineeringMaster of Applied ScienceElectrical and Computer Engineering
collection NDLTD
language en
sources NDLTD
topic Reliability
Bug report classification
Automatic bug fixing
Fault repair
Electrical and Computer Engineering
spellingShingle Reliability
Bug report classification
Automatic bug fixing
Fault repair
Electrical and Computer Engineering
Liu, Chen
R2Fix: Automatically Generating Bug Fixes from Bug Reports
description Many bugs, even those that are known and documented in bug reports, remain in mature software for a long time due to the lack of the development resources to fix them. We propose a general approach, R2Fix, to automatically generate bug-fixing patches from free-form bug reports. R2Fix combines past fix patterns, machine learning techniques, and semantic patch generation techniques to fix bugs automatically. We evaluate R2Fix on three large and popular software projects, i.e., the Linux kernel, Mozilla, and Apache, for three important types of bugs: buffer overflows, null pointer bugs, and memory leaks. R2Fix generates 60 patches correctly, 5 of which are new patches for bugs that have not been fixed by developers yet. We reported all 5 new patches to the developers; 4 have already been accepted and committed to the code repositories. The 60 correct patches generated by R2Fix could have shortened and saved an average of 68 days of bug diagnosis and patch generation time.
author Liu, Chen
author_facet Liu, Chen
author_sort Liu, Chen
title R2Fix: Automatically Generating Bug Fixes from Bug Reports
title_short R2Fix: Automatically Generating Bug Fixes from Bug Reports
title_full R2Fix: Automatically Generating Bug Fixes from Bug Reports
title_fullStr R2Fix: Automatically Generating Bug Fixes from Bug Reports
title_full_unstemmed R2Fix: Automatically Generating Bug Fixes from Bug Reports
title_sort r2fix: automatically generating bug fixes from bug reports
publishDate 2013
url http://hdl.handle.net/10012/7187
work_keys_str_mv AT liuchen r2fixautomaticallygeneratingbugfixesfrombugreports
_version_ 1716595096238948352