
Related items loading ...
Section 1: Publication
Publication Type
Thesis
Authorship
Schneider, J. H.
Title
Collaborative Maintenance and Evolution of Scientific Software: Challenges, Practices, and Tool Support
Year
2025
Publication Outlet
University of Saskatchwan, Harvest, Graduate Theses and Dissertations
DOI
ISBN
ISSN
Citation
Abstract
Since the advent of modern computing, research scientists have utilized software systems to facilitate their research goals. As the cost of computation has rapidly decreased, the use of scientific software systems has increased. These systems are commonly developed and maintained by the scientists who use them. These scientists are domain experts in their field of study but are amateur software developers. They often lack any formal training in software development practices. Like any other software systems these scientific software systems require maintenance during their life cycle to stay useful to their user base. Due to their nature as tools of scientific inquiry, the maintenance of these software systems presents unique challenges that are not easily addressed by domain expert developers alone. As computer scientists we are in a unique position to have a positive influence on a myriad of other scientific disciplines. We can aid in the long-term maintenance and evolution of scientific software systems by providing support, techniques, and tools. However, these scientific systems require domain-specific knowledge to understand and ensure their usefulness for scientific work. Thus, it is important that domain-naive software developers and domain-expert researchers work collaboratively when developing, maintaining, and evolving these scientific software systems. This thesis contains an exploration of the challenges associated with the maintenance and evolution of scientific software systems. In particular I focus on how these challenges can be overcome with collaboration between domain experts and software developers. The contributions made by this thesis are: an experience report of the migration of the Cold Regions Hydrological Model (CRHM) from Borland C++ to the modern C++ standard including the examination of the challenges faced during such a migration, the design for the Domain Context Specific Knowledge tool (DoCSK) which address the challenge of knowledge transfer between domain-naive developers and domain experts when collaboratively working with scientific software, an investigation applying this tool to three varied scientific software systems, and a within-subjects study of this tool’s performance aiding developers while attempting to comprehend code from an unfamiliar scientific domain. The results of the investigation into various subject systems show that the DoCSK tool can provide domain-context knowledge to a domain-naive developer in each of the studied domains of hydrology, genomics, and radio astronomy. The results of the within-subjects study show that the DoCSK tool reduces demands on developers when they comprehend domain-specific code. The DoCSK tool shows potential to be a program comprehension aid that can be applied widely to help developers work with domain-specific scientific software more efficiently.
Plain Language Summary