Too Few Bug Reports? Exploring Data Augmentation for Improved Changeset-based Bug Localization

by   Agnieszka Ciborowska, et al.

Modern Deep Learning (DL) architectures based on transformers (e.g., BERT, RoBERTa) are exhibiting performance improvements across a number of natural language tasks. While such DL models have shown tremendous potential for use in software engineering applications, they are often hampered by insufficient training data. Particularly constrained are applications that require project-specific data, such as bug localization, which aims at recommending code to fix a newly submitted bug report. Deep learning models for bug localization require a substantial training set of fixed bug reports, which are at a limited quantity even in popular and actively developed software projects. In this paper, we examine the effect of using synthetic training data on transformer-based DL models that perform a more complex variant of bug localization, which has the goal of retrieving bug-inducing changesets for each bug report. To generate high-quality synthetic data, we propose novel data augmentation operators that act on different constituent components of bug reports. We also describe a data balancing strategy that aims to create a corpus of augmented bug reports that better reflects the entire source code base, because existing bug reports used as training data usually reference a small part of the code base.


page 1

page 2

page 3

page 4


Fast Changeset-based Bug Localization with BERT

Automatically localizing software bugs to the changesets that induced th...

Online Adaptable Bug Localization for Rapidly Evolving Software

Bug localization aims to reduce debugging time by recommending program e...

ApacheJIT: A Large Dataset for Just-In-Time Defect Prediction

In this paper, we present ApacheJIT, a large dataset for Just-In-Time de...

Cupid: Leveraging ChatGPT for More Accurate Duplicate Bug Report Detection

Duplicate bug report detection (DBRD) is a long-standing challenge in bo...

BLESER: Bug Localization Based on Enhanced Semantic Retrieval

Static bug localization techniques that locate bugs at method granularit...

TestRank: Bringing Order into Unlabeled Test Instances for Deep Learning Tasks

Deep learning (DL) has achieved unprecedented success in a variety of ta...

On Reporting Performance and Accuracy Bugs for Deep Learning Frameworks: An Exploratory Study from GitHub

The tremendous success of Deep Learning (DL) has significantly boosted t...

Please sign up or login with your details

Forgot password? Click here to reset