Wayback Machine: Capturing the evolutionary behaviour of the bug dependency graph in open-source software systems

11/10/2020
by   Hadi Jahanshahi, et al.
0

The issue tracking system (ITS) is a rich data source for data-driven decision making. Different characteristics of bugs, such as severity, priority, and time to fix may be misleading. Similarly, these values may be subjective, e.g., severity and priority values are assigned based on the intuition of a user or a developer rather than a structured and well-defined procedure. Hence, we explore the dependency graph of the bugs and its complexity as an alternative to show the actual project evolution. In this work, we aim to overcome uncertainty in decision making by tracking the complexity of the bug dependency graph (BDG) to come up with a bug resolution policy that balances different considerations such as bug dependency, severity, and fixing time for the bug triaging. We model the evolution of BDG by mining issue tracking systems of three open-source projects for the past ten years. We first design a Wayback machine to examine the current bug fixing strategies, and then we define eight rule-based bug prioritization policies and compare their performances using ten distinct internal and external indices. We simulate the behavior of the ITS and trace back the effect of each policy across the history of the ITS. Considering the strategies related to the topology of the BDG, we are able to address bug prioritization problems under different scenarios. Our findings show that the network-related approaches are superior to the actual prioritization task in most cases. Among the selected open-source projects, LibreOffice triagers are the only ones who disregard the importance of the BDG, and that project is faced with a very dense BDG. Although we found that there is no single remedy that satisfies all the expectations of developers, the graph-related policies are found to be robust and deemed to be more suitable for bug triaging.

READ FULL TEXT

page 14

page 15

page 16

page 35

research
01/24/2020

Advaita: Bug Duplicity Detection System

Bugs are prevalent in software development. To improve software quality,...
research
04/12/2022

S-DABT: Schedule and Dependency-Aware Bug Triage in Open-Source Bug Tracking Systems

Fixing bugs in a timely manner lowers various potential costs in softwar...
research
04/26/2021

DABT: A Dependency-aware Bug Triaging Method

In software engineering practice, fixing a bug promptly reduces the asso...
research
07/01/2022

Is this bug severe? A text-cum-graph based model for bug severity prediction

Repositories of large software systems have become commonplace. This mas...
research
09/12/2023

PreciseBugCollector: Extensible, Executable and Precise Bug-fix Collection

Bug datasets are vital for enabling deep learning techniques to address ...
research
07/23/2018

Reduction of Redundant Rules in Association Rule Mining-Based Bug Assignment

Bug triaging is a process to decide what to do with newly coming bug rep...
research
10/24/2017

What is the Connection Between Issues, Bugs, and Enhancements? (Lessons Learned from 800+ Software Projects)

Agile teams juggle multiple tasks so professionals are often assigned to...

Please sign up or login with your details

Forgot password? Click here to reset