How do fixes become bugs?

@inproceedings{Yin2011HowDF,
  title={How do fixes become bugs?},
  author={Zuoning Yin and Ding Yuan and Yuanyuan Zhou and Shankar Pasupathy and Lakshmi N. Bairavasundaram},
  booktitle={ESEC/FSE '11},
  year={2011}
}
Software bugs affect system reliability. When a bug is exposed in the field, developers need to fix them. Unfortunately, the bug-fixing process can also introduce errors, which leads to buggy patches that further aggravate the damage to end users and erode software vendors' reputation. This paper presents a comprehensive characteristic study on incorrect bug-fixes from large operating system code bases including Linux, OpenSolaris, FreeBSD and also a mature commercial OS developed and evolved… 
The design of bug fixes
TLDR
A number of factors, many of them non-technical, that influence how bugs are fixed, such as how close to release the software is, are found.
The Design Space of Bug Fixes and How Developers Navigate It
TLDR
A number of factors, many of them non-technical, that influence how bugs are fixed, such as how close to release the software is, are found.
Empirical Evaluation of Bug Linking
TLDR
A benchmark for evaluating bug linking solutions, which includes a dataset of about 12,000 bug links from 10 programs and applies this benchmark on ReLink to report the strengths and limitations of this bug linking tool.
Bug characteristics in open source software
TLDR
This work studies software bug characteristics by sampling 2,060 real world bugs in three large, representative open-source projects and uses machine learning techniques to classify 109,014 bugs automatically, suggesting semantic bugs are the dominant root cause.
Towards Characterizing Bug Fixes through Dependency-Level Changes in Apache Java Open Source Projects
TLDR
This study conducts a systematic and comprehensive study on bug fixes collected from 157 Apache open source projects, and unveils useful findings based on the qualitative and quantitative analysis and also provides new insights that might benefit existing bug prediction techniques.
Localization of real world regression Bugs using single execution
TLDR
In over 90% of the cases, the developer only has to examine 10-20 lines of code in order to locate the bug, regardless of the code base size, and is highly scalable to millions of loc systems.
An empirical study of non-reproducible bugs
TLDR
It is found that Non-Reproducible bugs consume more fixation time thereby affecting bug fixing processes’ efficiency, and efforts in Non-reproducible bugs could be minimized by developing a fixability prediction model that can build confidence among developers.
Understanding, detecting, and repairing performance bugs
TLDR
Little evidence is found that fixing performance bugs has a higher chance to introduce new functional bugs than fixing non-performance bugs, which implies that developers may not need to be overconcerned about fixing performance Bugs.
Discovering, reporting, and fixing performance bugs
TLDR
It is found that fixing performance bugs has a higher chance to introduce new functional bugs than fixing non-performance bugs, which implies that developers may not need to be over-concerned about fixed performance bugs.
Toward understanding compiler bugs in GCC and LLVM
TLDR
This study conducts the first empirical study on the characteristics of the bugs in two main-stream compilers, GCC and LLVM, and shows that even mature production compilers still have many bugs, which may affect development.
...
1
2
3
4
5
...

References

SHOWING 1-10 OF 49 REFERENCES
Has the bug really been fixed?
TLDR
A novel notion of distance-bounded weakest precondition is introduced as the basis for the developed practical techniques to compute the coverage and disruption of a fix, which formalizes two criteria to determine whether a fix resolves a bug.
Memories of bug fixes
TLDR
A bug finding algorithm using bug fix memories: a project-specific bug and fix knowledge base developed by analyzing the history of bug fixes, and a bug finding tool, BugMem, implements the algorithm.
Have things changed now?: an empirical study of bug characteristics in modern open source software
TLDR
This study analyzes bug characteristics by first sampling hundreds of real world bugs in two large, representative open-source projects and finds several new interesting characteristics, including memory-related bugs have decreased and security bugs are increasing.
The missing links: bugs and bug-fix commits
TLDR
Linkster is presented, a tool to facilitate link reverse-engineering, and a comprehensive data set of reported and unreported bug-fix commits is analyzed, showing that there are serious and consequential problems in the data.
Toward an understanding of bug fix patterns
TLDR
Overall, data in the paper suggest that developers have difficulty with specific code situations at surprisingly consistent rates, and there appear to be broad mechanisms causing the injection of bugs that are largely independent of the type of software being produced.
Recurring bug fixes in object-oriented programs
TLDR
Based on graph-based representation of object usages, this work has developed several techniques to identify code peers, recognize recurring bug fixes, and recommend changes for code units from the bug fixes of their peers.
Who should fix this bug?
TLDR
This paper applies a machine learning algorithm to the open bug repository to learn the kinds of reports each developer resolves and reaches precision levels of 57% and 64% on the Eclipse and Firefox development projects respectively.
Learning from mistakes: a comprehensive study on real world concurrency bug characteristics
TLDR
This study carefully examined concurrency bug patterns, manifestation, and fix strategies of 105 randomly selected real world concurrency bugs from 4 representative server and client open-source applications and reveals several interesting findings that provide useful guidance for concurrency Bug detection, testing, and concurrent programming language design.
Ownership and Experience in Fix-Inducing Code
Software defects cost the U.S. economy billions of dollars annually [1]. Recent research indicates that “people” factors such as ownership, experience, organizational structure, and geographic
When do changes induce fixes?
TLDR
In a first investigation of the MOZILLA and ECLIPSE history, it turns out that fix-inducing changes show distinct patterns with respect to their size and the day of week they were applied.
...
1
2
3
4
5
...