Supervisor: Prof. Ahmed Hassan
Internal Examiner: Prof. Steven Ding
External Examiner: Prof. Saeed Gazor (ECE)
Chair: Prof. Hossam HassaneinLeveraging Q&A Platforms to Improve Issue Management in Software ProjectsAbstract
Traditional issue management systems like are widely used in open source and commercial projects. Stack Exchange uses its online question and answer (Q&A) platform to collect and manage bugs, which
brings several new unique features that are not offered in traditional bug management systems. Along with this, prior studies have shown that the Q\&A system of Stack Exchange ensures sustainable community contributions. In this thesis, we divide our study into the Q\&A features that are being used in the Stack Exchange issue management system, as well as study the differences between bug reports and feature requests that have been refined due to community collaborations.
For the former part, we study the unique features of Stack Exchange Q\&A based platform that allows users to directly edit a bug report (i.e., the in-place editing feature) instead of commenting about the
bug report; use different communication channels (i.e., the answering and commenting features) to discuss reported bugs, and vote on those bug reports, answers, and their associated comments (i.e., the voting feature). We study how these unique features are used to manage bugs, and provide insights to the designers of traditional bug management systems who are considering introducing such features in their bug management system.
The later part of this thesis performs a study of the differences between bug reports and feature requests in the Stack Exchange issue management system. We perform this study because: 1) Stack Exchange contains a large number of issues that have been carefully tagged as bug reports versus feature requests by domain experts, rather than researchers (ensuring the robustness of our findings), 2) the issue management is carried out through a Q\&A platform, which provides us with a richer perspectives on the differences between the management of bug reports and feature requests. We found that bug reports and feature requests differ significantly from each other along many dimensions such as the amount of community contributions, the content of the issues, and the characteristics of the participating users. We are able to automatically identify bug reports from feature request with a median AUC of 89.8\%. Our study offers a rich empirical understanding of the differences between bug reports and feature requests (and their management). The developers of issue management systems, software practitioners and researchers can leverage such understanding to improve issue management processes in large software projects.