Project deliverable Open Access
Abraham, Mark; Bonvin, Alexandre; Melquiond, Adrien; Ippoliti, Emiliano; de Groot, Bert
This document reports on the planning within BioExcel WP1 for software- engineering tasks. It describes the current state of testing and quality assurance for the pilot codes CPMD, GROMACS and HADDOCK, and the GROMACS input- preparation software pmx. It also specifies the plans within BioExcel for implementing established best practices for software engineering processes while extending code usability, functionality and performance. These plans are intended to provide high value to the biomolecular simulation community that BioExcel serves by delivering effective and usable software that will be sustainable and portable through the transition to the exascale era. Aspects of engineering process that are useful to unify across the development sub-teams will be discussed first, and then a detailed description for each sub-team will follow, describing the current status and plans for the future where we have identified priorities for improvements to our development process.
There is a large range of reasonable practice in software engineering, and the efficacy of many of them is still under debate. Further, that efficacy varies with the kind of software being developed, the funding model, the team doing the development, and the risks acceptable to its users. Accordingly, this document does not attempt an exhaustive description of possible approaches, nor to determine which practices are best. It does refer to existing work in this area, and specifies how the BioExcel software developers have chosen to develop, test and assure the quality of their software.