Discovering Existing Research Software
Betty’s (Re)Search Engine is a service designed to simplify the discovery of existing research software. The tool aids researchers in finding solutions relevant to their specific needs, in order to reduce redundancy in software development efforts. Recent improvements include further filtering options, and the engine now also allows exporting query results into the Open Research Knowledge Graph. See our tutorial video (Youtube) for more information on how to use it!
Teaching Sustainable Software Development
When suitable research software does not exist and researchers rely on their own implementations, it is important that they have the skills to produce reliable software that can be reused by their peers. To support this, we have developed teaching material around sustainable research software development that is geared towards experts in fields other than software engineering. Recently, we have enriched the material with a student project that can be carried out when using it in a semester course.
Standardized Results and Testing
Testing lies at the core of sustainable software development. An efficient way of ensuring that research software is able to reproduce earlier results is regression-testing. Our tool FieldCompare enables researchers to set up regression tests efficiently, even in complex scenarios such as numerical simulations. It supports a variety of standard file formats out-of-the-box, and in order to facilitate compliance with those formats, we have recently released the GridFormat library which enables researchers to write simulation results into various standard grid file formats without having to worry about their exact specifications. This compatibility ensures seamless integration with FieldCompare, fostering a cohesive workflow. Both tools have been published in the Journal of Open Source Software this year: here & here.
Transparency through Software Artifacts
Acknowledging the importance of transparency in research, we have investigated different approaches to yielding software artifacts (and related results) which ensure that researchers can communicate how they were produced, while providing the means to reproduce them. On one hand, we have analyzed a variety of workflow tools regarding their suitability of yielding reproducible research workflows, and on the other hand, we have discussed different approaches of how to use existing technologies to make research software more sustainable.
In essence, our work in research software development strives to empower researchers with the tools and knowledge needed for sustainable, efficient, and collaborative research software development practices.
Dennis Gläser (ORCID)