Software Sustainability
a track presented at
Argonne Training Program on Extreme-Scale Computing
on 3:00 pm - 6:30 pm CDT Wednesday 5 August 2026
Presenter: David E. Bernholdt (Oak Ridge National Laboratory)
This page provides detailed information specific to the tutorial event above. Expect updates to this page up to, and perhaps shortly after, the date of the tutorial. Pages for other tutorial events can be accessed from the main page of this site.
Quick Links
On this Page
- Description
- Agenda
- Presentation Slides
- How to Participate
- Stay in Touch
- Resources from Presentations
- Requested Citation
- Acknowledgements
Description
The BSSw tutorial focuses on issues of developer productivity, software sustainability, and reproducibility in scientific research software, particularly targeting high-performance computers.
Agenda
| Time (CDT) | Title | Presenter |
|---|---|---|
| 3:00 PM | Introduction | David E. Bernholdt (ORNL) |
| 3:05 PM | Motivation and Overview of Best Practices in HPC Software Development | David E. Bernholdt (ORNL) |
| 3:30 PM | Scientific Software Design | David E. Bernholdt (ORNL) |
| 4:00 PM | Break | |
| 4:30 PM | Software Testing and Verification | David E. Bernholdt (ORNL) |
| 5:00 PM | Refactoring Scientific Software | David E. Bernholdt (ORNL) |
| 5:30 PM | Improving Reproducibility Through Better Software Practices | David E. Bernholdt (ORNL) |
| 6:00 PM | AI for Software Development and Maintenance | David E. Bernholdt (ORNL) |
| 6:30 PM | Adjourn |
Presentation Slides
The slides will be published at https://doi.org/10.6084/m9.figshare.33139910.
Note that the DOI will become active once the presentations are published.
How to Participate
-
We want to interact with you! We find these tutorials most interesting and informative (for everyone) if you ask questions and share experiences! We learn too!
-
Please raise your hand at any time to ask a question
Stay in Touch
-
After the tutorial please feel free to email questions or feedback to the BSSw tutorial team at bssw-tutorial@lists.mcs.anl.gov.
-
To find out about future events organized by the IDEAS Productivity Project, you can subscribe to our mailing list (usually ~2 messages/month).
-
For monthly updates on the Better Scientific Software site, subscribe to our monthly digest.
Resources from Presentations
Links from the tutorial presentations are listed here for convenience
- Module 1: Introduction
- Module 2: Motivation and Overview of Best Practices in HPC Software Development
- COVID-19 epidemiology saga
- https://doi.org/10.25561/77482
- https://www.nicholaslewis.org/imperial-college-uk-covid-19-numbers-dont-seem-to-add-up/
- https://www.nature.com/articles/d41586-020-01003-6
- https://www.foxnews.com/world/imperial-college-britain-coronavirus-lockdown-buggy-mess-unreliable
- https://www.telegraph.co.uk/technology/2020/05/16/coding-led-lockdown-totally-unreliable-buggy-mess-say-experts/
- https://github.com/mrc-ide/covid-sim/
- https://philbull.wordpress.com/2020/05/10/why-you-can-ignore-reviews-of-scientific-code-by-commercial-software-developers/amp/
- http://doi.org/10.5281/zenodo.3865491
- Best Practices for Scientific Computing
- Good Enough Practices in Scientific Computing
- OpenSSF Best Practices Badge Program
- Good Practices for High-Quality Scientific Computing
- Rate Your Project Assesment Tool
- Progress Tracking Card (PTC) Examples
- Productivity and Sustainability Improvement Planning
- Better Scientific Software (BSSw)
- COVID-19 epidemiology saga
- Module 3: Scientific Software Design
- https://enterprisersproject.com/article/2020/6/technical-debt-explained-plain-english
- Code generation example
- https://github.com/Flash-X/Flash-X/blob/ylee/try_pushTile_spark/source/physics/Hydro/HydroMain/Spark/Hydro_interface.ini
- This link will work only if you have access to the Flash-X code repository. Please email flash-x@lists.cels.anl.gov with your github username to get access
- References
- Dubey Anshu, “Insights from the software design of a multiphysics multicomponent scientific code” Computing in Science & Engineering, 2021. DOI:10.1109/MCSE.2021.3069343
- Dubey, Anshu, et al. “Flash-X: A multiphysics simulation software instrument.” SoftwareX 19 (2022): 101168. DOI:10.1016/j.softx.2022.101168
- Rudi, Johann, et al. “CG-Kit: Code Generation Toolkit for Performant and Maintainable Variants of Source Code Applied to Flash-X Hydrodynamics Simulations.” arXiv preprint arXiv:2401.03378 (2024).
- O’Neal, Jared, et al. “Domain-specific runtime to orchestrate computation on heterogeneous platforms.” European Conference on Parallel Processing. Cham: Springer International Publishing, 2021. DOI:10.1007/978-3-031-06156-1_13
- Dubey, Anshu, et al. “A tool and a methodology to use macros for abstracting variations in code for different computational demands.” Future Generation Computer Systems (2023). DOI:10.1016/j.future.2023.07.014
- Module 4: Software Testing and Verification
- Module 5: Refactoring Scientific Software
- No links
- Module 6: Improving Reproducibility Through Better Software Practices
- Toward a Compatible Reproducibility Taxonomy for Computational and Computing Sciences
- Reproducibility and Replicability in Science
- Many Psychology Findings Not As Strong As Claimed
- The War Over Supercooled Water
- Researchers find bug in Python Script may have affected hundreds of studies
- National Science Foundation Data Management Plan Requirements
- Introducing the FAIR Principles for research software
- FAIR Principles for Data
- ACM Reproducible Computational Results
- ACM Artifact Review and Badging
- http://fursin.net/reproducibility.html
- National Information Standards Organization (NISO) on Reproducibility and Badging
- HPC and the Lab Manager
- Writing the Laboratory Notebook
- DIKW pyramid
- Managing Software Provenance to Enhance Reproducibility in Computational Research
- Jobrunner
- Helpful Tools
- Floating Point Analysis Tools
- Code Ocean (Cloud platforms - publish and reproduce research code and data)
- DOIs and hosting of data, code, documents:
- Other Resources:
- The FAIR Guiding Principles for Scientific Data Management and Stewardship. Mark D. Wilkinson, et al. 2016
- FAIR4RS (previously linked to
www.rd-alliance.org/groups/fair-research-software-fair4rs-wg) - Editorial: ACM TOMS Replicated Computational Results Initiative. Michael A. Heroux. 2015
- Enhancing Reproducibility for Computational Methods
- Simple experiments in reproducibility and technical trust by Mike Heroux and students (work in progress)
- What every scientist should know about floating-point arithmetic. David Goldberg.
- Jupyter4Science: Better Practices for Using Jupyter Notebooks for Science by Nicole Brewer
- Module 7: AI for Software Development and Maintenance
- No links
Requested Citation
The requested citation the overall tutorial is:
David E. Bernholdt, Software Sustainability track, in Argonne Training Program on Extreme-Scale Computing, St. Charles, Illinois, 2026. DOI: 10.6084/m9.figshare.33139910.
Note that the DOI will become active once the presentations are published.
Individual modules may be cited as Speaker, Module Title, in Software Sustainability track…
Acknowledgements
This tutorial is produced by the Consortium for the Advancement of Scientific Software (CASS).
This work was supported by the U.S. Department of Energy, Office of Science, Office of Advanced Scientific Computing Research, Next-Generation Scientific Software Technologies (NGSST) program.
This work was supported by the U.S. Department of Energy Office of Science, Office of Advanced Scientific Computing Research (ASCR), and by the Exascale Computing Project (17-SC-20-SC), a collaborative effort of the U.S. Department of Energy Office of Science and the National Nuclear Security Administration.