Scientific and engineering programming has been around since the beginning of computing, often being the driving force for new system development and innovation. At the same time a continual focus on new modeling capabilities, and some apparent cultural issues, find software processes for many computational science and engineering (CSE) software projects lacking. Certainly there are notable exceptions, but our experience has been that CSE software projects, although committed to writing high-quality software, have few if any formal software processes and tools in place, and are often unaware of formal software quality assurance (SQA) concepts. Presently, increasing complexity of applications and a broad push to certify computations are dictating a higher standard for CSE software quality; it is no longer sufficient to claim to write high quality software. However, traditional software development models can be impractical for CSE projects to implement. Despite this, CSE software te...
Michael A. Heroux, James M. Willenbring, Michael N