Research

Idiomatic Correctness-Checking via Julienne in Fortran 2023

DOE

Source: doe_osti

Questions this answers

Sources

Source record

The underlying research record — supporting evidence for the object above.

Key Details

Posted Date
Source
doe_osti

Description

This paper presents a unified approach to unit testing and runtime assertion checking using Fortran 2023. The paper describes the support for our approach in the Julienne framework. Julienne leverages recent Fortran standards to implement object-oriented design patterns, support testing parallel programs, and implement functional programming patterns in order to craft idioms inspired by natural-language expressions. The presented idioms employ novel operators to write expressions that evaluate to a test-diagnosis object encapsulating two components: (1) the test outcome or assertion outcome and (2) an automatically generated diagnostic string. Two other novel aspects of the approach include (1) the ability to enforce assertions inside pure procedures and (2) the ability to output rich diagnostic information inside pure procedures during error termination when assertions fail. The latter capability mitigates against a reason that Fortran programmers commonly cite for not writing pure procedures: difficulty obtaining useful program output inside pure procedures when debugging code. This paper demonstrates how the adoption of the proposed idioms leads naturally to a unifying theme across two otherwise disparate technologies: unit testing and runtime assertion checking. Finally, this paper describes the usage of the Julienne testing framework for writing unit tests and assertions in the Matcha high-performance computing application and the Fiats deep learning library.. Authors: Rouson, Damian; Bonachea, Dan; Rasmussen, Katherine. DOE Contract: AC02-05CH11231

Frequently Asked Questions

What is this record?+
It is a publication associated with DOE — published findings, a technical standard, or a notice. It reports results or specifications. There is nothing here to apply for.

Where this record sits

What else do you want to know?

100M+ government records — search across all categories