Improved dependency management for issue trackers in large collaborative projects (original) (raw)

Improved Management of Issue Dependencies in Issue Trackers of Large Collaborative Projects

IEEE Transactions on Software Engineering

Issue trackers, such as Jira, have become the prevalent collaborative tools in software engineering for managing issues, such as requirements, development tasks, and software bugs. However, issue trackers inherently focus on the lifecycle of single issues, although issues have and express dependencies on other issues that constitute issue dependency networks in large complex collaborative projects. The objective of this study is to develop supportive solutions for the improved management of dependent issues in an issue tracker. This study follows the Design Science methodology, consisting of eliciting drawbacks and constructing and evaluating a solution and system. The study was carried out in the context of The Qt Company's Jira, which exemplifies an actively used, almost two-decade-old issue tracker with over 100,000 issues. The drawbacks capture how users operate with issue trackers to handle issue information in large, collaborative, and long-lived projects. The basis of the solution is to keep issues and dependencies as separate objects and automatically construct an issue graph. Dependency detections complement the issue graph by proposing missing dependencies, while consistency checks and diagnoses identify conflicting issue priorities and release assignments. Jira's plugin and service-based system architecture realize the functional and quality concerns of the system implementation. We show how to adopt the intelligent supporting techniques of an issue tracker in a complex use context and a large data-set. The solution considers an integrated and holistic system view, practical applicability and utility, and the practical characteristics of issue data, such as inherent incompleteness.

Communication, collaboration, and bugs: The social nature of issue tracking in software engineering

2010

ABSTRACT Issue tracking systems help organizations manage issue reporting, assignment, tracking, resolution, and archiving. Traditionally, it is the Software Engineering community that researches issue tracking systems, where software defects are reported and tracked as 'bug reports' within an archival database. Yet issue tracking is fundamentally a social process and, as such, it is important to understand the design and use of issue tracking systems from that perspective.

Got Issues? Who Cares About It? An Investigation of Issue Trackers of 10 5 Projects

Feedback from software users constitutes a vital part in the evolution of software projects. By filing issue reports, users help identify and fix bugs, document software code, and enhance the software via feature requests. Many studies have explored issue reports, proposed approaches to enable the submission of higher-quality reports, and presented techniques to sort, categorize and leverage issues for software engineering needs. Who, however, cares about filing issues? What kind of issues are reported in issue trackers? What kind of correlation exist between issue reporting and the success of software projects? In this study, we address the need for answering such questions by performing an empirical study on a hundred thousands of open source projects. We investigate and answer various research questions on the popularity and impact of issue trackers.

Issue Tracking Systems: What Developers Want and Use

Proceedings of the 13th International Conference on Software Technologies

An Issue Tracking System (ITS) allows a developer to keep track of, prioritize, and assign multitudes of bugs, feature requests, and other development tasks such as testing. Despite ITSs play a significant role in day-today developers' activities, no previous study investigated what developers want and use in an ITS. The aim of this paper is twofold. First, we provide a feature matrix that maps six of the most used ITS to features, and second, we measure the developers' level of use and perceived importance of each feature. This knowledge has multiple benefits such as supporting the decision of the ITS to use and revealing promising areas of research and development. Specifically, quality improvement effort should target improving functionality in use, and development effort should target supporting functionalities needed. In this paper, we define and extract ten core ITS features and asked more than a hundred developers to rate their importance and use. Our results show that Advanced Search and Flexible Notifications are the most important features. Moreover, results show that no feature has been used by more than 90% of the respondents. Another interesting finding is that 27% of respondents rate Workflow Automation as a useful or required feature, despite having never used it themselves; this suggests the need to better training, exposure or of availability of ITS features. In conclusion, our results pave the way to significant research and development effort on ITS.

Communication, collaboration, and bugs: the social nature of issue tracking in small, collocated teams

2010

ABSTRACT Issue tracking systems help organizations manage issue reporting, assignment, tracking, resolution, and archiving. Traditionally, it is the Software Engineering community that researches issue tracking systems, where software defects are reported and tracked as 'bug reports' within an archival database. Yet, as issue tracking is fundamentally a social process, it is important to understand the design and use of issue tracking systems from that perspective.

Issue Starvation in Software Development: A Case Study on the Redmine Issue Tracking System Dataset

Journal of Telecommunication, Electronic and Computer Engineering (JTEC), 2017

In computing, starvation refers to the scenario when a process does not get required resources to complete its work. This mainly happens due to very simple priority based scheduling algorithms. Issues in software development require resources too and which issue will get the required resources depend on its priority. So the question is: Does starvation occur in Software Development too? The authors tried to answer the question with the help of their prepared dataset named as “Redmine Dataset”. Redmine is one of the popular web-based project management tool as well as an Issue Tracking Systems which also provide role-based access control. Currently, the Redmine ITS has more than 13000 issues and the number of issues is increasing time to time being. The authors have analyzed the Redmine dataset and found that starvation also occurred for issues in Software Development. The authors believe that this finding will steer the Software Engineering community for conducting research on advanced prioritization techniques which will resolve Issue starvation. Furthermore, the authors have provided few future research directions where this dataset can be used.

Web-based issue tracking for large software projects

IEEE Internet Computing, 1998

Many problems are found and fixed during the development of a software system. The Project Issue Tracking System toolkit, a Web-based issuemanagement tool, can be used to organize issue reports during development and to communicate with different project teams around the world.

Situational Awareness: Personalizing Issue Tracking Systems

Abstract—Issue tracking systems play a central role in ongoing software development; they are used by developers to support collaborative bug fixing and the implementation of new features, but they are also used by other stakeholders including managers, QA, and end-users for tasks such as project management, communication and discussion, code reviews, and history tracking.

Analyzing networks of issue reports

Proceedings of the European Conference on Software Maintenance and Reengineering, CSMR, 2013

Completely analyzed and closed issue reports in software development projects, particularly in the development of safety-critical systems, often carry important information about issue-related change locations. These locations may be in the source code, as well as traces to test cases affected by the issue, and related design and requirements documents. In order to help developers analyze new issues, knowledge about issue clones and duplicates, as well as other relations between the new issue and existing issue reports would be useful. This paper analyses, in an exploratory study, issue reports contained in two Issue Management Systems (IMS) containing approximately 20.000 issue reports. The purpose of the analysis is to gain a better understanding of relationships between issue reports in IMSs. We found that link-mining explicit references can reveal complex networks of issue reports. Furthermore, we found that textual similarity analysis might have the potential to complement the explicitly signaled links by recommending additional relations. In line with work in other fields, links between software artifacts have a potential to improve search and navigation in large software engineering projects.