Mutations and metamorphics: Good software development practices for bioinformaticians — ASN Events

Mutations and metamorphics: Good software development practices for bioinformaticians (#41)

Michael Charleston 1
  1. University of Sydney, Camperdown, NSW, Australia

Software that has not been tested cannot be regarded as reliable, yet there is a mass of bioinformatics software available whose testing is unclear, or even absent.  It is common to see journal articles that "test" performance of an algorithm or an implementation by pitting programs against each other and using secondary measures of quality: score of a function, memory footprint, time taken, number of contigs --- and so on.

Software testing can be broadly divided into verification --- that a program is doing what we intended it to do, and validation , that our intention was correct in the first place.  It is more common to see validation of software, by such means as direct comparison across implementations, yet comparatively rare to see verification, which must be based on tests of output correctness.  But perhaps that's not so surprising: computationally complex bioinformatics problems must often be solved with heuristics, which may even include a stochastic element.  Testing programs that can have varying output given the same input clearly, therefore, presents significant challenges.


This talk outlines some practices that we can use to test correct execution of bioinformatics software, both treating programs as "black boxes" in the case where source code is not available, or as more transparent ones, when we can inspect the code directly.  I will present some work we have completed on some published and very commonly used phylogenetics software