Research software

Research software is defined as software that is developed and used for the purpose of collecting, analyzing, processing or visualizing research data. This ranges from established software with many users to just a few lines of code for personal use. It does not matter whether the software was developed by an individual researcher or by a team. However, individual solutions are not generally stored in the long-term, despite the fact that they are required in order to reproduce research results reliably.
#Sustainability of Research Software
Collectively, measures that aim to enable software to function in the future are described as ensuring research software sustainability. This leads to reliable research, improves retrievability, and increases and the usability of research data. This can be very complex. In addition to the research software itself, the necessary hardware and software (such as the OS), requirements must be documented in sufficient detail.

In order to ensure reproducibility, the exact version of the software used to produce the results must be known. While data tends to be static in nature, the software used during a project is usually developed further. For this reason, it is sensible to use software repositories and version control tools for self-developed software. Repositories also allow you to save the whole history, and sometimes enable specific versions to be referenced via persistent identifiers.

Compared to publishing research findings or research data, publishing self-developed software has another advantage: if it is published in (open access) software repositories, other people can not only use the software but also help to develop it. Users can offer authors their changes or modifications for integration into the software through pull requests or by transferring patches.

Depending on the stage of the research process, one or another software can be utilized.
  • Data Planning: To plan the activities surrounding research data management, the following software can be used: RDMO, DMPonline or DMPTool
  • Searching and Finding Data Sources: Such tools usually refer to search engines, databases, and repositories. Some examples can be found on StudOn.
  • Collecting and Representing Data: Depending on the type of data, the collection method and the desired representation form, various software can be applied.
  • Data Management and Version Control: Once the data is available as file, version control systems such as Git can be used. Such version control systems enable to collaborate on projects in a team, keeping in record all the versions generated.
  • Data Processing and Analyzing: The chosen software depends on the type of data, the applied method and research question. In this stage, self-developed software are frequently used, but so are powerful commercial tools, for example, MAXQDA for qualitative data analysis or SPSS for statistical analysis
  • Presentation and Publication: Since scientific information is mostly published in text form, various word-processors such as Microsoft Word can be used. For web-publication, the use of content management systems such as WordPress is widespread. Desktop publishing and layout software are suitable to design and layout publications.

The one-size-fits-all software solution most likely does not exist. Mostly, you need a (self-developed) combination of different programs, libraries, algorithms, models, and data formats. Depending on the research project, certain software may be more or less suitable.
The choice in favour of one or another software can be made according to the following criteria.

Should you have any questions or need further information regarding research software and research data, please contact the following institutions and initiatives:
Friedrich-Alexander University Erlangen-Nürnberg (FAU)


Addition information