Improving developer activity metrics with issue tracking annotations (original) (raw)
Related papers
On the Use of Issue Tracking Annotations for Improving Developer Activity Metrics
Advances in Software Engineering, 2011
Understanding and measuring how teams of developers collaborate on software projects can provide valuable insight into the software development process. Currently, researchers and practitioners measure developer collaboration with social networks constructed from version control logs. Version control change logs, however, do not tell the whole story. The collaborative problem-solving process is also documented in the issue tracking systems that record solutions to failures, feature requests, or other development tasks. We propose two ...
How Developers' Collaborations Identified from Different Sources Tell Us about Code Changes
2014 IEEE International Conference on Software Maintenance and Evolution, 2014
Written communications recorded through channels such as mailing lists or issue trackers, but also code cochanges, have been used to identify emerging collaborations in software projects. Also, such data has been used to identify the relation between developers' roles in communication networks and source code changes, or to identify mentors aiding newcomers to evolve the software project. However, results of such analyses may be different depending on the communication channel being mined. This paper investigates how collaboration links vary and complement each other when they are identified through data from three different kinds of communication channels, i.e., mailing lists, issue trackers, and IRC chat logs. Also, the study investigates how such links overlap with links mined from code changes, and how the use of different sources would influence (i) the identification of project mentors, and (ii) the presence of a correlation between the social role of a developer and her changes. Results of a study conducted on seven open source projects indicate that the overlap of communication links between the various sources is relatively low, and that the application of networks obtained from different sources may lead to different results.
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.
A Tool for the Analysis of Social Networks in Collaborative Software Development
2010 43rd Hawaii International Conference on System Sciences, 2010
In this article, we present a tool that is designed to investigate the collaboration network between actors in software development groups. Our approach uses data derived from the version control system SVN (subversion) to retrieve the collaboration structures using an elaborate refinement process. The software 'SVN Network Analysis Tool' (SVNNAT) aims to reveal the strengths and properties of collaboration ties between the developers in order to analyze their productivity and their quality of work in a given constellation of a software development network. In contrast to an earlier version of SVNNAT, our current approach accounts for the specific structures of programming languages in software code to separate technical artifacts from the information about the actors' collaboration in the development network. The result of the evaluation process is a social network of software developers that can be analyzed using typical indicators of topology properties like betweenness, closeness, and degree centralization. In a further step such network analysis can be used to propose an efficient network structure for developers of newly designed software projects.
Using Developer Activity Data to Enhance Awareness during Collaborative Software Development
Computer Supported Cooperative Work, 2009
Software development is a global activity unconstrained by the bounds of time and space. A major effect of this increasing scale and distribution is that the shared understanding that developers previously acquired by formal and informal face-to-face meetings is difficult to obtain. This paper proposes a shared awareness model that uses information gathered automatically from developer IDE interactions to make explicit orderings of tasks, artefacts and developers that are relevant to particular work contexts in collaborative, and potentially distributed, software development projects. The research findings suggest that such a model can be used to: identify entities (developers, tasks, artefacts) most associated with a particular work context in a software development project; identify relevance relationships amongst tasks, developers and artefacts e.g. which developers and artefacts are currently most relevant to a task or which developers have contributed to a task over time; and, can be used to identify potential bottlenecks in a project through a ‘social graph’ view. Furthermore, this awareness information is captured and provided as developers work in different locations and at different times.
Identifying key developers using artifact traceability graphs
Proceedings of the 16th ACM International Conference on Predictive Models and Data Analytics in Software Engineering, 2020
Developers are the most important resource to build and maintain software projects. Due to various reasons, some developers take more responsibility, and this type of developers are more valuable and indispensable for the project. Without them, the success of the project would be at risk. We use the term key developers for these essential and valuable developers, and identifying them is a crucial task for managerial decisions such as risk assessment for potential developer resignations. We study key developers under three categories: jacks, mavens and connectors. A typical jack (of all trades) has a broad knowledge of the project, they are familiar with different parts of the source code, whereas mavens represent the developers who are the sole experts in specific parts of the projects. Connectors are the developers who involve different groups of developers or teams. They are like bridges between teams. To identify key developers in a software project, we propose to use traceable links among software artifacts such as the links between change sets and files. First, we build an artifact traceability graph, then we define various metrics to find key developers. We conduct experiments on three open source projects: Hadoop, Hive and Pig. To validate our approach, we use developer comments in issue tracking systems and demonstrate that the identified key developers by our approach match the top commenters up to 92%. CCS CONCEPTS • Software and its engineering → Programming teams.
Identifying Collaboration Patterns in Software Development Social Networks
2010
Abstract. Software development is a collaborative activity which involves the effective coordination of groups displaying variations in their skills and responsibilities. This paper argues that, by understanding the way collaboration is performed, participants and managers can better understand the development process in order to conduct their activities.
The JIRA Repository Dataset: Understanding Social Aspects of Software Development
Issue tracking systems store valuable data for testing hypotheses concerning maintenance, building statistical prediction models and the social interactions of developers when interacting with peers. In particular, the Jira Issue Tracking System (ITS) is a proprietary tracking system that has gained a tremendous popularity in the last years and offers unique features like a project management system and the Jira agile kanban board. This paper presents a dataset extracted from the Jira ITS of four popular open source ecosystems (as well as the tools and infrastructure used for extraction), i.e., the Apache Software Foundation, Spring, JBoss and CodeHaus communities. Our dataset hosts more than 1K projects, containing more than 700K issue reports and more than 2 million issue comments. Using this data, we have been able to deeply study the communication process among developers, and how this aspect affects the development process. For example, we found that comments posted by developers contain not only technical information, but also valuable information about sentiments and emotions. With this repository we would like to encourage further studies in these directions.
Categorizing bugs with social networks: a case study on four open source software communities
2013 35th International Conference on Software Engineering (ICSE), 2013
Efficient bug triaging procedures are an important precondition for successful collaborative software engineering projects. Triaging bugs can become a laborious task particularly in open source software (OSS) projects with a large base of comparably inexperienced parttime contributors. In this paper, we propose an efficient and practical method to identify valid bug reports which a) refer to an actual software bug, b) are not duplicates and c) contain enough information to be processed right away. Our classification is based on nine measures to quantify the social embeddedness of bug reporters in the collaboration network. We demonstrate its applicability in a case study, using a comprehensive data set of more than 700, 000 bug reports obtained from the Bugzilla installation of four major OSS communities, for a period of more than ten years. For those projects that exhibit the lowest fraction of valid bug reports, we find that the bug reporters' position in the collaboration network is a strong indicator for the quality of bug reports. Based on this finding, we develop an automated classification scheme that can easily be integrated into bug tracking platforms and analyze its performance in the considered OSS communities. A support vector machine (SVM) to identify valid bug reports based on the nine measures yields a precision of up to 90.3% with an associated recall of 38.9%. With this, we significantly improve the results obtained in previous case studies for an automated early identification of bugs that are eventually fixed. Furthermore, our study highlights the potential of using quantitative measures of social organization in collaborative software engineering. It also opens a broad perspective for the integration of social awareness in the design of support infrastructures.