> I've often heard it said that research code doesn't need as much unit
> testing or code review as scientific code, but it isn't obvious to me
> that the consequences of error are less in research code.  Or better
> put, it is obvious to me that that is so, but that is not a sign of
> good health in our publishing system.

A nice observation.

My experience is that most research code could benefit from from
additional unit testing and code review, and that the _likelihood_(*)
of error is at least as great as in more formally developed scientific
code and industrial code, but the cost/benefit and consequence drivers
don't currently make it seem sensible to most people developing
research code.

This may be changing - as more peer reviewers ask for code as part of
the review it will shift, as would a greater benefit from people
entering into collaboration because you've made your code available.
As others have said, this makes it more "effort sensible" to put in
place more formal onboarding and development processes.

Best regards,
Neil

(*) Whilst I have a reasonable base of experience to say that most
research code can benefit from additional unit testing and code review
(as when we collaborate with groups we find bugs that would have been
caught by both), it's much harder to measure whether the consequence
of an error is more or less in a research code than a production
scientific code or a commercial code. As with any error, it will be
dependent on the location of the error, its effect and the number of
users affected. And number of users affected tends to be tricky for
research codes as there are unseen dependencies (e.g. the researcher
who bases their hypothesis on something you wrote in a paper which
happens to have a mistake due to an error in your research code).

-- 
Neil Chue Hong
Director, Software Sustainability Institute
EPCC, University of Edinburgh, JCMB, Edinburgh, EH9 3FD, UK
Tel: +44 (0)131 650 5957
http://www.software.ac.uk/

LinkedIn: http://uk.linkedin.com/in/neilchuehong
Twitter: http://twitter.com/npch
ORCID: http://orcid.org/0000-0002-8876-7606

_______________________________________________
Discuss mailing list
[email protected]
http://lists.software-carpentry.org/mailman/listinfo/discuss_lists.software-carpentry.org

Reply via email to