Journal article 423 views 22 downloads
Improving Science That Uses Code
The Computer Journal, Volume: 67, Issue: 4, Pages: 1381 - 1404
Swansea University Author: Harold Thimbleby
-
PDF | Version of Record
©The Author(s) 2023. This is an Open Access article distributed under the terms of the Creative Commons Attribution License.
Download (1.11MB)
DOI (Published version): 10.1093/comjnl/bxad067
Abstract
As code is now an inextricable part of science it should be supported by competent Software Engineering, analogously to statistical claims being properly supported by competent statistics.If and when code avoids adequate scrutiny, science becomes unreliable and unverifiable because results — text, d...
Published in: | The Computer Journal |
---|---|
ISSN: | 0010-4620 1460-2067 |
Published: |
Oxford University Press (OUP)
2024
|
Online Access: |
Check full text
|
URI: | https://cronfa.swan.ac.uk/Record/cronfa63873 |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Abstract: |
As code is now an inextricable part of science it should be supported by competent Software Engineering, analogously to statistical claims being properly supported by competent statistics.If and when code avoids adequate scrutiny, science becomes unreliable and unverifiable because results — text, data, graphs, images, etc — depend on untrustworthy code.Currently, scientists rarely assure the quality of the code they rely on, and rarely make it accessible for scrutiny. Even when available, scientists rarely provide adequate documentation to understand or use it reliably.This paper proposes and justifies ways to improve science using code:1. Professional Software Engineers can help, particularly in critical fields such as public health, climate change and energy.2. ‘Software Engineering Boards,’ analogous to Ethics or Institutional Review Boards, should be instigated and used.3. The Reproducible Analytic Pipeline (RAP) methodology can be generalized to cover code and Software Engineering methodologies, in a generalization this paper introduces called RAP+. RAP+ (or comparable interventions) could be supported and or even required in journal, conference and funding body policies.The paper’s Supplemental Material provides a summary of Software Engineering best practice relevant to scientific research, including further suggestions for RAP+ workflows.‘Science is what we understand well enough to explain to a computer.’ Donald E. Knuth in A=B [ 1]‘I have to write to discover what I am doing.’ Flannery O’Connor, quoted in Write for your life [ 2]‘Criticism is the mother of methodology.’ Robert P. Abelson in Statistics as Principled Argument [ 3]‘From its earliest times, science has operated by being open and transparent about methods and evidence, regardless of which technology has been in vogue.’ Editorial in Nature [4] |
---|---|
Keywords: |
Computational Science, Software Engineering, reproducibility, scientific scrutiny, reproducible analytic pipeline (RAP & RAP+) |
College: |
Faculty of Science and Engineering |
Funders: |
This work was jointly supported by See Change (M&RA-P), Scotland (an anonymous funder), by the Engineering and Physical Sciences Research Council [grant EP/M022722/1], by the Royal
Academy of Engineering through the Engineering X Pandemic Preparedness Programme [grant EXPP2021\1\186] and by Assuring Autonomy International Programme, Assuring Safe AI in Ambulance Service Triage. The funders had no involvement in the research or in this paper. |
Issue: |
4 |
Start Page: |
1381 |
End Page: |
1404 |