Peer Code Review in Research Software Development: The Research Software Engineer Perspective
Md Ariful Islam Malik, Jeffrey C. Carver, Nasir U. Eisty
TL;DR
The paper investigates how Research Software Engineers (RSEs) perform peer code review and the resulting impacts on research software, building on a prior study of broader research software developers. Using a replicated survey design with added RSE-focused items, it finds that RSEs predominantly use pull requests with small reviewer teams, spend modest weekly time on reviews, and experience generally positive interactions with mentoring. The results show peer code review improves code quality, correctness, maintainability, and knowledge sharing, while identifying time pressure, cultural barriers, and small-team dynamics as key challenges. Practical implications stress formalizing review processes, enhancing tooling and automation, and cultivating a supportive review culture to realize sustained benefits in research software projects.
Abstract
Background: Research software is crucial for enabling research discoveries and supporting data analysis, simulation, and interpretation across domains. However, evolving requirements, complex inputs, and legacy dependencies hinder the software quality and maintainability. While peer code review can improve software quality, its adoption by research software engineers (RSEs) remains unexplored. Aims: This study explores RSE perspectives on peer code review, focusing on their practices, challenges, and potential improvements. Building on prior work, it aims to uncover how RSEs insights differ from those of other research software developers and identify factors that can enhance code review adoption in this domain. Method: We surveyed RSEs to gather insights into their perspectives on peer code review. The survey design aligned with previous research to enable comparative analysis while including additional questions tailored to RSEs. Results: We received 61 valid responses from the survey. The findings align with prior research while uncovering unique insights about the challenges and practices of RSEs compared to broader developer groups. Conclusions: Peer code review is vital in improving research software's quality, maintainability, and reliability. Despite the unique challenges RSEs face, addressing these through structured processes, improved tools, and targeted training can enhance peer review adoption and effectiveness in research software development.
