Developers Perception of Peer Code Review in Research Software Development

by   Nasir U. Eisty, et al.

Background: Research software is software developed by and/or used by researchers, across a wide variety of domains, to perform their research. Because of the complexity of research software, developers cannot conduct exhaustive testing. As a result, researchers have lower confidence in the correctness of the output of the software. Peer code review, a standard software engineering practice, has helped address this problem in other types of software. Aims: Peer code review is less prevalent in research software than it is in other types of software. In addition, the literature does not contain any studies about the use of peer code review in research software. Therefore, through analyzing developers perceptions, the goal of this work is to understand the current practice of peer code review in the development of research software, identify challenges and barriers associated with peer code review in research software, and present approaches to improve the peer code review in research software. Method: We conducted interviews and a community survey of research software developers to collect information about their current peer code review practices, difficulties they face, and how they address those difficulties. Results: We received 84 unique responses from the interviews and surveys. The results show that while research software teams review a large amount of their code, they lack formal process, proper organization, and adequate people to perform the reviews. Conclusions: Use of peer code review is promising for improving the quality of research software and thereby improving the trustworthiness of the underlying research results. In addition, by using peer code review, research software developers produce more readable and understandable code, which will be easier to maintain.


page 1

page 2

page 3

page 4


A Survey of Software Code Review Practices in Brazil

Context: Software code review aims to early find code anomalies and to p...

Testing Research Software: A Survey

Background: Research software plays an important role in solving real-li...

Network Science, Homophily and Who Reviews Who in the Linux Kernel?

In this research, we investigate peer review in the development of Linux...

The effects of change-decomposition on code review - A Controlled Experiment

Background: Code review is a cognitively demanding and time-consuming pr...

Probabilistic genotyping code review and testing

We discuss a range of miscodes found in probabilistic genotyping (PG) so...

Using a Balanced Scorecard to Identify Opportunities to Improve Code Review Effectiveness: An Industrial Experience Report

Peer code review is a widely adopted software engineering practice to en...

Understanding Peer Review of Software Engineering Papers

Peer review is a key activity intended to preserve the quality and integ...

Please sign up or login with your details

Forgot password? Click here to reset