Abstract
Background: Software is at the core of most scientific discoveries today, and the reliability of research results increasingly depends on the quality of the software that underpins them. However, research software is often developed under constraints that prioritize scientific progress over engineering rigor, leaving little to no incentive for maintenance, documentation, or quality assurance.
Objective: This study examines whether embedding an existing research software into a software testing course can contribute to improving the quality of the research software and identifies the associated challenges.
Method: In an in vivo experiment, we embedded a large-scale network simulation into a university course on software testing at Blekinge Institute of Technology, Sweden, as a group project and observed the effects on the research software.
Results: We found that the research software benefited from the embedding through substantially improved documentation and fewer hardware and software dependencies. However, the embedding required significant additional effort from us, and although the student teams produced thoughtful and well-designed test suites, none of their code contributions could be merged into the research software due to uncertainties around intellectual property.
Conclusion: We strongly believe that embedding research software engineering activities into teaching can enhance the quality of research software while providing students with exposure to research. However, the uncertainty about the intellectual property of students’ code contributions substantially limits its potential.
