  Many research areas in software engineering, such as mutation testing,
automatic repair, fault localization, and fault injection, rely on empirical
knowledge about recurring bug-fixing code changes. Previous studies in this
field focus on what has been changed due to bug-fixes, such as in terms of code
edit actions. However, such studies did not consider where the bug-fix change
was made (i.e., the context of the change), but knowing about the context can
potentially narrow the search space for many software engineering techniques
(e.g., by focusing mutation only on specific parts of the software).
Furthermore, most previous work on bug-fixing changes focused on C and Java
projects, but there is little empirical evidence about Python software.
Therefore, in this paper we perform a thorough empirical analysis of bug-fixing
changes in three OpenStack projects, focusing on both the what and the where of
the changes. We observed that all the recurring change patterns are not
oblivious with respect to the surrounding code, but tend to occur in specific
code contexts.
