14–18 Oct 2024
Galzignano Resort Terme & Golf
UTC timezone

Developing an INAF infrastructure for Software Quality Assurance

16 Oct 2024, 12:20
20m
Sala Giganti (Galzignano Resort Terme & Golf)

Sala Giganti

Galzignano Resort Terme & Golf

Control Software Session 7

Speaker

Andrea Balestra (Istituto Nazionale di Astrofisica (INAF))

Description

Software Quality Assurance (SQA) is an increasingly important part of modern software development for astronomy. For space projects ESA enforces through ECSS standards strict SQA procedures for the software operating on their space missions, and in the last few years also ground based projects have been pressed to provide higher quality software for their instruments, since stakeholders, like ESO, are more and more aware of the hidden costs linked to software issues, both in terms of money and of loss of observation time Those hidden costs dramatically increase with the size and the operating cost of the telescopes..
It is important that SQA is part of the software life cycle since the early stages, because an early installment of quality management is easier and more productive, while at the same time verification can be performed timely avoiding major or blocking issues, like e.g. heavy rewriting of code.

The SQA management plan, that set the road to achieve that goal, is a deliverable requested in the early stages of most (e.g. ESA, ESO) astronomical project and, being based essentially on a set of standards, it can be formalized, leveraging on the commonalities among INAF projects, to deal with a generalized set of requirements, in a framework where the best practices, tools and procedures are not only outlined but actually implemented. This framework would be suitable to be adapted, through ad hoc tailoring to actual requirements, whenever a new INAF project is starting.

Based on a long experience in different projects (EUCLID/NISP, MORFEO, CUBES, MAVIS, ANDES), we aim to set up an INAF common framework to carry out SQA activities for INAF projects. The framework is virtualized, i.e. a set of virtual machines, which are a natural tool to allow the investigation of different strategies, easily duplicable and adaptable to different projects. We aim to take advantage of CI/CD techniques to build a versatile SQA automated pipeline that implements the project-specific requirements for quality in a continuous manner, strictly following the natural development of the software and avoiding delays in the product improvement. Several tools are implemented to carry out the required SQA checks both commercial (Polyspace, Understand…) and open source (e.g. cppcheck, prospector…). Style Guides for programming languages 9C/C++, Python) are provided and set of rules based on consolidated standards (e.g. MISRA, HIS) are provided.

Primary author

Andrea Balestra (Istituto Nazionale di Astrofisica (INAF))

Co-authors

Elia Costa (Istituto Nazionale di Astrofisica (INAF)) Rosanna Sordo (Istituto Nazionale di Astrofisica (INAF))

Presentation materials