Analytical Study on Bug Triaging Practices

Analytical Study on Bug Triaging Practices

Anjali Goyal (Jaypee Institute of Information Technology, Department of Computer Science and Engineering, Noida, UP, India) and Neetu Sardana (Jaypee Institute of Information Technology, Department of Computer Science and Engineering, Noida, UP, India)
Copyright: © 2016 |Pages: 23
DOI: 10.4018/IJOSSP.2016040102
OnDemand PDF Download:
$30.00
List Price: $37.50

Abstract

Software bugs are inevitable and fixing these bugs is a difficult and time consuming task. Bug report assignment is the activity of designating a developer who makes source code changes in order to fix the bug. Many bug assignment techniques have been proposed in the existing studies. These studies use different datasets, varied input and evaluation parameters to validate their work. This diversification in bug triaging results in perplexity among researchers. Hence, this paper organizes the work performed in bug triaging in a structured manner. This paper aims to present current state of the art to provide a structured consolidation of bug triaging approaches. The paper has identified six research questions under five dimensions to address the various aspects of bug triaging. 60 articles from 36 venues have been reviewed and categorized in order to organize and substructure existing work in the field of bug report assignment. This study will help researchers to wisely decide the weapons for bug triaging. Also, it will act as a ready reference for the bug triaging practitioners.
Article Preview

Introduction

Developing an open source software (OSS) is an intense activity. These software usually provides a rich source of repository due to large scale and complexity of software systems. These software are usually developed in a collaborative public manner. Bug management is an important aspect of OSS maintenance. A software bug is an error, flaw, failure or fault in the complete or part of a computer program that may lead to an incorrect or undesired output. Bug induces poor user experience and low system throughput. Software projects are estimated to spend more than 45 percent of total cost of software development in fixing bugs (Pressman, 2005).

Large software development projects usually use a bug (or issue) tracking system (BTS or ITS) for gathering and organizing bugs reported by developers and users of the project. The users and developers of software, report all the software related issues to bug tracking repository where the bug reports are further analyzed by one of the trusted team members such as bug triager, senior developer or project manager of the bug repository. The bug triager then assigns a suitable developer for bug report who could successfully resolve the software issue. Although bug assignment can be done manually but it has two major problems. First, (Anvik et al., 2006) reported that open source projects receive many bug reports daily and increases the triager’s workload. Moreover, large number of bug report submissions make the process of bug report analysis a labor-intensive task. It is being noted that in October 2012, Mozilla (mozilla.org) project received over 80,000 reports, averaging 300 new bug reports each day and the situation is getting worse day by day since then. Second, for a bug triager, it is really cumbersome to be aware of the activities (or interest areas) of all the developers (Cubranic & Murphy, 2004). An incorrect assignment may lead to increase in fixing time of a bug by many folds (Bhattacharya & Neamtiu, 2010). This further exaggerates the efforts and cost of fixation of bug.

Recognizing these problems, researchers have proposed a number of approaches that semi or fully automates the bug report assignment process. The popular techniques that have been introduced gathers the expertise information related to individual developers from the history of tasks performed by them. On the basis of tasks performed in the past, the developers are recommended for the new bug reports.

The availability of a huge amount of bug assignment approaches calls for a comprehensive overview. (Zhang et al., 2015) presented a survey, in which they covered many different aspects of bug report analysis. Their survey includes a brief summary of bug report optimization, severity prediction, bug report prioritization, duplicate detection, bug assignment, localization and fix time prediction techniques. To the best of our knowledge, there is no in-depth literature survey available particularly in the area of bug report assignment. This paper focusses on current state of the art on bug report assignment. This survey encompasses 60 papers from 36 venues published between month 2004 and 2016. The papers were selected because they have either proposed or implemented a bug assignment approach.

The rest of this paper is organized as follows. Section 2 introduces the dimensions and its related questions of the survey. Section 3 details about the extracted data related to survey. Section 4 describes bug related terminology and its life cycle. Section 5 analyses the existing bug assignment approaches. Section 6 responds to all the research questions addressed in this work. Finally, section 7 concludes the paper followed by future directions for research in Section 8.

Complete Article List

Search this Journal:
Reset
Open Access Articles: Forthcoming
Volume 8: 4 Issues (2017): 1 Released, 3 Forthcoming
Volume 7: 4 Issues (2016)
Volume 6: 1 Issue (2015)
Volume 5: 3 Issues (2014)
Volume 4: 4 Issues (2012)
Volume 3: 4 Issues (2011)
Volume 2: 4 Issues (2010)
Volume 1: 4 Issues (2009)
View Complete Journal Contents Listing