The Nature of Technical Debt in Research Software
Neil A. Ernst, Ahmed Musa Awon, Swapnil Hingmire, Ze Shi Li

TL;DR
This study investigates the nature and impact of technical debt in research software through analysis of code comments and interviews with developers, revealing nine unique types and four influencing themes.
Contribution
It is the first comprehensive multi-method study characterizing technical debt in research software, identifying its types, manifestations, and effects on scientific research.
Findings
Nine types of technical debt unique to research software identified
Four themes influence the manifestation of technical debt
Analysis of 28,000 code comments and developer interviews conducted
Abstract
Research software (also called scientific software) is essential for advancing scientific endeavours. Research software encapsulates complex algorithms and domain-specific knowledge and is a fundamental component of all science. A pervasive challenge in developing research software is technical debt, which can adversely affect reliability, maintainability, and scientific validity. Research software often relies on the initiative of the scientific community for maintenance, requiring diverse expertise in both scientific and software engineering domains. The extent and nature of technical debt in research software are little studied, in particular, what forms it takes, and what the science teams developing this software think about their technical debt. In this paper we describe our multi-method study examining technical debt in research software. We begin by examining instances of…
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 · Software Engineering Research · Research Data Management Practices
