8-12 April 2013
The University of Manchester
GB timezone

Building sustainable software for science: why good code is only the beginning

10 Apr 2013, 16:20
Theatre (The University of Manchester)


The University of Manchester

Presentations Community Coordination and Communication (Track Lead: C Gater and S Andreozzi) Communities and Communication


Dr Simon Hettrick (Software Sustainability Institute)


The work described in this presentation has the following impact:

  • Improving Reuse

Academic researchers benefit from software - both their own and developed by others - that can be relied on and can be used as the basis of their research. Scientific software developers have a facility to assist them with the maintenance, expansion and exploitation of the codes. Commercial and public sector researchers have access to more robust software from the research sector, with the potential and incentive to contribute back.

  • Shaping Capability

In addition to the direct improvement of software through the effort of SSI staff, emphasis is placed on the transferral of skills between experts. The Software Carpentry initiative which we are coordinating in the UK is an example of this, growing a network of instructors supporting researchers in many communities but also providing expertise that others can tap into when further questions arise.

  • Defining policy

By disseminating the outputs of particular projects we are formalising best practice in the development of scientific software in collaboration with other groups internationally. In particular we have a close association with the NSF run Software Institutes for Sustained Innovation programme. The SSI's model is one of collaboration and partnership. We leverage our connections with international organisations, including the EGI, to amplify the impact of the software we help sustain. Software use is international, and policy must be integrated worldwide as well.

Ultimately, the impact of the SSI's work is to improve the competitiveness of researchers by making them more innovative and productive. What we strive for is better science through superior software.

About the Software Sustainability Institute

The Software Sustainability Institute is the UK's national facility for cultivating world-class research through software.

The Institute is based at the universities of Edinburgh, Manchester, Oxford and Southampton, and draws on a team of experts with a breadth of experience in software development, project and programme management, research facilitation, publicity and community engagement.

Our goal is to make it easier to rely on software as a foundation of research. We help people learn the skills needed to build better software, and ensure that people get credit and encouragement for developing sustainable software. We work with researchers, developers, funders and infrastructure providers to identify the key issues and best practice surrounding scientific software.

Our work is focussed around four themes we believe are fundamental to doing science properly in the digital age:
• Skills and Training: creating a capable research software community by enabling access to software development training for all researchers, giving them the methods to advance their research.
• Recognition and Reward: getting credit for good software development and reuse, as a first class research object
• Career Paths: recognising and championing the varied job roles associated with scientific software
• Reproducible Research: the fundamental place of software in supporting confidence in the research process and its results


[EPSRC11] “Software As An Infrastructure”, EPSRC Strategic Framework (draft for comment), Published online 24 November 2011,http://www.epsrc.ac.uk/SiteCollectionDocuments/ourportfolio/SoftwareAsAnInfrastructureDRAFT.pdf
[Han09] Hannay, Jo, et al., “How do scientists develop and use scientific software?” Proceedings of 2009 ICSE Workshop on Software Engineering for Computational Science and Engineering, p1-8, 2009 | doi: 10.1109/SECSE.2009.5069155
[Mer10] Merali, Zeeya, “Computational science: Error…why scientific programming does not compute”, Nature 467, 775-777 (2010) | doi:10.1038/467775a, Published online 13 October. 2010, http://www.nature.com/news/2010/101013/full/467775a.html
[NSF11] National Science Foundation Advisory Committee for Cyberinfrastructure Task Force on Software for Science and Engineering Final Report, March 2011 http://www.nsf.gov/od/oci/taskforces/TaskForceReport_Software.pdf
[Prlic12] Prlić A, Procter JB (2012) "Ten Simple Rules for the Open Development of Scientific Software". PLoS Comput Biol 8(12): e1002802. doi:10.1371/journal.pcbi.1002802
[Wil12] Wilson, Greg et al, "Best Practices for Scientific Computing". arXiv:1210.0530 [cs.MS]


There is huge investment in applications, tools and middleware services to support the different European research communities. However investment alone is not enough to ensure the construction and delivery of community platforms that enable extension, reuse and sustainability. What is even more striking is that having technically good code is not enough. This presentation describes the work of the Software Sustainability Institute and its international collaborators in supporting sustainable software for science, drawing on examples in different research communities including chemistry, climate policy and particle physics.


One of the most pressing issues for computational science is the creation of software and data that is sustainable and reusable. Today’s researchers are using more and more complex software stacks that are produced in increasingly ad hoc ways. Software development has become more and more common (current estimates state that 45% of scientists spend more time developing software now than they did 5 years ago), particularly within large scale projects which have a mix of research and software development roles. At the same time, stakeholders are asking researchers to consider their software sustainability as part of their data management plans, with “Software as Infrastructure” being adopted as a model. The management, curation and development of scientific software – which has often started life as a rough prototype – is a key area to support to enable high quality research.

This presentation focuses on the issues relating to the development, evolution and maintenance of software that can endure past the limited periods of defined project durations and project funding, and go beyond software engineering best practice to address aspects of cultural, organisational and policy change. It use examples of the Software Sustainability Institute's work collaborating with projects developing software in domains such as chemistry (software including TINKER, AMBER, AMOEBA, DMACRYS, DL_POLY, SIRE), climate policy (CIAS, Climascope), and particle physics (MAUS, ICAT) in international consortia to demonstrate that technical quality is merely one aspect of sustainable software. It presents a view of best practice from both academia and industry that can be shown to improve the majority of software projects. It also presents a view of where the groundswell in computational training (Software Carpentry), reproducible research, and open science provides a strong foundation for building sustainable scientific software.

URL http://www.software.ac.uk

Primary author

Neil Chue Hong (Software Sustainability Institute)


Dr Mario Antonioletti (EPCC, University of Edinburgh) Mike Jackson (The Software Sustainability Institute) Shoaib Sufi (MANCHESTER) Dr Simon Hettrick (Software Sustainability Institute) Stephen Crouch (University of Southampton) Tim Parkinson (University of Southampton)

Presentation Materials