This article provides information about the work of the inaugural class of Better Scientific Software (BSSw) Fellows and their perspectives on the BSSw Fellowship Program.
Contributors: Lois Curfman McInnes, Jeff Carver, Ivo Jimenez, Daniel S. Katz, Andrew Lumsdaine
The main goal of the BSSw Fellowship Program is to foster and promote practices, processes, and tools to improve developer productivity and software sustainability of scientific codes. BSSw Fellows are selected annually based on an application process that includes the proposal of an activity that promotes better scientific software. As introduced in a prior BSSw blog article, the 2018 Fellows are working on a variety of impactful projects.
September 2018: The information below provides a snapshot of current work by the 2018 BSSw Fellows. We will periodically update this page as new resources become available. Register for the BSSw email list to be notified of upcoming activities and new resources by BSSw Fellows and the broader BSSw community.
2018 BSSw Fellows
University of Alabama, Professor, Computer Science
BSSw Focus: Contemporary peer code review in scientific software development: Contemporary peer code review is a lightweight, asynchronous method for ensuring high-quality code. While this practice has been shown to be beneficial to help developers identify and remove faults from code, it is underutilized in scientific software. To remedy this situation, this BSSw Fellowship supports the development and delivery of a hands-on tutorial, including an introduction to code review support tools commonly used in open-source and commercial software, such as Gerrit, Review Board, Phabricator, and Crucible. The tutorial includes a discussion of peer code review needs in scientific software, an overview of peer code review best practices, and hands-on code review exercises.
• Upcoming event: Contemporary Peer Code Review in Scientific Software Development, eScience 2018 tutorial, October 29, 2018
• Tutorial slides (pdf format): Contemporary Peer Code Review Practices, UCAR Software Engineering Assembly Conference, April 2018
• Check back for additional resources
Perspectives on the BSSw Fellowship Program: I wanted to be a BSSw Fellow because of the recognition such an honor gives me within the research software community. The BSSw organization provides visibility to an important segment of the population. While still early in the project, the connections that I have formed and are continuing to form are valuable in advancing my work on contemporary peer code review and in identifying future directions.
University of California Santa Cruz, Ph.D. candidate, Computer Science
BSSw focus: Generation of computational experimentation pipelines that are easy to re-execute and validate: Popper is a convention and command line interface (CLI) tool for conducting computational experiments and writing academic articles following an approach that allows researchers to automate the re-execution and validation of experiments. Using best practices in open-source software and DevOps (development and operations), Popper helps researchers organize artifacts associated with a scientific exploration inside a code repository such as Git. This BSSw Fellowship supports the creation of an online lesson on Popper, as well as the organization of several training activities to help domain scientists generate experimentation pipelines that are easy to re-execute and validate.
• Webinar recording and slides: Popper: Creating Reproducible Computational and Data Science Experimentation Pipelines, June 2018
• Check back for additional resources
Perspectives on the BSSw Fellowship Program: The goal of my work is improving the state of practice for computational experiments by teaching new generations more efficient approaches for carrying out scientific explorations. Through the BSSw Fellowship Program, I have been able to reach a broad audience and to create connections with people who have significantly enriched my professional network, and with whom I would have not had the chance to interact otherwise.
Daniel S. Katz
University of Illinois at Urbana-Champaign, Research Associate Professor, Computer Science, Electrical and Computer Engineering, and the School of Information Sciences
National Center for Supercomputing Applications, Assistant Director for Scientific Software and Applications
BSSw focus: Techniques for making scientific software more sustainable by providing credit to its developers via software citation: As a scientific software developer for 30 years and as a founder of Working towards Sustainable Software for Science: Practice and Experiences (WSSSPE), I want to use this opportunity as a BSSSw Fellow to make scientific software more sustainable by providing credit to its developers via software citation, similar to how scientists gain credit for their research via paper citations. I co-led the FORCE11 Software Citation working group, where we produced a set of software citation principles, and I’ve been co-leading the FORCE11 Software Citation Implementation working group, where we are working with publishers and others to implement these principles. One challenge is finding points of leverage on which to focus implementation activities. This fellowship provides an opportunity to work with specific conferences and communities as such leverage points.
• Blog post: BSSw Fellowship Activity: Promoting Software Citation, March 2018
• Webinar recording and slides: Software Citation Today and Tomorrow, April 2018
• Check back for additional resources
Perspectives on the BSSw Fellowship Program: I applied to be a BSSw Fellow because I saw this as an opportunity to extend some of the work I had started in software citation to have a larger impact, by encouraging new communities to include software citation as part of their professional culture. While this work is a slow activity, I feel that the fellowship has allowed me to help these communities move farther than they otherwise would have. I've enjoyed the experience of understanding the projects of the other fellows and getting better insight into ECP. Based on what I've learned, I suggest that prospective fellows think about how to expand something they are already doing and increase the impact of their work, rather than proposing something completely new.
Pacific Northwest National Laboratory, Fellow, Advanced Computing, Mathematics, and Data Division
University of Washington, Affiliate Professor, Computer Science
Northwest Institute for Advanced Computing, Chief Scientist
BSSw focus: Practices for high-performance and high-quality scientific software in modern C++: This BSSw Fellowship supports continued development and dissemination of a course on software construction for high-performance computing. The course emphasizes current best practices for high-performance and high-quality scientific software using modern C++ (up through C++17). Taking a careful slice of C++ focused on the needs of DOE application developers, the content includes performance-oriented topics such as pipelining, hierarchical memory, multithreading, and message passing. A unifying theme is the use of abstraction for expressiveness and for performance. Specific attention is paid to migrating from Fortran to C++ as well as from previous versions of C++.
• Course materials, including video lectures, slides, notes, assignments, and code, will be made available online.
Perspectives on the BSSw Fellowship Program: I became interested in becoming a BSSw Fellow because I believe in the mission of BSSw. Scientific software is an important tool for scientific discovery. By enabling scientists to be more effective and efficient with this tool, we are also enabling them to do more and better science. Being selected as a BSSw Fellow has been quite an honor and it has been an encouragement to develop educational materials with a specific focus on the unique needs of scientific software. Being a BSSw Fellow has been an opportunity to be on "the ground floor" with this important effort, and I look forward to participating long into the future. The impact you can make as a BSSw Fellow may be non-traditional, but it is nevertheless vitally important.
2018 BSSw Honorable Mentions
University of Illinois at Urbana-Champaign, Teaching Assistant Professor, Computer Science
Lawrence Livermore National Laboratory, HPC I/O Specialist, Livermore Computing
Marc Henry de Frahan
National Renewable Energy Laboratory, Postdoctoral Researcher
Argonne National Laboratory, Argonne Scholar, Argonne Leadership Computing Facility