Title
The dividends of investing in computational software design: A case study
Abstract
AbstractA significant fraction of computational software for scientific research grows through accretion. In a common scenario, a small group develops a code for a specific purpose. Others find the software useful, so they add to it for their own use. The software grows to the point where its management becomes intractable and scientific results obtained from it become unreliable. This is in stark contrast with a small number of scientific codes that have undergone a design process, be it due to an upfront investment, or when haphazardly grown codes have reset and started again. At a minimum, these codes reduce the time to obtain research results for the communities they serve because individual researchers do not have to develop their own codes. They provide further benefits; the results they produce are more reproducible due to greater scrutiny, leading to better science. One of the more overlooked benefits, which is perhaps of greater significance, is that a well-designed code can expand to serve communities beyond the ones it was designed for. Thus, research communities with similar computational requirements can symbiotically improve computation-based research for each other. In this article, we present a case study of FLASH, a code that was designed and developed for simulating thermonuclear runaways such as novae and type Ia supernovae in astrophysics. Designed to be modular and extensible, users from several diverse research areas have added capabilities to it and adapted it for their own communities. Examples include cosmology, high-energy density physics, core-collapse supernovae, star formation, fluid–structure interactions, and chemical combustion. We give a summary of design features that facilitated the expansion and quantify the effort needed to expand into some of the above-mentioned fields. We also quantify the impact on different communities by mining the database of publications using FLASH, collected by its developers.
Year
DOI
Venue
2019
10.1177/1094342017747692
Periodicals
Keywords
Field
DocType
Computational software, scientific application, FLASH, software design, community code
Software design,Dividend,Software engineering,Computer science,Theoretical computer science,Software,Code (cryptography),Scientific method
Journal
Volume
Issue
ISSN
33
2
1094-3420
Citations 
PageRank 
References 
1
0.36
10
Authors
4
Name
Order
Citations
PageRank
Anshu Dubey121.40
Anshu Dubey221.40
petros tzeferacos3394.74
donald q lamb4363.81