Software Engineering as Instrumentation for the Long Tail of Scientific Software
Daisie Huang, Hilmar Lapp

TL;DR
This paper discusses how applying software engineering principles can improve the usability and reusability of specialized scientific software, proposing a shared service model to lower barriers and enhance community adoption.
Contribution
It introduces the idea of a non-profit center of excellence providing shared software engineering services to support long tail scientific software development.
Findings
Community uptake of scientific tools is hindered by usability barriers.
Shared software engineering services can facilitate reuse and extension of scientific software.
A non-profit center could serve as a shared resource for improving scientific software quality.
Abstract
The vast majority of the long tail of scientific software, the myriads of tools that implement the many analysis and visualization methods for different scientific fields, is highly specialized, purpose-built for a research project, and has to rely on community uptake and reuse for its continued development and maintenance. Although uptake cannot be controlled over even guaranteed, some of the key factors that influence whether new users or developers decide to adopt an existing tool or start a new one are about how easy or difficult it is to use or enhance a tool for a purpose for which it was not originally designed. The science of software engineering has produced techniques and practices that would reduce or remove a variety of barriers to community uptake of software, but for a variety of reasons employing trained software engineers as part of the development of long tail…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsScientific Computing and Data Management · Research Data Management Practices · Software Engineering Research
