Department of Computer Engineering
Taxonomy of Bug Tracking Process Smells
Khushbakht Ali Qamar
(Supervisor: Asst. Prof. Dr. of Practice Eray Tüzün)
Computer Engineering Department
Bug tracking is one of the most important process in software development life cycle. It is the process of monitoring and reporting of software malfunctions or bugs. It helps in recording and solving the problems to make a system perfect out of an ordinary system. Although there is not a consensus on a formally defined lifecycle of the bug tracking process, many companies and open source software (OSS) communities agree on some rules and best practices for an ideal bug tracking process. In spite of minor differences in different platforms, the primary purpose of all these rules and practices is to lead a faster and more effective bug tracking process. Nonconformance of practitioners to this process does not only hinder the advantages of the bug tracking but also blocks the other steps of software development life cycle. To denote these bad practices, we use the term bug tracking smell. The aim of this study is to provide an empirical understanding of the bad practices followed in the bug tracking process, that are Bug Tracking (BT) process smells. To this end, we first conduct a multivocal literature review in order to gather bug tracking bad practices discussed in white and gray literature. Then, we conduct a survey with experienced software practitioners and perform follow-up interviews in order to get their expert opinion. Based on the multivocal literature review and expert opinion of experienced developers, a taxonomy of bug tracking smells (16 smell categories) is introduced. To quantitatively demonstrate the existence of these smells, we analyze 258,578 bug reports collected from 30 OSS projects. We observe that a considerable number of bug tracking smells exist in all projects with varying degree of ratios.
DATE: 18 November 2020, Wednesday @ 13:35