Development of community-based approaches for ensuring and improving the quality of scientific software and code
Research software and code are digital objects that are becoming increasingly important for the EOSC ecosystem and beyond. The overall objective of this topic is to improve the quality of software and code, as well as the quality of other digital objects based on code such as workflows, computational models, etc. Software sustainability is being mainstreamed across Europe and quality software is key for improving the reproducibility of research and can also represent a first-class research output on par with publications and datasets. Preservation and sustainability of software are vital areas of development in the EOSC ecosystem and best practices from various communities need to be aligned to maximise software reuse.
Proposals should therefore cover the following activities:
- Foster alignment of existing initiatives by promoting coherence and developing community guidelines.
- Promote the use of already existing common technical specifications, standards or infrastructure, endorsed by the various scientific communities.
- Define software delivering and packing best practices towards software reusability, including deployment descriptions, packaging methodologies, integration on problem solving collaborative environments such as notebooks.
- Ensure integration of infrastructure, tools and services not just for software but also for computational models, workflows and anything that is code-based. This should include a Continuous Integration & Continuous Deployment (CI/CD) setup for codes and live testing on relevant data.
- The systems and services developed within the scope of the topic should be flexible and scalable in their deployment by making use of cloud technologies, such as containers, to allow an easy integration with the future EOSC Core infrastructure.
- Define a baseline of Source Code quality based on coding principles and coding best practices, including API and documentation. Provide tools for the automatic testing of conformance.
- Develop minimum quality certification frameworks through automated checks, pipelines and digital badges. Provide indication of code maturity within the software life cycle.
- Allow for the integration of automatic testing for security vulnerability and license infringements.
- Ensure optimal and sustainable software archival practices and mainstream software citation and correct attribution for inclusion in novel research assessment frameworks.
- Incentivise open, community-driven and sustainable software development, involving labs as well as individuals (long-tail of science). Establish software green houses which nurture and support new codes and integrate with software quality tools.
- Develop FAIR metrics frameworks for digital objects such as software, code, computational models, workflows, etc.
- Develop or align pre-existing training materials for software development skills, digital badges, etc.
To ensure complementarity of outcomes, proposals are expected to cooperate and align with activities of the EOSC Partnership and to coordinate with relevant initiatives and projects contributing to the development of EOSC. Proposals should also take into account the work of the EOSC Synergy project with its Software Quality as a Service approach.
In addition, proposals should take into account and collaborate with the resulting projects from the topics HORIZON-INFRA-2023-EOSC-01-03 and HORIZON-INFRA-2024-EOSC-01-04, aligning common elements of quality between data and software, as well as adopting novel metrics for assessing research impact. Synergies should also be developed with the resulting project from the topic HORIZON-INFRA-2021-EOSC-01-05, especially with potential metrics and indicators to assess the FAIRness of digital objects.
In this topic the integration of the gender dimension (sex and gender analysis) in research and innovation content is not a mandatory requirement.