EPSRC logo

Details of Grant 

EPSRC Reference: EP/L000342/1
Title: Funding for CCPForge and software engineering support for research computing
Principal Investigator: Jones, Mrs C
Other Investigators:
Researcher Co-Investigators:
Project Partners:
Department: Scientific Computing Department
Organisation: STFC Laboratories (Grouped)
Scheme: Standard Research
Starts: 01 August 2013 Ends: 28 February 2019 Value (£): 861,333
EPSRC Research Topic Classifications:
Software Engineering
EPSRC Industrial Sector Classifications:
No relevance to Underpinning Sectors
Related Grants:
Panel History:  
Summary on Grant Application Form
This project will provide 3 services:

* CCPForge.

* A buildbot service.

* The QA tools server.

In addition there will be a software engineering support initiative which involves identifying

relevant software engineering tools and techniques for the computational science community, and

training and dissemination of the information.

Together these four strands will mark a step change in the availability of QA

tools and continuous testing service and, with seminars and training workshops, also the uptake of

these ideas into development processes.


The CCPForge component of the project has two parts: running the service and developing the

service. Both are essential to providing a good service and though the users will most obviously see

the developments, they will quickly notice if the responsiveness and availability of the service is not

to their liking.

The current CCPForge service offers a first step for projects wishing to use software engineering tools

and techniques in the their development process. This project will extend the range of tools available

via CCPForge to include specific quality assurance tools and allow certain pre-defined tasks to be run

quickly and simply from the web pages with the results stored and retrievable for use in collaborative

development decisions. A QA tools plug-in will be developed to provide this functionality.


Buildbot (http://trac.buildbot.net/) is a means by which a testing regime can be set up to run

tests easily given a specific trigger. A trigger may be a particular time of day - a regression test suite

is run each night for example, or a repository check-in - check that the code still compiles, or a manual

user initiated action. The tests can be of any sort provided whatever is run can provide pass/fail


We will create a buildbot service that comprises a master which can respond to triggers from CCPForge

and a small set of slave machines that deliver Linux, Windows and MacOS environments with compilers

and support libraries. We will look for large scale HPC and novel architecture machines to join the pool of


For projects on CCPForge we will create a buildbot plug-in which provides an easy to use interface

for creating triggers, specifying how the tests are to be run, and having access to results in the buildbot

format from the master and a simple pass/fail indicator.

Training will be available in both on-line and workshop form including hands on sessions.

QA Tools Server

The aim of this activity is to make it easier for computational scientists to use software engineering

tools and techniques. By integrating the QA tools and buildbot with CCPForge we will achieve this

aim. However, by making tools simple to use through a web interface we sacrifice the full features of

some tools. Once the software engineering habit has been inculcated through CCPForge we expect

that users will want to know what more they can do and this is where the QA tools server comes in.

By collecting the tools in one place and writing comprehensive tutorial material we will provide an

advanced service offering the full functionality of the tools as well as common use cases for the tools

that are easy to run.

Software Engineering Support

We will take up the challenge of finding relevant software engineering ideas for the modern and expanding

computational science community as well as as well as for those dealing with legacy code. Specific

requirements will be fleshed out by holding user meeetings with CCP developers and others in the

community to identify their needs both in terms of languages and the sorts of tools that would be useful.

The tools and techniques that are identified will feed into the other services and information and training

on the tools will be provided as reports and via workshops and seminars.
Key Findings
This information can now be found on Gateway to Research (GtR) http://gtr.rcuk.ac.uk
Potential use in non-academic contexts
This information can now be found on Gateway to Research (GtR) http://gtr.rcuk.ac.uk
Description This information can now be found on Gateway to Research (GtR) http://gtr.rcuk.ac.uk
Date Materialised
Sectors submitted by the Researcher
This information can now be found on Gateway to Research (GtR) http://gtr.rcuk.ac.uk
Project URL:  
Further Information:  
Organisation Website: