Application of the OpenSSF Best Practices Badge Program to Scientific Software
Series: HPC Best Practices WebinarsThe Linux Foundation’s OpenSSF Best Practices Badge Program represents an impressive collection of the open-source community’s knowledge base for creating, maintaining, and sustaining robust, high-quality, and secure open-source software. At its foundation is a featureful “Badge App” website, which provides a database of projects that document what best practices they have adopted and supporting evidence. This set of best practices (along with the detailed documentation and supporting justifications for each item) also serve as an incremental learning tool and as a foundation for incremental software process and quality improvement efforts. This webinar will provide an overview of this effort and describe some of its surprising benefits. The webinar will also explain how the OpenSSF Best Practices Badge Program can be utilized to continue recent advances in software quality and sustainability efforts within the computational science and engineering community.
We also describe the experiences, challenges, and benefits from two HPC software projects, MPICH and Ginkgo, which have completed OpenSSF Best Practices passing badges. Developing and maintaining MPICH is a significant software engineering challenge, and the MPICH team has developed processes for testing, verification, collaboration, and community outreach. We will discuss the lessons learned from developing MPICH and how the OpenSSF best practices map to the MPICH project. We will also discuss how we achieved the OpenSSF badge for Ginkgo, and the process involved. In addition, will briefly discuss the benefits of the badge and its effects on sustainable software development.
Presenters
- Roscoe A. Bartlett (Sandia National Laboratories)
- Yanfei Guo (Argonne National Laboratory)
- Pratik Nayak (Technical University of Munich)
Presenter Bios
Roscoe A. Bartlett is a researcher and engineer in the Department of Software Engineering and Research at Sandia National Laboratories. He earned his PhD in chemical engineering from Carnegie Mellon University, where he researched numerical approaches for solving large-scale constrained optimization problems in chemical process engineering. At Sandia National Laboratories and Oak Ridge National Laboratory, he continued research and development in constrained optimization, sensitivity methods, and the design and integration of large-scale numerical software for computational science & engineering (CSE). Dr. Bartlett currently focuses on software engineering challenges in CSE, including the quantification and reduction of technical debt, as well as the application of generative AI to automate refactoring and test generation.
Dr. Yanfei Guo holds an appointment as a Computer Scientist at Argonne National Laboratory. He led the ECP Exascale MPI project and is a member of the MPICH team. His research interests include parallel programming models and runtime systems in extreme-scale supercomputing systems, data-intensive computing and cloud computing systems. Yanfei received the best paper award at the USENIX International Conference on Autonomic Computing 2013 (ICAC’13). His work on programming models and runtime systems has been published on peer-reviewed conferences and journals including the ACM/IEEE Supercomputing Conference (SC14, SC15) and IEEE Transactions on Parallel and Distributed Systems (TPDS). Yanfei has delivered talks and tutorials on MPI and MapReduce, including two tutorials on advanced MPI features, to various audience levels from university students to researchers. Yanfei served as a reviewer and technical committee member in many journals and conferences. He is a member of IEEE and ACM.
Pratik Nayak is a research scientist at the Technical University of Munich. He obtained his PhD from Karlsruhe Institute of Technology in the Computer Science department. His research interests include numerical linear algebra, algorithms and data structures for distributed computing, and sustainable software development. In his efforts to further sustainable software, he contributes to numerous open-source scientific software libraries and is also a core developer of the Ginkgo linear algebra library.