Software quality analysis of scientific models
Mathematical models are at the heart of science and are widely used to understand water and land use challenges, but the software behind these models is rarely checked in a systematic way. The focus has traditionally been on whether the model produces reasonable results rather than on how easy the code is to understand, maintain or verify.
A model can appear to work well even when the code contains problems as it is known that software errors can cancel each other out. Numerical quirks can also produce outputs that look realistic by chance. As scientific models grow larger and ever complex, understanding the architecture of these software systems is key to improve the reliability and reproducibility of computational research.
As part of this work, DAWN has teamed up with software engineers to analyse the software quality of fourteen state-of-the-art global land use and hydrological models, which have been used in more than 3,000 publications over the last thirty years. We are now taking the next step by running questionnaires with model developers and maintainers. These surveys aim to better understand how land use and hydrological modellers perceive their code, what they see as its strengths as weaknesses and how software quality considerations fit into their modelling practice. These efforts ultimately aim at strengthening model-based science and better undestanding how scientific software is developed, maintained and trusted.

Example of a call graph of a model. Each node is a function and each directed edge is a function call. The color reflects the node's cyclomatic complexity value (the number of independent paths through a program's unit).

