NASA Logo

NTRS

NTRS - NASA Technical Reports Server

Back to Results
Towards Test Driven Development for Computational Science with pFUnitDevelopers working in Computational Science & Engineering (CSE)/High Performance Computing (HPC) must contend with constant change due to advances in computing technology and science. Test Driven Development (TDD) is a methodology that mitigates software development risks due to change at the cost of adding comprehensive and continuous testing to the development process. Testing frameworks tailored for CSE/HPC, like pFUnit, can lower the barriers to such testing, yet CSE software faces unique constraints foreign to the broader software engineering community. Effective testing of numerical software requires a comprehensive suite of oracles, i.e., use cases with known answers, as well as robust estimates for the unavoidable numerical errors associated with implementation with finite-precision arithmetic. At first glance these concerns often seem exceedingly challenging or even insurmountable for real-world scientific applications. However, we argue that this common perception is incorrect and driven by (1) a conflation between model validation and software verification and (2) the general tendency in the scientific community to develop relatively coarse-grained, large procedures that compound numerous algorithmic steps.We believe TDD can be applied routinely to numerical software if developers pursue fine-grained implementations that permit testing, neatly side-stepping concerns about needing nontrivial oracles as well as the accumulation of errors. We present an example of a successful, complex legacy CSE/HPC code whose development process shares some aspects with TDD, which we contrast with current and potential capabilities. A mix of our proposed methodology and framework support should enable everyday use of TDD by CSE-expert developers.
Document ID
20150001291
Acquisition Source
Goddard Space Flight Center
Document Type
Conference Paper
Authors
Rilee, Michael L.
(Science Systems and Applications, Inc. Greenbelt, MD, United States)
Clune, Thomas L.
(NASA Goddard Space Flight Center Greenbelt, MD United States)
Date Acquired
February 3, 2015
Publication Date
November 24, 2014
Subject Category
Computer Programming And Software
Report/Patent Number
GSFC-E-DAA-TN17909
Meeting Information
Meeting: International Workshop on Software Engineering for High Performance Computing in Computational Science & Engineering
Location: New Orleans, LA
Country: United States
Start Date: November 21, 2014
Sponsors: Institute of Electrical and Electronics Engineers, Alabama Univ.
Funding Number(s)
CONTRACT_GRANT: NNG12HP08C
Distribution Limits
Public
Copyright
Public Use Permitted.
Keywords
pFUnit
Unit Testing
Test Driven Development
No Preview Available