The software development process of FLASH, a multiphysics simulation code
2013
The FLASH code has evolved into a modular and extensible scientific simulation software system over the decade of its existence. During this time it has been cumulatively used by over a thousand researchers in several scientific communities (i.e. astrophysics, cosmology, high-energy density physics, turbulence, fluid-structure interactions) to obtain results for research. The code started its life as an amalgamation of two already existing software packages and sections of other codes developed independently by various participating members of the team for other purposes. In the evolution process it has undergone four major revisions, three of which involved a significant architectural advancement. A corresponding evolution of the software process and policies for maintenance occurred simultaneously. The code is currently in its 4.x release with a substantial user community. Recently there has been an upsurge in the contributions by external users; some provide significant new capability. This paper outlines the software development and evolution processes that have contributed to the success of the FLASH code.
Keywords:
- Personal software process
- Software peer review
- KPI-driven code analysis
- Simulation
- Social software engineering
- Systems engineering
- Software construction
- Package development process
- Backporting
- Distributed computing
- Software sizing
- Computer science
- Software framework
- Software engineering
- Software development
- Software evolution
- Software maintenance
- Programming language
- Correction
- Source
- Cite
- Save
- Machine Reading By IdeaReader
21
References
12
Citations
NaN
KQI