Peer Code Review in Research Software Development: The Research Software Engineer Perspective
By: Md Ariful Islam Malik, Jeffrey C. Carver, Nasir U. Eisty
Potential Business Impact:
Makes research computer programs better and easier to fix.
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.
Similar Papers
Ten Simple Rules for Catalyzing Collaborations and Building Bridges between Research Software Engineers and Software Engineering Researchers
Software Engineering
Helps scientists and coders work better together.
The Factors of Code Reviewing Process to Ensure Software Quality
Software Engineering
Makes computer programs work better and have fewer mistakes.
ACM SIGSOFT SEN Empirical Software Engineering: Introducing Our New Regular Column
Software Engineering
Improves how scientists study computer programs.