Loading...
Please wait, while we are loading the content...
Similar Documents
Towards test driven development for computational science with pfunit
| Content Provider | NASA Technical Reports Server (NTRS) |
|---|---|
| Author | Rilee, Michael L. Clune, Thomas L. |
| Copyright Year | 2014 |
| Description | Developers 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. |
| File Size | 74454 |
| Page Count | 8 |
| File Format | |
| Alternate Webpage(s) | http://archive.org/details/NASA_NTRS_Archive_20150001291 |
| Archival Resource Key | ark:/13960/t1mh2mk90 |
| Language | English |
| Publisher Date | 2014-11-24 |
| Access Restriction | Open |
| Subject Keyword | Pfunit Unit Testing Test Driven Development Computer Programming Performance Tests Grid Refinement Mathematics Analog Computers Architecture Computers Software Development Tools Program Verification Computers Fortran Errors Algorithms Precision Mathematical Models Applications Programs Computers Coarseness Software Engineering Ntrs Nasa Technical Reports ServerĀ (ntrs) Nasa Technical Reports Server Aerodynamics Aircraft Aerospace Engineering Aerospace Aeronautic Space Science |
| Content Type | Text |
| Resource Type | Article |