SEAug 29, 2019

Analyzing the Context of Bug-Fixing Changes in the OpenStack Cloud Computing Platform

arXiv:1908.11297v19 citations
AI Analysis

This provides empirical evidence for Python software engineering techniques, potentially narrowing search spaces for tasks like mutation testing, but it is incremental as it extends prior work on C and Java to Python.

The paper tackles the problem of understanding bug-fixing changes in software by analyzing both what and where changes occur in OpenStack Python projects, finding that recurring patterns are context-specific rather than random.

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.

Code Implementations1 repo
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes