Effective Research Software Verification

Mr David Benn1

1CSIRO, Adelaide, Australia


Research Software Engineers (RSEs) often work alone or in small teams, potentially on multiple concurrent projects and may be time poor. Both verification (building it correctly) and validation (building the right thing) are important. Limiting the focus to verification, what methods make sense for the varieties of application types in a research context? Concerns peculiar to research software and scientific computing in particular such as numerical tolerance, reproducibility, and the determination of parallelised and serial code equivalence are also important considerations.

Verification resources for programming languages including C++, Python and R are being collected. A repository for case studies and patterns derived from experience is being created for development activities such as porting and parallelising in conjunction with methods such as reference testing, TDD, and property-based testing. The emphasis here is on answering the question: what approaches are most effective for a given research software application type? A one day Python testing workshop was developed and delivered for the CSIRO Ag & Food data school and subsequently a software carpentry style Python testing episode with an emphasis upon test driven development.

All software requires verification and validation. Determining the appropriate approach to verification is crucial to the fitness, reliability and ongoing maintenance of research software. Organising a set of resources, training materials, and shared experience can only be of benefit to a community of software development practitioners and their beneficiaries.


David is a member of CSIRO IM&T’s Scientific Computing Research Software Engineering team, working with scientists to enhance and accelerate research through software development and high performance computing.

He is interested in the intersection of Science and software development, the publication of research data and software, approaches to verification, reproducibility, and programming paradigms.

In his spare time, David is an amateur astronomer with an interest in variable star observing.


AeRO is the industry association focused on eResearch in Australasia. We play a critical coordination role for our members, who are actively transforming research via Information Technology. Organisations join AeRO to advance their own capabilities and services, to collaborate and to network with peers. AeRO believes researchers and the sector significantly benefit from greater communication, coordination and sharing among the increasingly different and evolving service providers.

Conference Managers

Please contact the team at Conference Design with any questions regarding the conference.
© 2019 Conference Design Pty Ltd