University research groups in Computational Science and Engineering (CSE) generally lack dedicated funding and personnel for Research Software Engineering (RSE), which, combined with the pressure to maximize the number of scientific publications, shifts the focus away from sustainable research software development and reproducible results. The neglect of RSE in CSE at University research groups negatively impacts the scientific output: research data - including research software - related to a CSE publication cannot be found, reproduced, or re-used, different ideas are not combined easily into new ideas, and published methods must very often be re-implemented to be investigated further. This slows down CSE research significantly, resulting in considerable losses in time and, consequentially, public funding. We propose a RSE workflow for Computational Science and Engineering (CSE) that addresses these challenges, that improves the quality of research output in CSE. Our workflow applies established software engineering practices adapted for CSE: software testing, result visualization, and periodical cross-linking of software with reports/publications and data, timed by milestones in the scientific publication process. The workflow introduces minimal work overhead, crucial for university research groups, and delivers modular and tested software linked to publications whose results can easily be reproduced. We define research software quality from a perspective of a pragmatic researcher: the ability to quickly find the publication, data, and software related to a published research idea, quickly reproduce results, understand or re-use a CSE method, and finally extend the method with new research ideas.
翻译:大学计算科学与工程(CSE)课题组通常缺乏专门的研究软件工程(RSE)资金和人员,加之需要最大化发表科学论文数的压力,导致研究重点偏离可持续研究软件开发与可重复性结果。大学CSE课题组对RSE的忽视对科学产出产生了负面影响:与CSE论文相关的研究数据(包括研究软件)无法被查找、复现或重用,不同思想难以有效融合为新创见,已发表方法往往需要重新实现才能进行深入探究。这严重拖慢了CSE研究进度,造成大量时间损失,进而浪费公共科研经费。我们提出一种针对计算科学与工程(CSE)的RSE工作流,旨在应对上述挑战,提升CSE研究成果质量。该工作流将经过改编的软件开发成熟实践应用于CSE领域:软件测试、结果可视化、定期将软件与报告/论文及数据进行交叉关联,并依据科学发表流程中的关键节点设定时间进度。工作流引入的工作量极低——这对大学课题组至关重要,并能产出模块化且经过测试的软件,其关联论文中的结果易于复现。我们从实用研究者的视角定义研究软件质量:能够快速定位与已发表研究构想相关的论文、数据和软件,快速复现结果,理解或重用CSE方法,并最终基于新研究构想扩展该方法。