Socio-technical logics of correctness in the scientific software development ecosystem
Science increasingly depends on software. From configuration and control of instruments, to statistical analysis, simulation and visualization, virtually every workflow that generates scientific results involves software.1 In practice, scientific collaboration in a growing number of disciplines means drawing together different software artifacts produced in different ways, by different people, to build an ensemble artifact that does scientific work and, ultimately, provides reasons to believe scientific conclusions. In this position paper we present an understanding of the scientific software development ecosystem that is emerging from our interviews of working scientists who develop software in the course of their science. First we describe the types of software and software development being undertaken. We then focus in on three logics of correctness that have emerged from our interviews. We demonstrate that these logics are closely linked to the social circumstances of the software’s production and use and the type of software; these are socio-technical logics. We conclude by examining the implications of this understanding for shaping policies designed to maximize the return on the substantial public investments in scientific software production.