Wellcome Open Research (Apr 2021)

BoneJ2 - refactoring established research software [version 2; peer review: 3 approved]

  • Richard Domander,
  • Alessandro A Felder,
  • Michael Doube

DOI
https://doi.org/10.12688/wellcomeopenres.16619.2
Journal volume & issue
Vol. 6

Abstract

Read online

Research software is often developed with expedience as a core development objective because experimental results, but not the software, are specified and resourced as a project output. While such code can help find answers to specific research questions, it may lack longevity and flexibility to make it reusable. We reimplemented BoneJ, our software for skeletal biology image analysis, to address design limitations that put it at risk of becoming unusable. We improved the quality of BoneJ code by following contemporary best programming practices. These include separation of concerns, dependency management, thorough testing, continuous integration and deployment, source code management, code reviews, issue and task ticketing, and user and developer documentation. The resulting BoneJ2 represents a generational shift in development technology and integrates with the ImageJ2 plugin ecosystem.