Collaborative Maintenance and Evolution of Scientific Software: Challenges, Practices, and Tool Support

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.

Publication Details

Journal
University Library (University of Saskatchewan)
Published
2025-01-01
Primary Topic
Scientific Computing and Data Management
Type
article
Field-Weighted Citation Impact
0.00

Funders

Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Collaborative Maintenance and Evolution of Scientific Software: Challenges, Practices, and Tool Support

University Library (University of Saskatchewan)
Scientific Computing and Data Management
article

Collaborative Maintenance and Evolution of Scientific Software: Challenges, Practices, and Tool Support

article en

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.

University Library (University of Saskatchewan)
Global Institute for Water Security, University of Saskatchewan, Canada First Research Excellence Fund, Natural Sciences and Engineering Research Council of Canada
Responsible consumption and production
Openalex Percentile: Top 32%
Scientific Computing and Data Management
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.