BSSw Fellowships provide resources and community support to those who foster and promote practices, processes, and tools to improve developer productivity and software sustainability of scientific codes.
During their tenure, 2018 BSSw Fellows have used their skills — in code review, reproducibility, software citation, and modern C++ — to create tutorials, webinars, and tools that help tackle challenges in scientific software development and sustainability. Here's more about what they have been up to.
Fellows improve code quality
Even the most seasoned code developer can spend countless hours tracking down a bug that could have been caught with peer code review.
BSSw Fellow Jeffrey Carver modernizes scientific software quality assurance by teaching contemporary peer code review in scientific software development. His tutorial includes a general introduction to code review, a more specific discussion of the unique nature of scientific code review, and an overview of available tool support. Tutorial attendees participate in hands-on exercises to practice code review. The tutorial concludes with a group discussion about best practices for performing scientific code review. Learn more about peer code review through his tutorial website (including slides): Contemporary Peer Code Review Practices, from the 2019 Annual Meeting of the DOE Exascale Computing Project.
Jeff is a professor of computer science at the University of Alabama. Contact Jeff if you are interested in hosting a tutorial and developing code review in your organization.
Fellows enable reproducible computational research
If you can’t repeat your experiments and others can’t reproduce your results, it is difficult to claim with confidence that your experiments have advanced science.
BSSw Fellow Ivo Jimenez created Popper, a tool to automate computational experimentation, organize artifacts, and validate results to enable high standards of reproducibility in computational research. He created an online lesson on Popper and delivered several training activities to help domain scientists generate experimentation pipelines that are easy to re-execute and validate. Learn more about Popper through his webinar recording and slides: Popper: Creating Reproducible Computational and Data Science Experimentation Pipelines, June 2018.
Ivo is a Ph.D. student in computer science at the University of California, Santa Cruz.
Fellows give software developers long-overdue credit
Paper citations are tracked to measure impact; similarly, software citations should be tracked to measure impact and recognize the significant time spent developing software and data.
BSSw Fellow Daniel S. Katz developed principles for software citation to make scientific software more sustainable by providing credit to its developers, similar to research via paper citations. He led working groups to produce the principles, and he is currently working with publishers on implementation in institutionalized citation practices. Learn more about software citation through his webinar recording and slides: Software Citation Today and Tomorrow, April 2018.
Dan is a research associate professor of computer science at the University of Illinois at Urbana-Champaign and Assistant Director for Scientific Software and Applications at the National Center for Supercomputing Applications.
Fellows guide efficient use of modern C++
Just because a programming language allows various approaches doesn’t mean that you should use them; programming is an art that should consider quality, sustainability, and performance.
BSSw Fellow Andrew Lumsdaine has developed best practices for high-performance and high-quality software using modern C++ (up through C++17). His course materials include performance-orientated topics and migration from Fortran or previous versions of C++. Learn more about high-performance modern C++ through an upcoming webinar (June 2019) in the series HPC Best Practices for HPC Software Developers.
Andrew is a fellow at Pacific Northwest National Laboratory, affiliate professor of computer science at the University of Washington, and chief scientist at Northwest Institute for Advanced Computing.
Learn more about the BSSw Fellowship program
BSSw Fellows are selected annually based on an application process that includes the proposal of a funded activity that promotes better scientific software. See more about the BSSw Fellowship Program and work under way by the 2019 BSSw Fellows. We will begin accepting applications for 2020 BSSw Fellowships during September 2019. Register for the BSSw mailing list to receive information.
Author bio
Hai Ah Nam is coordinator of the BSSw Fellowship Program, a member of the IDEAS-ECP team, and a computational physicist at Los Alamos National Laboratory. Her background includes computational low-energy nuclear physics, large-scale scientific computing, and high-performance computing. She is leading the Trinity Center of Excellence, helping improve critical NNSA Advanced Simulation and Computing (ASC) codes for Trinity and future architectures. She is an advocate for developer productivity and software sustainability and has been one of the organizers of the DOE Performance, Portability and Productivity Annual Meetings for three years.