Abstract

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 annotations to be used in issue tracking systems: solution originator and solution approver. We annotated which developers were originators or approvers of the solution to 602 issues from the OpenMRS healthcare system. We used these annotations to augment the version control logs and found 47 more contributors to the OpenMRS project than the original 40 found in the version control logs. Using social network analysis, we found that approvers are likely to score high in centrality and hierarchical clustering. Our results indicate that our two issue tracking annotations identify project collaborators that version control logs miss. Thus, issue tracking annotations are an improvement in developer activity metrics that strengthen the connection between what we can measure in the project development artifacts and the team's collaborative problem-solving process.

Highlights

  • The quality of many software products rests on teams of people who are collaborating with each other

  • The objective of this research is to improve the information gained by measurements of developer collaboration by introducing and analyzing two issue tracking annotations: solution originator and solution approver

  • We examine whether information about developer collaboration can be gained by analyzing two issue tracking annotations: solution originator and solution approver

Read more

Summary

Introduction

The quality of many software products rests on teams of people who are collaborating with each other. One class of metrics, called developer activity metrics, analyzes the structure of a development team by quantifying how developers collaborate with each other [1]. Developer activity metrics have been shown to predict failures [2, 3], predict vulnerabilities [1], and provide insight on individual projects [4,5,6,7]. Many studies using developer activity metrics use version control change logs to determine who is working on which part of the system. Developers can link pertinent artifacts to that ticket, such as patches, change sets in the version control system, error logs, or screenshots. We use network analysis to quantify how developers collaborate on projects. A geodesic path is the “social distance” from one node to another

Objectives
Results
Discussion
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call