CrossFix: Collaborative bug fixing by recommending similar bugs

03/24/2021
by   Shin Hwei Tan, et al.
0

Many automated program repair techniques have been proposed for fixing bugs. Some of these techniques use the information beyond the given buggy program and test suite to improve the quality of generated patches. However, there are several limitations that hinder the wide adoption of these techniques, including (1) they rely on a fixed set of repair templates for patch generation or reference implementation, (2) searching for the suitable reference implementation is challenging, (3) generated patches are not explainable. Meanwhile, a recent approach shows that similar bugs exist across different projects and one could use the GitHub issue from a different project for finding new bugs for a related project. We propose collaborative bug fixing, a novelapproach that suggests bug reports that describe a similar bug. Our studyredefines similar bugs as bugs that share the (1) same libraries, (2) same functionalities, (3) same reproduction steps, (4) same configurations, (5) sameoutcomes, or (6) same errors. Moreover, our study revealed the usefulness of similar bugs in helping developers in finding more context about the bug and fixing. Based on our study, we design CrossFix, a tool that automatically suggests relevant GitHub issues based on an open GitHub issue. Our evaluation on 249 open issues from Java and Android projects shows that CrossFix could suggest similar bugs to help developers in debugging and fixing.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
11/24/2018

How to Design a Program Repair Bot? Insights from the Repairnator Project

Program repair research has made tremendous progress over the last few y...
research
12/15/2020

A Quantitative Study of Security Bug Fixes of GitHub Repositories

Software is prone to bugs and failures. Security bugs are those that exp...
research
02/17/2022

Revisiting reopened bugs in open source software systems

Reopened bugs can degrade the overall quality of a software system since...
research
07/12/2019

iFixR: Bug Report driven Program Repair

Issue tracking systems are commonly used in modern software development ...
research
06/21/2019

Harnessing Evolution for Multi-Hunk Program Repair

Despite significant advances in automatic program repair (APR)techniques...
research
04/03/2022

A Study of Single Statement Bugs Involving Dynamic Language Features

Dynamic language features are widely available in programming languages ...
research
03/06/2020

Memory-Safety Challenge Considered Solved? An Empirical Study with All Rust CVEs

Rust is an emerging programing language that aims at preventing memory-s...

Please sign up or login with your details

Forgot password? Click here to reset