Skip all navigation and jump to content Jump to site navigation Jump to section navigation.
NASA Logo - Goddard Space Flight Center + Visit NASA.gov
Software Integration and Visualization Office banner
ABOUT US OUR WEB SITES RESOURCES

  +Home

 

About Us
MISSION
ORGANIZATION
PERSONNEL

+ Advanced Software Technology Group (ASTG)

+ Cubed-sphere fvcore

+ pFUnit

+ FFTT

+ GMI

+ Asynch I/O

+ Modeling Guru

+ GISS ModelE

+ Sourcemotel

+ Gigaparticle Trajectories

+ Adjoint GCM

+ Scientific Visualization Studio

+ Education & Public Outreach

Advanced Software Technology Group

pFUnit

The costs associated with development, maintenance, documentation, training, and verification of software systems represents a significant fraction of NASA's budget for scientific modeling. The direct and indirect value of techniques and tools for significantly reducing such costs and/or improving productivity of NASA software developers is therefore considerable. One approach that has gained widespread acceptance in the general (i.e., business and industry) software development community is that of test driven development (TDD), but this approach requires language-specific tools known as unit-testing frameworks to be reasonably effective. Adoption of these techniques in the scientific development community has been slowed in large part by the difficulty of implementing a flexible testing framework for Fortran due to its limited ability to support certain modes of abstraction.

pFUnit is a Fortran testing framework utility developed in 2005 by Tom Clune and Brice Womack (Northrup Grumman TASC) of SIVO's Advanced Software Technology Group (ASTG). pFUnit offers a convenient, lightweight mechanism for Fortran developers to create and run software tests that specify the desired behavior for a given piece of code. pFUnit is now available to the general public under a NASA Open Source Agreement.

In addition to the general capabilities offered by frameworks for other languages, pFUnit provides developers the means to express tests for parallel applications on state-of-the-art high-end computing platforms. This support of parallelism is critical for NASA's modeling community. Other features of relevance to the high-performance community include an extensive set of assertions for multi-dimensional floating-point data.

General benefits from using pFUnit include:
* Improvement in long-term productivity - reduced development and maintenance costs
* Confidence in the behavior of the code at all times
* Ability to rapidly detect and isolate defects as they are introduced
* Enhanced ability to accurately schedule delivery of new features
* Reduction in external documentation requirements and spin-up time for new developers, because tests provide useful examples of how interfaces are meant to be used
* Functional requirements of the system are captured by the unit tests
* Improved overall design as an indirect benefit to designing code that can be tested

pFUnit is relatively portable and currently supported for the following environments:
Platform Fortran Vendor
SGI Altix Intel
HP SC45 HP/Compaq
Apple OS X IBM xlf
Apple OS X g95
Applo OS X NAG

+ Open Source Release

 

 

USA.gov logo + Privacy Policy and Important Notices NASA Curator: Lara Clemence
NASA Official: Michael Seablom
Last Updated: 06/07/2007