(2.23 MB)
Download file

Analyzing the context of bug-fixing changes in the OpenStack cloud computing platform

Download (2.23 MB) This item is shared privately
modified on 17.05.2019, 15:28
Many research areas in software engineering, such as mutation testing, automatic repair, fault localization, and fault injection, rely on empirical knowledge about recurring \emph{bug-fixing code changes}. Previous studies in this field focus on \emph{what} has been changed due to bug-fixes, such as in terms of code edit actions. However, such studies did not consider \emph{where} the bug-fix change was made (i.e., the \emph{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 we found are not oblivious with respect to context, but tend to occur in specific code constructs.