Definitions & examples of RS
Definitions of RS
Research Software includes source code files, algorithms, scripts, computational workflows and executables that were created during the research process or for a research purpose. -- Gruenpeter et al. 2021
Research software can be a research output in itself, or it can be developed to support research activities throughout the research lifecycle, from data collection and analysis to visualization and dissemination. It can be used to analyze data, simulate systems, visualize results, and more.
The scope of research software is broad and can include scripts, libraries, (simple or complex) applications, and APIs. Research software can be developed by researchers, software engineers, or a combination of both.
To learn more about the definition of research software, see
- Defining Research Software: a controversial discussion (2021) by Morane et al.
- The Research Software Encyclopedia: A Community Framework to Define Research Software (2022) by Sochat et al.
Roles & examples of RS
Here we provide examples of RS, with categories based on the role of the software in the research process (inspired by Defining the roles of research software (2023) by Nieuwpoort and Katz).
Data collection & instrumentation:
- Collecting patient-reported symptoms
- Integrating data from wearable health devices
- Web scraper for extracting data
- Interfacing with laboratory instruments
- Custom APIs for integrating data
- Software for controlling hardware
- Software for monitoring and logging
Data analysis:
- Script for statistical analysis
- Analyzing imaging data
- Custom machine learning models
- Pipeline for processing and analyzing data
- Implementing novel algorithms or methods
Simulation:
- Modeling processes
- Virtual simulation of procedures
- Computational models
Visualization & dissemination:
- Plotting scripts
- Rendering images
- 3D visualizations
- AR/VR visualizations
- Generating reports from analysis results
- Creating interactive applications or dashboards
Reuse:
- Libraries or packages for specific tasks
- Pipelines
- Custom APIs
- Pretrained machine learning models
Integration:
- APIs for integrating data
- Libraries for interfacing with specific tools
- Workflow management systems
- Data storage and retrieval systems
Place in Research Data Lifecycle
RS is used at various stages of the research data lifecycle (RDL). For each stage, we provide the aforementioned roles of the software that can be used.
| RDL stage | RS roles in the stage |
|---|---|
| Collecting data | Data collection & instrumentation |
| Processing & analyzing data | Data analysis, Simulation |
| Presenting data | Visualization & dissemination |
| Reusing data | Reuse, Integration |