R2Fix: Automatically Generating Bug Fixes from Bug Reports
read more
Citations
A Literature Review of Research in Bug Resolution: Tasks, Challenges and Future Directions
Learning Quick Fixes from Code Repositories.
An Empirical Study on Real Bugs for Machine Learning Programs
Automated debugging using path-based weakest preconditions
iFixR: Bug Report driven Program Repair
References
Data Mining: Practical Machine Learning Tools and Techniques
Foundations of Statistical Natural Language Processing
KLEE: unassisted and automatic generation of high-coverage tests for complex systems programs
Programmers use slices when debugging
Related Papers (5)
Frequently Asked Questions (9)
Q2. What are the future works in "R2fix: automatically generating bug fixes from bug reports" ?
In the future, the authors plan to generate patches for new types of bug reports, and extend R2Fix to take the output of existing bug detection tools as input to improve the effectiveness of patch generation. In other words, R2Fix does not use the “ Comment ” fields of the bug reports, because the authors want to apply R2Fix as soon as a bug is reported to maximize the time and effort that R2Fix can save for developers in fixing bugs. The authors estimate that it will take you approximately 3 minutes to complete this short survey. In other words, R2Fix does not use the “ Comment ” fields of the bug reports, because the authors want to apply R2Fix as soon as a bug is reported to maximize the time and effort that R2Fix can save for developers in fixing bugs.
Q3. What is the purpose of the article?
The patch deletes the line that writes 5 bytes to buffer state (denoted by - strcpy(state, "off ");), and adds a new line to write only 4 bytes to state (+ strcpy(state, "off");), which fixes the overflow bug.
Q4. What is the purpose of the bug report?
The developers first need to understand this bug report by reading the relevant code together with this report: the buffer state contains only 4 bytes, but 5 bytes, “off \\0”, was written to the buffer, where denotes one space character and the single character ‘\\0’ is needed to mark the end of the string.
Q5. What is the name of the author?
My dear mother, the first teacher and the role model in my life, gives me confidence to explore new things, especially in a different country far away from my homeland.
Q6. What is the main focus of this paper?
Developers’ bug-fixing process is primarily manual; therefore the time required for producing a fix and its accuracy depend on the skill and experience of individuals.
Q7. What is the purpose of this article?
Developers often spend days, weeks, or even months diagnosing the root cause of a bug by reading the relevant source code, using a debugger to observe and modify the program execution on different inputs, etc.
Q8. What is the main purpose of this article?
After a developer determines the root cause, typically the developer needs to figure out how to modify the buggy code to fix the bug, check out the buggy version of the software, apply the fix, and generate the patch.
Q9. Who is the author of the thesis?
I am thankful to readers of the thesis, Prof. Patrick Lam and Prof. Mahesh V. Tripunitara, for spending their valuable time to review the thesis and give valuable comments.