Getting it Right: System Testing of Scientific Software

Series: HPC Best Practices Webinars

Testing software to ensure its correctness is a challenging yet critical task that can consume more than 50% of the software lifecycle. Over the past decade, we have built software testing practices into our development frameworks and are embracing the use of unit tests and continuous integration–testing as we code. However, these types of tests focus heavily on covering individual code elements and may miss important system-level requirements. In scientific software, we often model complex behaviors, and our applications are heavily data-driven and configurable. In addition, we have added machine learning components into this mix. Together, this situation can leave our systems vulnerable to subtle, incorrect behaviors, which can impact our scientific results. In this talk, I will discuss system testing for scientific software, present some challenges, such as configurability, and present some techniques we can use to help improve the testing process.


Presenter Bio

Myra Cohen is a professor of computer science at Iowa State University, where she holds the Lahn and Oahn Chair in software engineering. She is also a 2023 Better Scientific Software Fellow. Her research expertise is in systems software testing, with an emphasis on systems that are highly configurable (or customizable). She also has a strong interest in synergies between synthetic and systems biology and software engineering, which have many parallels and can benefit from similar testing approaches; she uses many bio-inspired algorithms in her research. She is an IEEE Senior Member and an ACM Distinguished Scientist.