Skip to main content
QUICK REVIEW

[论文解读] A Research Software Engineering Workflow for Computational Science and Engineering

Tomislav Marić, Dennis Gläser|arXiv (Cornell University)|Aug 15, 2022
Scientific Computing and Data Management被引用 22
一句话总结

该论文提出一个轻量级的 RSE 工作流程,用于基于大学的 CSE 项目,整合版本控制、构建系统、代码、数据与出版物的交叉链接、问题跟踪、CI、容器化、TDD,以及基于 HPC 的评估,以提高研究软件的可重复性和可持续性。

ABSTRACT

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 团队中阐明可持续研究软件的需求并将其与可重复的结果与出版物联系起来。
  • 以最小开销将成熟的软件工程实践适配到 CSE,适用于小型团队。
  • 定义以可发现性、可重复性和可重用性为核心的务实研究软件质量概念。
  • 提出一个可扩展并可与出版里程碑集成的轻量级工作流程大纲。

提出的方法

  • 将软件工程实践(测试、可视化、交叉链接)适配到 CSE,并将它们与科学出版过程中的里程碑绑定。
  • 提出基于现有开源工具(版本控制系统、构建系统、基于 PID 的交叉链接、持续集成、容器化)的最小到完整工作流程。
  • 定义一个分支模型,使研究想法与出版里程碑保持一致,并使用 Git 和标签来捕捉可重复的状态。
  • 引入以持久标识符(PIDs)对出版物、软件和数据集进行交叉链接,以提升可发现性和可重复性。
  • 讨论如何通过基于 HPC 的自动量化与可视化在早期检测性能或数值质量下降。

实验结果

研究问题

  • RQ1如何为小型大学 CSE 团队设计一个最小、低开销的 RSE 工作流?
  • RQ2哪些工具与流程能够实现研究软件和结果的易发现性、可访问性、互操作性和可重复性?
  • RQ3如何将出版里程碑与软件开发和数据管理集成以支持可重复性?
  • RQ4跨链接(软件、数据、出版物)在学术界维持长期研究软件中的作用是什么?

主要发现

  • 使用 VCS、构建系统、交叉链接和基于 PID 的链接的最小工作流可以被小型大学团队采用,以提高可重复性。
  • 对出版物、软件和数据进行交叉链接并使用 PIDs 有助于确保研究产出物的可发现性、可访问性和可重复使用性。
  • 通过 CI 与测试(包括 HPC 测试运行)的自动化,有助于随着时间的推移检测性能或数值质量的退化。
  • 以出版为中心的里程碑模型为将测试与集成融入研究工作流提供了实际锚点。
  • 容器化和现成的计算环境有利于在不同 HPC 系统中实现可重复的实验。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。